Optimierung für die Nutzung im Mobilfunknetz
04. Juli 2018
Veröffentlicht in:
WebentwicklungMachen Sie Ihren Web-Auftritt fit für mobile Endgeräte
Immer mehr Menschen nutzen ein Smartphone oder Tablet. Während bei jungen Menschen die Nutzungsquote nahezu bei einhundert Prozent liegt, hat auch bei Senioren der Gebrauch mobiler Endgeräte stark zugenommen. Durch die einfache Bedienung, zahlreiche Apps und die sozialen Netzwerke sind aus dieser Kommunikationstechnologie ein alle Bereiche durchdringender Massenmarkt geworden.
Dabei werden auch immer mehr Webseiten von mobilen Geräten aufgerufen. Nutzer und Konsumenten surfen in immer größerer Zahl mobil und so gilt es, die mobilen Nutzererfahrung an die Bedürfnisse dieser Menschen anzupassen. Der Druck, erstklassige Online-Erlebnisse zu schaffen, steigt zunehmend. So brechen zum Beispiel rund die Hälfte aller Benutzer Ihren Besuch ab, wenn das Laden der Webseite länger als drei Sekunden dauert. Um im mobilen Netz erfolgreich zu sein, müssen Anbieter Ihren Nutzern unabhängig vom Gerät, ein hochwertiges Online-Erlebnis vermitteln. Andernfalls leidet die Kundenzufriedenheit und das Unternehmen riskiert Umsatzverluste oder gar den Ruf der Marke.
Die Nutzung in den mobilen Netzen stellt neue und einzigartige Anforderungen an die Strategie der heutigen Web-Auftritte. Die Entwicklung von Anwendungen für das mobile Internet erfordert neben einer sorgfältigen Planung auch die Berücksichtigung der Gerätegrenzen bei der Präsentation der Inhalte. Dabei sind neben den Leistungseigenschaften der mobilen Netzwerke auch beispielsweise die Auswirkungen auf die Akkuleistung zu beachten.
Die Ebene der Präsentation, mit Themen wie Responsives Design, erhält zurzeit die größte Aufmerksamkeit, da dieser Bereich relativ gut zu steuern ist. Für das Bereitstellen von performanten Anwendungen muss auch die Architektur der Netzwerke berücksichtigt werden. Die verwendeten Übertragungsprotokolle innerhalb der Netze sind zwar gleich, aber in den unterschiedlichen physischen Übermittlungsebenen gibt es eine Reihe von Unterschieden und Einschränkungen. Wenn lange Antwortzeiten bei der Übertragung nicht berücksichtigt werden, führt das zu einer nicht optimalen Nutzererfahrung und wirkt sich zudem auch negativ auf die Akkulaufzeit des mobilen Gerätes aus.
Der Präsentationslayer variiert für jede Plattform und jede Anwendung. Im Fokus dieses Beitrags stehen deshalb die universellen Einschränkungen von Mobilfunknetzen hinsichtlich der Datenübertragung und der Akkulaufzeit von mobilen Endgeräten. Die Diskussion über die Leistung der Mobilfunknetze gilt für alle nativen Anwendungen, gleichgültig welche Plattform, Anwendungen oder Browser verwendet wird.
Periodische und nicht effiziente Datenübertragung vermeiden
Unabhängig von der Menge der zu übertragenden Daten wendet ein mobiles Endgerät eine bestimmte Menge an Energie zum Hochfahren in den vollen Leistungszustand auf. Ständiger Netzwerkzugriff und periodische Transfers gehören zu den nicht effizienten Datenübertragungen und sollten vermieden werden.
Push-Übermittlungen mit niedriger Frequenz sind im Allgemeinen effektiver als einzelne Abfragen. Werden Updates in Echtzeit benötigt, sollte ein Aktivierungsintervall gewählt werden, das den Erwartungen des Benutzers entspricht. Anstelle eines festen Intervalls kann auch eine adaptive Strategie verwendet werden. Oft lassen sich eingehende und ausgehende Anforderungen zu wenigen Netzwerkaufrufen zusammenfassen. Ständige Netzwerkzugriffe verursachen letztlich hohe Latenzzeiten, bei denen sich die Millisekunden schnell zu größeren Zeitabschnitten summieren.
Eine Strategie, bei der mehrere Benachrichtigungen zu einer einzigen Push-Nachricht zusammengefasst werden, sollte von einer Benutzereinstellung und sogar vom Ladezustand des Akkus abhängig sein. Dadurch lässt sich das Leistungsprofil jeder Anwendung, insbesondere der Hintergrundanwendungen, erheblich verbessern. Ständige Ping-Abfragen und Echtzeit-Analysen können die Akku-Optimierung schnell zunichtemachen. In kabelgebundenen und WLAN-Netzwerken sind Ping-Abfragen völlig harmlos, in mobilen Netzwerken sind diese ungünstig. Es gibt jedoch eine gute Möglichkeit, die Abfragen zurückzustellen, bis das mobile Gerät wieder aktiv ist.
Der Verbindungsaufbau und Lebenszyklus einer TCP- oder UDP-Verbindung ist unabhängig vom Funkstatus des mobilen Gerätes. So kann sich zum Beispiel ein Gerät bei niedrigem Energieverbrauch im Schlafmodus befinden, während die Verbindung zum Mobilfunknetz aufrechterhalten wird. Kommt ein neues Paket von einem externen Netzwerk an, wird das mobile Gerät veranlasst den Schlafmodus zu verlassen und die Datenübertragung wieder aufzunehmen. Anwendungen, die ein Mobilgerät aktiv halten, um sicherzustellen, dass eine Verbindung nicht unterbrochen wird, beeinträchtigen die Akkulaufzeit sehr stark und sollten vermieden werden.
Die Netzwerklatenz berücksichtigen
Eine einzige HTTP-Anforderung für eine erforderliche Ressource kann in einem mobilen Netz zu einer Latenz von mehreren Hundert Millisekunden führen. Das liegt einmal an der hohen Paketumlaufzeit (Round Trip Time), das ist die Zeit, die ein Signal benötigt, um von der Quelle zum Ziel und wieder zurückzukommen. Außerdem kann es zu einem Overhead auf der DNS- oder TCP-Steuerungsebene kommen.
Im günstigsten Fall befindet sich ein mobiles Gerät bereits im Zustand hoher Leistung, dass DNS ist aufgelöst und eine TCP-Verbindung ist verfügbar. Der Client kann eine bestehende Verbindung wieder verwenden, sodass nur geringer Aufwand für die neue Verbindung erforderlich ist. Wenn die Verbindung jedoch besetzt oder nicht vorhanden ist, müssen zusätzliche Round Trips durchgeführt werden, bevor die Anwendungsdaten gesendet werden können.
Um einen Funkkontakt in einem mobilen Netz wiederherzustellen, kann es zu einem Overhead von Hunderten bis Tausenden Millisekunden führen. Sobald das Mobilgerät aktiv ist, müssen möglicherweise der Hostname in eine IP-Adresse aufgelöst und ein TCP-Handshake durchgeführt werden. Ist kein sicherer Tunnel vorhanden, werden möglicherweise zwei weitere Roundtrips im Netzwerk erforderlich. Selbst wenn man die Antwortzeiten des Servers nicht berücksichtigt, die ebenfalls mehrere Roundtrips erfordern, addieren sich die Latenzzeiten in mobilen 3G-Netzen schnell zu einer Sekunde, in 4G-Netzen zu einer halben Sekunde.
Ist ein Mobilfunkgerät länger als ein paar Sekunden inaktiv, kann man davon ausgehen, dass für das erste Paket Latenzzeiten von bis zu einigen tausenden Millisekunden entstehen können. Das Radio Ressource Control (RRC), ein Protokoll für die Steuerung der Stromressourcen, wurde entwickelt, um die Betriebskosten stromhungriger Sender zu reduzieren. Der dadurch gewonnen Batterielebensdauer steht eine Zunahme der Latenz und ein geringerer Durchsatz gegenüber. Wer also eine für die Nutzung im mobilen Netz optimierte Anwendung erstellen möchte, sollte die Eigenschaften des RRC-Protokolls berücksichtigen.
Akkuressourcen sparen
Bei mobilen Geräten ist das Einsparen von Strom für alle Beteiligten ein wichtiges Anliegen. Gerätehersteller, Netzbetreiber, Anwendungsentwickler und Endbenutzer nutzen die vielen Möglichkeiten, um den Stromverbrauch zu senken. Doch die echten Stromfresser laufen oft im Hintergrund und einige davon lassen sich sogar nur schwer deaktivieren. Es liegt auf der Hand, dass die Leistung in Mobilfunknetzen stark mit der Akkulaufzeit verbunden ist. Tatsächlich sind die physikalischen Schichten der Funkschnittstelle speziell dafür ausgelegt, die Batterielebensdauer unter folgenden Einschränkungen zu optimieren:
- Der Strombedarf steigt mit jeder Generation mobiler Netze
- Die Kapazität eines Akkus reicht bei voller Leistung nur wenige Stunden
- Der größte Stromfresser ist der Bildschirm
- Hohe Temperaturen beeinträchtigen die Akkuleistung
Vor diesem Hintergrund sollte eine mobile Anwendung darauf abzielen, die Benutzung des Bildschirms und der Funkschnittstelle zu minimieren - auch wenn die meisten Anwendungen natürlich auf die Verwendung des Netzes angewiesen sind. Mit Rücksicht auf die Batterielebensdauer sollte die Übertragung der Daten möglichst angestoßen werden, während das Funkgerät eingeschaltet ist.
Variable Netzschnittstellen erhöhen den Durchsatz
Benutzer mögen keine langsamen Anwendungen, aber unterbrochene Anwendungen aufgrund von vorübergehenden Netzwerkfehlern sind die schlimmste Erfahrung von allen. Eine mobile Anwendung sollte robust gegenüber häufigen Netzwerkausfällen wie nicht erreichbare Hosts, plötzliche Durchsatzeinbrüche oder höhere Latenzzeiten oder direkter Verbindungsverlust sein. Anders als die Draht-gebundene Welt kann man in Mobilfunknetzen nicht einfach davon ausgehen, dass eine einmal hergestellte Verbindung auch bestehen bleibt. Ein Benutzer ist möglicherweise unterwegs und kann in einen Bereich mit vielen aktiven Benutzern, einer schlechten Abdeckung oder vielen Störungen eintreten.
Ebenso wie Entwickler Ihre Seiten nicht nur für die neuesten Browser entwerfen können, besteht auch keine Möglichkeit Anwendung nur für die neuesten Mobilfunknetze zu entwerfen. Selbst Benutzer mit dem neuesten Mobiltelefonen werden kontinuierlich zwischen 4G-, 3G- und sogar 2G-Netzen wechseln. Das liegt an den sich ständig ändernden Bedingungen der Funkumgebung. Eine Anwendung sollte diese Schnittstellenübergänge durch entsprechende Anpassungen ermöglichen.
Veränderungen sind die einzige Konstante in Mobilfunknetzen. Die Qualität des Funkkanals hängt von der Entfernung zur nächsten Basisstation, der Menge an Benutzern, den Umgebungsinterferenzen und vielen anderen Faktoren ab. In Anbetracht dessen ist es zwar verlockend, verschiedene Formen der Bandbreiten- und Latenzschätzung durchzuführen, um eine mobile Anwendung zu optimieren. Die Ergebnisse sollten jedoch bestenfalls als vorübergehende Anhaltspunkte behandelt werden.
Ende-zu-Ende-Bandbreiten- und Latenzschätzungen sind in jedem Netzwerk ein Problem, in mobilen Netzen jedoch besonders. Verwenden Sie stattdessen nur annähernde Informationen und passen Sie den Code entsprechend an. Neben Durchsatz und Latenzzeit sollten Sie auch den Verlust der Verbindung mit einplanen, denn das ist leider keine Ausnahme, sondern häufig die Regel. Ihre Anwendung sollte auch betriebsbereit bleiben, wenn das Netzwerk nicht verfügbar ist oder ein vorübergehender Fehler auftritt. Um Ihre Anwendung an die spezifischen Fehler anzupassen, sollten folgende Empfehlungen berücksichtigt werden:
- Legen Sie wichtige Daten in einem Zwischenspeicher ab
- Verteilen Sie die Anfragen
- Planen Sie das Auftreten vorübergehender Fehler mit ein und verwenden Sie eine Wiederholungsstrategie
- Erkunden Sie den Verbindungsstatus und entwerfen Sie die beste Anforderungsstrategie
- Verwenden Sie einen Backoff-Algorithmus für Anforderungsversuche
- Senden Sie die Anfrage, wenn Sie (wieder) online sind
- Nutzen Sie den HTML5 AppCache und localStorage für den Offline-Modus
Streaming von Anwendungen in mobilen Netzwerken
Streaming-Anwendungen in Mobilfunknetzen sind eine weitere Herausforderung. Wenn Sie einen großen Download durchführen und sicher sein müssen, dass die gesamte Datei verwendet wird, sollten Sie die gesamte Datei auf einmal herunterladen und das Mobilgerät so lange wie möglich im Leerlauf lassen. Wenn Sie jedoch die gesamte Datei wie zum Beispiel ein HD-Video aufgrund von Beschränkungen der Größe oder des Benutzerverhaltens nicht streamen können, sollten Sie das adaptive Bit-Raten-Streaming nutzen, um sich kontinuierlich an die Änderungen des Netzwerkdurchsatzes anzupassen. Das wird hohen Stromverbrauch verursachen, aber zumindest werden Sie den Benutzer damit zufriedenstellen. Als Alternative können Sie den Benutzer auffordern, ein WLAN zu benutzen.
Auslagerung des Datenverkehrs auf WLAN-Netzwerke
Aktuelle Schätzungen zeigen, dass fast 90 Prozent des weltweiten drahtlosen Datenverkehrs aus Gebäuden stammen. Häufig ist in diesen Gebieten ein WLAN-Anschluss in Reichweite. Während die neuesten 4G-Netze im Vergleich zum Spitzendurchsatz und zur Latenzzeit mit WiFi konkurrieren können, wird den Endbenutzern häufig noch eine monatliche Datenobergrenze vorgeschrieben. Damit wird der mobile Zugang für den Benutzer oft teuer. Darüber hinaus sind WLAN-Verbindungen für große Übertragungen Batterie-effizienter und erfordern keine RRC.
Besonders für datenintensive Anwendungen sollten Sie einen WLAN-Anschluss verwenden, sofern dieser verfügbar ist. Außerdem sollten Sie den Benutzer auffordern, den WLAN-Anschluss auf seinem Gerät zu aktivieren, um die Benutzererfahrung zu verbessern und die Kosten zu minimieren.
Verbesserung des Durchsatzes bei maximaler Akkulaufzeit
Die Mobilfunkschnittstelle ist für stoßartige Übertragungen optimiert, eine Eigenschaft, die Sie nach Möglichkeit nutzen sollten. Gruppieren Sie Ihre Anforderungen und laden Sie diese so schnell wie möglich und so viel wie möglich herunter, um dann das Mobilfunkgerät in den Ruhezustand zurückkehren zu lassen. Diese Strategie liefert den besten Netzwerkdurchsatz und maximiert die Akkulaufzeit des Gerätes.
Eine gut konzipierte Anwendung kann ein schnelles Feedback liefern, auch wenn die zugrunde liegende Verbindung recht langsam ist. Wenn Sie eine große Musik- oder eine Videodatei abrufen müssen, überlegen Sie, die gesamte Datei im Voraus herunterzuladen anstatt die Datei in Blöcken zu streamen. Beseitigen Sie unnötige intermittierende Übertragungen.
Können wir weiterhelfen?
Sie haben ein spannendes Projekt und möchten mit uns zusammenarbeiten? Kontaktieren Sie uns jetzt!