Android Fragmentierung – tausende Modelle erschweren Arbeit für Entwickler

Android Fragmentierung: Das Samsung Galaxy SII ist laut OpenSignalMaps eines der beliebtesten Smartphones (Bild: OpenSignalMaps)
Im Zuge der Untersuchung haben insgesamt 681.900 Android-Geräte aus 195 Ländern die OpenSignalMaps-App geladen. Unter diesen knapp 700.000 Downloads konnten 3.997 verschiedene Geräte von insgesamt 599 Herstellern identifiziert werden, wobei ca. 1.400 der geloggten Smartphones nur einmal auftauchen. Dies rührt zum einen daher, dass Geräte mit Custom-ROMS nicht mehr zum eigentlichen Modell zugeordnet werden können, zum anderen da es eine Menge an Geräten gibt, die recht rar sind wie bspw. das Lemon P1 (ein Dual SIM-Phone aus Indien) oder das Energy Tablet i724 (ein Home-Entertainment-Tablet aus Spanien). Der Entwickler konnte neben Hersteller und Modell zudem erkennen, welche Android-Version und Displaygröße die Geräte installiert bzw. verbaut hatten.
Eines der am häufigsten geloggten Smartphones ist das Galaxy SII (GT-I9100) von Samsung, gefolgt vom Vorgänger Galaxy S (GT-I9000) und dem HTC Desire HD. Bezüglich der Hersteller dominiert Samsung die Daten, was jedoch ins Bild passt. Denn der südkoreanische Hersteller gilt offiziell als größter Smartphone-Anbieter und hat selbst den einstigen Marktführer Nokia überholt.
Diese Zahlen zeigen recht deutlich die starke Fragmentierung in der Android-Welt auf, mit der Entwickler tagein tagaus zu kämpfen haben. Einen interessanten Einblick gibt hier beispielsweise die Softwareschmiede animoca. In einem Blogbeitrag wird demonstriert, wie viele Android-Geräte inhouse getestet werden, damit möglichst vielen Nutzern eine identische Userexperience zuteil wird. Angesichts der großen Vielfalt an Hardware ist dies aber beinahe unmöglich.

Die Verbreitung von Displayauflösungen ist sehr weit gestreut – eine große Hürde bei der Entwicklung (Bild: OpenSignalMaps)
Auch im Hinblick auf die Verteilung der diversen Android-Versionen haben Entwickler kein leichtes Spiel. Während zurzeit Android 4.0.x die aktuelle Version ist, müssen Apps weiterhin für Android 2.2 und 2.3 angepasst werden, da diese immer noch weit verbreitet sind – Android 4.0.x läuft derzeit nur auf knapp 5 Prozent aller Smartphones.
Um dem Problem der Fragmentierung zu begegnen, hat Google bereits einige Anpassungen vorgenommen und mit Herstellern eine Android-Update-Alliance ins Leben gerufen. Doch leider hat sich, wie man an diesen Daten erkennt, bislang nicht viel an der Situation getan. Mit dem angeblichen Plan, in diesem Jahr mehrere Nexus-Modelle auf den Markt zu bringen, könnte Google wenigstens teilweise das Problem in den Griff bekommen. Das wäre aber womöglich nur der Anfang. Doch vermutlich muss man Fragmentierungen in Kauf nehmen, wenn eine so große Auswahl an Hardware angeboten wird – denn Vielfalt ist auch eine der vielen Stärken von Android.
Weiterführende Links:
- Android Fragmentation – The many faces of a little green robot – OpenSignalMaps
- Android fragmentation: one developer encounters 3,997 devices – ArsTechnica
Bildnachweis für die Newsübersicht: animoca; CC BY-ND 3.0
“ Die Verbreitung von Displayauflösungen ist sehr weit gestreut – eine große Hürde bei der Entwicklung „. Das ist keine Hürde sondern bestenfalls eine Aufgabe. Die iOS-Apps laufen auf unüblichen Auflösungen auf gejailbreakten Apple2TVs doch auch. Weil iOS-Cocoa schlau ist und sich anscheinend anpasst.
Wohnungen sind auch größenmäßig fragmentiert und Ikea macht trotzdem Milliarden-Umsätze. Bald kommen SmarTVs mit Android und da sind dann 1920×1080 auf 40“ und mehr aber ggf. ohne Touchscreen normal.
Und die vielen Versionen ist Google selber schuld. Jeder Windows95-PC war besser auf Win98 zu kriegen als leistungsfähigere Handies auf die nächste Android-Unterversion.
Man setzt für Schrift optische „relative“ Größen. => Somit ist die Schrift immer gleichgroß unabhängig von Bildschirmgröße und -auflösung.
Layouts (App Anzeigen) erstellt man als XML Dateien (ähnlich zu Webseiten).
Problematisch ist, wie viele Elemente im kleinsten Bildschirm platziert werden. Als Einzelentwickler hat man nicht das Geld und die Zeit hunderte von Androide zu kaufen und auszutesten.
Ein weiteres Problem ist, dass auf dem Galaxy Nexus (für Entwicklung) die Apps manchmal in gewissen Funktionen schnell genug sind, aber für andere Amdroide zu langsam sind.
Grafiken sind in der Regel 9-patch-PNGs, weshalb sie je nach Definition unterschiedliche Größen auf den Geräten (oft durch Emulator ausprobiert) haben. => Deshalb sind Grafiken oder Buttons hochaufgelöst. Sie sehen nut ab und zu seltsam aus, wenn die 9-patch-Grafiken fehlerhaft (nur für ein Gerät) erstellt wurden.
=> Also Spiele werden nicht unbedingt verzerrt, aber speziell bei Dpielen kann dies vorkommen.
=> Spiele sind rein theoretisch Apps, aber nicht praktisch. Für Spiele wird oft ein NDK (native development kit in c) benutzt statt Java+Eclipse+ADT(Android development toolkit) und SDK (software development kit) (was übrigens überall läuft, wo die JVM (Java virtual machine) läuft.
=> Viele Spielegersteller benutzen zwar das anspruchsvollere NDK, aber ersparen sich die Arbeit das Spiel (natürlich) an alle Bildschirmgrößen und -auflösung anzupassen. D.h. für Seltsame wird einfach grafisch skaliert. Aber große Programmierschmieden haben das Spiel in der Regel für verschiedene Geräte probiert und daher angepasst. Und gerade bei Android werden deshalb manchmal als kostenlose Aktualisierung das Spiel oft noch angepasst.
=> So schlimm ist es also unter Android nicht wie behauptet wird. Er ist wohl vielleicht ein Apple Fanboy.
Ich finde Fragementierung sogar ganz praktisch. Angrybirds für iOS braucht z.B. für iPhone und iPad jeweils eine eigene Version – auf Android lief es schon immer mit der selben App.
Ansonsten ist es eher eine Ego-Sache, immer die neueste Version zu haben. Mein HTC Legend hat noch 2.2 geladen und um ehrlich zu sein, ich habe noch nichts gefunden, was deswegen nicht lief oder ich vermisst hätte. Wenn dann wegen der etwas schwachbrüstigen CPU, aber das iPhone3 kann mit einem 4s auch nicht mehr mithalten.
Eher umgekehrt: Bei den ganz neuen Handys vermisse ich meinen Menü-Button und das Trackpad, dass super praktisch ist, wenn man den Cursor in einem Text setzen möchte.