Schnellere Mobile-Apps

App Performance testen und optimieren

| Autor / Redakteur: Christian Rentrop / Stephan Augsten

Die App-Geschwindigkeit ist ein entscheidender Faktor für die Nutzererfahrung.
Die App-Geschwindigkeit ist ein entscheidender Faktor für die Nutzererfahrung. (Bild: Viktor Hanacek - Picjumbo.com / CC0)

Keiner mag langsame Apps. Gerade auf dem Smartphone stellen User hohe Ansprüche an die App-Performance: Inhalte sollen sofort da sein, Office-Anwendungen und Spiele sofort auf dem Bildschirm erscheinen. Es ist wichtig, die Geschwindigkeit der App zu optimieren, damit sie nicht gleich wieder deinstalliert wird.

Smartphone-Apps sind das Rückgrat vieler mobiler Geschäftsmodelle. Umso wichtiger ist es, dass die App den User bereits in der ersten Sekunde beeindruckt. Dabei geht es nicht nur um schickes Design und kluge Funktionen; nein, auch die Geschwindigkeit zählt. Denn nichts hassen Mobilnutzer mehr, als eine langsame App.

Einerseits lässt sie das teure Smartphone im wahrsten Sinne des Wortes alt aussehen, was vielen Usern sauer aufstößt. Andererseits suggeriert Langsamkeit auch immer hohe CPU-Last und damit hohen Energieverbrauch – noch so eine Sache, auf die mobile Nutzer tunlichst verzichten wollen.

Geschwindigkeit ist ein Usability-Faktor

Und dann gibt es noch den dritten Faktor: Die Usability. Denn ist die App langsam, reagiert möglicherweise träge auf Eingaben und braucht sehr lange, um Inhalte zu laden oder zu berechnen, springen Anwender in aller Regel ab.

Insbesondere gilt dies vor dem Hintergrund, dass Apps und die damit verbundenen Services zumeist keine einzigartigen Geschäftsmodelle darstellen. Der Mitbewerber mit seiner im Zweifel besser programmierten App ist in den App-Stores immer nur einen Klick entfernt. Von daher sollten App-Entwickler darauf achten, dass ihre App immer möglichst schnell arbeitet.

Zahlreiche Endgeräte bedienen

Wo ein Problem liegt, ist allerdings nicht unbedingt offensichtlich. Das Problem – gerade im Android-Universum – ist die Vielzahl der möglichen Endgeräte, die noch dazu höchst unterschiedliche Leistungsdaten haben: Prozessorkraft und -kerne sind dabei natürlich ebenso ein Geschwindigkeitsfaktor wie Bildschirmauflösung oder Arbeitsspeicher. Ja, sogar die Qualität des im Smartphone verbauten Festspeichers kann sich auf die App-Geschwindigkeit auswirken.

So kann es passieren, dass eine App, die auf einem Smartphone wunderbar flott arbeitet, auf dem anderen träge vor sich hin ruckelt. Nun: Kein App-Entwickler kann sich alle denkbaren Geräte für einen Test anschaffen – vielmehr ist es sinnvoll, auf Tools und Methoden zum App Performance Testing zu setzen und grundsätzliche Regeln zur Performance-Optimierung zu beachten.

Maximale Responsivität erzielen

Das Ziel einer jeden App-Entwicklung muss deshalb natürlich sein, ein bestmögliches Benutzererlebnis zu schaffen. Das bedeutet, dass die App möglichst schnell auf User-Eingaben reagieren muss. Diese Responsivität ist nicht mit der eigentlichen (Rechen-)Performance zu verwechseln.

Eine App darf sich gegebenenfalls auch auf langsameren Geräten ein wenig Zeit nehmen. Wichtiger ist, dass der User das Gefühl hat, dass die App sofort auf seine Eingaben reagiert: Er wird dann eventuelle Ladezeiten in Kauf nehmen und mit seinem langsamen Endgerät oder einer schlechten Verbindung erklären – und nicht mit schlechter App-Programmierung.

Design grundsätzlich für langsamere Geräte optimieren

Schon beim App-Design sollte zudem berücksichtigt werden, dass es langsamere und schnellere Geräte auf dem Markt gibt. Auch wenn der Einsatz aller Technologien des aktuellen Top-Geräts samt aktuellstem Betriebssystem reizt: Die meisten User besitzen Mittelklasse-Hardware oder sogar alte Geräte mit zum Teil länger nicht aktualisiertem Betriebssystem.

Die breite Masse der User, die eben nicht jedes Jahr ein neues Smartphone anschafft, darf also nicht ausgeklammert werden. Entwickeln und optimieren Sie deshalb für den Durchschnitt, nicht für Top-Geräte. High-End-Hardware können Sie aber natürlich Sonderfunktionen spendieren.

Häufig benutzte Elemente bevorzugen und optimieren

Schaltflächen, Steuerknöpfe und grafische Elemente dürfen in keiner App fehlen. Diese sollten in jeder App absolute Priorität haben und dementsprechend leichtgewichtig angelegt werden. Gleichzeitig sollte auch die Basis-Funktionalität und die für den Grundbetrieb nötigen Bibliotheken und APIs zuerst geladen werden.

So ist die App funktionsbereit, bevor alles im Speicher ist, was sich gerade auf alter Hardware positiv auf die User-Erfahrung auswirken kann. Verzichten Sie auf unnötigen Eye-Candy und setzen Sie lieber auf puristische Funktion: Simple Flat-Design-Buttons sind zum Beispiel leichtgewichtig und per CSS oder als leichtgewichtige Grafik generierbar – und damit anderen Designs vorzuziehen.

Funktionsszenarios mit verschiedenen Netzwerk-Geschwindigkeiten testen

Einige Apps laden im Betrieb viele Daten von einem Webserver – etwa Karten-Apps oder manche Spiele. In solche Fällen ist es dringend angeraten, die App auch unter verschiedenen Verbindungsqualitäts-Szenarios zu testen.

Die Bandbreite reicht von der maximalen Geschwindigkeit in einem schnellen WLAN bis hinunter zu den traurigen Datenverbindungen, wenn das Inklusiv-Volumen der Mobilfunkverbindung aufgebraucht ist, also 64, 32 und bei manchen Providern sogar nur 16 Kilobit. Man darf nicht unterschätzen, wie viele User monatlich in die Limits krachen – und sollte die Server-Daten dementsprechend optimieren. Virtuelle Netzwerke können dabei helfen.

Firmeninternen Beta-Test durchführen

Wenn die App endlich einsatzbereit ist, sollten weitere Performance-Probleme durch einen firmeninternen Beta-Test aufgespürt werden. Nichts ist effektiver als ein Test im täglichen Gebrauch – und nur so lassen sich potentielle Probleme schnell aufspüren.

Ihre Mitarbeiter werden Ihnen nicht nur Feedback geben, das Ihnen den Blick über den Tellerrand erlaubt: Sie werden auch mit zahlreichen Endgeräten auffahren, die Sie bei der Entwicklung möglicherweise gar nicht in Betracht gezogen haben. So können Sie Performance-Probleme mit bestimmten Providern, Bibliotheken oder Prozessoren mit hoher Wahrscheinlichkeit aufspüren und anschließend beseitigen.

Verfügbare Testing-Tools nutzen

Zu guter Letzt ist es natürlich unumgänglich, vorhandene Testing-Tools zu nutzen. Da wären zum einen die Performance-Testing-Funktionen von Apple und Google in Form der Entwicklungsumgebungen Android Studio und Xcode:

  • Google bietet mit Android Monitor eine erstaunlich leistungsfähige Logging-Lösung, mit der Sie nicht nur die Hardware-Last, sondern auch den Netzwerkverkehr analysieren können. Potentielle Performance-Killer lassen sich so leicht aufspüren und mit Hilfe der Android Debug Bridge (ADB) beseitigen.
  • Apple bietet mit Instruments innerhalb der Xcode-Suite eine vergleichbare Lösung, die aber im Detail noch weiter geht und zum Beispiel auch bei der Analyse des Energieverbrauchs oder von Zugriffen auf bestimmte Hardware-Funktionen hilft.

Externe Analyse-Lösungen einsetzen

Zudem gibt es eine Reihe externer Tools, mit denen Sie die Performance Ihrer App optimieren können. Wenn Sie zum Beispiel auf eine Hybrid-App setzen, die Daten aus dem Web wiedergibt, ist es sinnvoll, auch die nachgeladenen Inhalte zu analysieren: Dabei helfen Tools wie YSlow oder auch Googles Pagespeed-Insights. Allerdings sind vor allem die Pagespeed-Ergebnisse mit Vorsicht zu genießen, geben sie doch für Google relevante Faktoren wieder und nicht zwingend die tatsächliche Performance der Website.

Bilder optimieren

Ebenfalls praktisch, nicht nur bei Web- und Hybrid-Apps, sondern bei Apps mit Grafiken im Allgemeinen: Bild-Optimierer wie ImageOptim oder FileOptimizer. Denn geringere Dateigrößen bedeuten immer auch kürzere Ladezeiten – und die sorgen immer für eine schnellere Nutzererfahrung.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44613548 / Mobile Apps)