2115722

Was sagen App-Entwickler zu Android 5?

10.09.2015 | 10:49 Uhr |

Android 5, Material Design und eine neue Runtime – für Anwender hört sich das nach sehr vielen Vorteilen hinsichtlich der Leistung und der Bedienbarkeit der neuen Betriebssystem-Version an. Doch wie sehen App-Entwickler die Vorgaben Googles und die Neuerungen generell? Wir haben mit einem von ihnen gesprochen und ihn danach gefragt.

Lars Hoss ist freiberuflicher Senior Frontend Engineer, Konzepter und UX-Evangelist. Ursprünglich war er im Web zu Hause, in den letzten fünf Jahren hat sich sein Schwerpunkt auf die Konzeption und Entwicklung von mobilen Applikationen für iOS und Android verlagert. Denn hier faszinieren ihn die Möglichkeiten, die aus User-Experience-Sicht möglich sind. Kontaktaufnahme über LinkedIn , Xing oder per Email: lars.hoss@gmail.com .

AndroidWelt: Hallo Lars. Erst mal vielen Dank, dass du dir die Zeit nimmst, mit uns zu sprechen. Du bist seit vielen Jahren freiberuflicher App-Entwickler. Für welche Betriebssysteme arbeitest du?

Lars Hoss: Für Android und für iOS, aber auch für Web-Technologien wie HTML5. Das hat den Vorteil, dass man eine gute Grundlage hat, um Vor-und Nachteile von Hybrid-oder nativen Apps abzuwägen und Argumente zu finden.

AW: Und welche Art von Apps machst du?

LH: In erster Linie Business-Apps, aber schon auch für Consumer, meistens im Auftrag von großen Unternehmen.

AW: Welche „Werkzeuge“ verwendest du? Wir haben ja auf der Heft-DVD oft Android Studio.

LH: Ja, genau, Android Studio schon seit einer ganzen Weile, weil ich schon seit der Beta von der Umgebung sehr angetan war. Ich habe auch im Vorfeld schon viel mit IntelliJ gearbeitet, das ist quasi die Grundlage von Android Studio. Ich war immer ein großer Fan davon, und als ich dann gehört habe, dass Android Studio auch darauf aufsetzt, war ich total begeistert und finde, dass das eine sehr gute Entwicklungsumgebung ist. Unter iOS arbeite ich mit Xcode, also die von Apple gegebenen Werkzeuge.

Lars Hoss, freiberuflicher Frontend-Entwickler für Mobile.
Vergrößern Lars Hoss, freiberuflicher Frontend-Entwickler für Mobile.

AW: Wie unterscheidet sich denn das Programmieren für Android von dem für iOS?

LH: Das ist schwierig zu sagen. Es gibt Vor-und Nachteile auf beiden Plattformen. Vorteil bei iOS ist sicherlich der, dass das Entwickeln eines UI, das ansprechend ist, also nicht superschick, aber erst mal nicht schlecht aussieht, meiner Ansicht nach leichter ist. Man hat mehr Drag&Drop-Funktionalitäten, kann sehr schnell prototypen, und die Komponenten, mit denen man sich das User Interface zusammenbaut, sehen per Default mal nicht total verkehrt aus. Das kann man durchaus so stehen lassen. Natürlich gibt’s immer Raum für Verbesserungen, aber das ist schon ganz gut.

Android dagegen ist ein ganz anderes Kaliber, da wird mehr XML-orientiert gearbeitet. Natürlich gibt’s da auch Komponenten, aber wenn ich die einfach so einbaue, sieht das oft ganz fürchterlich schlimm aus, und man muss von meinem Gefühl her mehr Zeit in die UI investieren, damit sie auch ansprechend aussieht.

AW: Hat sich da mit Material Design, diesen Design-Richtlinien, etwas geändert?

LH: Ja. Grundsätzlich, wenn ich das neue Material Design mit iOS vergleiche, dann hat Material Design deutlich zugelegt in Sachen Usability und optischer Ästhetik. Das ist wirklich ein super Interface, und in manchen Punkten gefällt es mir auch tatsächlich besser als iOS. Ich bin wirklich sehr angetan davon. Aber die Entwicklung für Material Design oder eine App zu bauen, die wie Material Design aussieht, ist nach wie vor „anstrengend“, um es vorsichtig auszudrücken. Ein Beispiel dazu: Google hat Material Design vorgestellt, und es gibt auch eine ganz tolle Website für Entwickler und Designer. Da kann man sich informieren über die Material-Design-Specs, da sind alle Komponenten aufgeführt, wie sieht es aus, mit Beschreibungen, Typographie, Vermaßung, alles wunderbar. Und dann setzt man sich an sein Android Studio und sagt „So, jetzt möchte ich loslegen“, und wenn man von iOS kommt, würde man jetzt erwarten, so, ich ziehe mir die Dinge rein, und es geht – gibt’s aber halt nicht bei Android. Zu Anfang gab’s gar nichts, und man musste alles selber machen, zu Fuß. Oder man musste sich mit Third-Party-Libraries die Funktionalität holen, die Google nicht geboten hat.

Was macht Material Design eigentlich aus?

Es gibt inzwischen eine Bibliothek von Google, sie sind das Thema angegangen. Aber im Vergleich zu den Third-Party-Libraries hängt es an manchen Stellen noch hinterher, und noch schlimmer: Da sind auch durchaus Darstellungsfehler. Das wird vielleicht nicht jeder bemerken, aber wenn man UI-affin ist und ständig damit arbeitet, dann sieht man einfach, okay, hier stimmen irgendwie ein, zwei Pixel nicht und da nicht, und da muss Google einfach noch ein bisschen nachbessern.

AW: Offensichtlich ist es also nicht so einfach, eine Android-App zu programmieren. Was würdest du denn jemandem raten, der das machen möchte? Ein Informatik-Studium?

LH: Nein, ein Studium ist nicht zwingend notwendig. Man muss ja auch erst mal den Anspruch für sich klären: Wenn’s nur darum geht, mal reinzukommen, sich mit der Plattform vertraut zu machen, dann muss ja das UI nicht zwangsläufig top très chic aussehen. Da reicht ja auch ein einfaches User Interface. Aber ich werde auf jeden Fall mit der Materie vertraut.

Wenn es aber darum geht, ein schickes UI zu bauen, dann … also ich lasse mich gerne von Seiten wie https://dribbble.com inspirieren. Es gibt auch noch jemanden in der Google-Plus-Community, Juhani Lehtimäki, einen Finnen, der in der Szene sehr bekannt ist in Sachen Android-UI und Usability. Der hat immer wieder gute Artikel. So gehe ich auch vor: Ich schaue mir die Dinge an, was machen andere Leute so. Ich lade mir viele Apps herunter, studiere das User Interface, überlege: „Was zeichnet die App aus?“, studiere den Material-Design-Guide und versuche dann, das nachzubauen. Entweder das, oder Github . Github ist eine super Quelle. Das ist schon einer der Vorteile der Android-Community, es gibt viele Beispiel-Codes, die man sich runterladen kann. Einfach mal machen, studieren, wie machen die das denn, von Google den Sample-Code runterladen, studieren, ein bisschen experimentieren, dann kommt man schon weit.

AW: Was passiert eigentlich, wenn man die Material-Design-Richtlinien nicht einhält?

LH: Wenn ich jetzt ketzerisch wäre, würde ich sagen: Unter Android nichts Dramatisches. Weil mein Eindruck ist, dass Android-User nicht so sehr viel Wert auf Design, Ästhetik und Usability legen. Im Gegensatz dazu können die iOS-Nutzer manchmal sehr kritisch sein, und es wird schnell zerrissen, auch in den Reviews.

Aber auf der anderen Seite, wenn ich sehr, dass Leute Material Design schön umsetzen, ein ansprechendes UI machen, wirkt sich das immer positiv auf die App-Reviews aus, und es wird super aufgenommen. Es gibt ja diese Community-Seite Reddit, und da gibt’s auch einen Entwickler-Channel , den ich empfehlen kann. Dort stellen oft Entwickler ihre neuesten Apps vor, und das wird immer gut angenommen, wenn die Leute Material Design umsetzen. Es ist also auf jeden Fall ein Pluspunkt, das zu tun, denke ich.

AW: Aber es ist nicht so, dass man dann im Play Store nicht veröffentlicht wird?

LH: Nein. Material Design ist kein zwingendes Muss.

AW: Was findest du denn grundsätzlich gut an Android, welche Vorteile hat deiner Meinung nach Android gegenüber iOS?

LH: Da muss ich überlegen … Also, eine Zeit lang war es so, dass zum einen die Programmiersprache bei Android besser war. Das hat sich inzwischen mit der Programmiersprache Swift bei Apple ein bisschen verschoben. Aber bevor es Swift gab, gab es Objective C, und das war wirklich extrem gewöhnungsbedürftig, und ich kann viele verstehen, die sagen: „Puh, das geht ja mal gar nicht, da mach ich lieber Java.“ Und da wird man natürlich unter Android sofort warm mit.

Zum anderen ist da die Community, die scheint mir besser zu sein. Man kann sich besser austauschen mit anderen Entwicklern, und das ist auf jeden Fall ein Pluspunkt.

Und natürlich: Nicht jeder hat einen Mac. Wenn ich jetzt einen Windows-PC habe oder ein Linux-System, Linux ist ja auch sehr populär, gerade bei der jüngeren Generation, bei Studenten, dann kann ich halt sofort loslegen. Ich lade mir das SDK runter, ich brauche keinen Developer-Account, keinen Mac, nichts, einfach runterladen, loslegen. Also die Einstiegshürde ist bei Android niedriger.

AW: Wenn du einen Google-Entwickler für Android vor dir hättest, und du dürftest dir etwas von ihm bezüglich Android wünschen, was wäre das?

LH: Mehr Konsistenz im User Interface und besseren Support im Sinne von Bibliotheken. Ich finde, es fällt einfach so dramatisch ab, wenn man auf der einen Seite diesen großartigen Style Guide sieht – und ich finde den Material-Design-Guide einfach genial – und auf der anderen Seite die Realität, was einem Google zur Verfügung stellt, da ist einfach eine große Kluft dazwischen, und die ist mit Material Design noch größer geworden. Und da würde ich mir wünschen, dass Google da nacharbeitet und ich, so wie bei iOS, fertige Komponenten habe. Dass ich mir aus einem Katalog oder einem Baukasten Elemente nehmen und schnell UIs zusammenbauen kann. Denn man muss schon auch sagen, gerade als Freelancer, wenn der Kunde kommt und sagt, er möchte das für Android umsetzen, ist es schwierig zu argumentieren, warum bestimmte Dinge länger dauern. Oder wenn man mal einen Prototyp bauen will, nur um Feedback zu bekommen, wie funktioniert das UI, dann ist es halt gerade mit Material Design nervig, wenn man sich erst mal alle Bibliotheken zusammensuchen muss und rumtweaken, bis alles so aussieht wie der Style Guide.

AW: Was, glaubst du, sind die Vorteile von Material Design für den Anwender? Das identische Aussehen auf allen Plattformen kann’s ja nicht sein, die Leute sind ja nicht doof, dass sie sich gar nicht zurechtfinden.

LH: Das ist ein guter Punkt, den du da ansprichst. Ähnliche Diskussionen gibt’s ja auch im Web mit dem Flat Design und so, mit dem „Verlust des Charakters“ sozusagen. Das stimmt auf der einen Seite, auf der anderen Seite führt es natürlich dazu, dass sich der Benutzer schneller zurechtfindet. Klar sind die Benutzer nicht doof, aber es ist schon so: Wenn ich nicht überlegen muss und ich visuelle Elemente wiedererkenne, brauche ich weniger kognitive Leistung, und damit bin ich halt schneller im Thema drin und kann das UI schneller bedienen.

Außerdem hat Material Design auch viele Dinge verbessert, die ich früher nicht so gut fand, etwa Widgets, die besser definiert sind, oder wie geht man mit Pop-up-Menüs um, dann auch die neue Action-Bar, der Floating Action Button, kurz FAB, solche kleinen Elemente, die die gesamte UI-Usability schon deutlich verbessern und konsistenter machen.

AW: Aber Android 5 sieht doch nicht auf jedem Smartphone gleich aus. Mal sind Funktionen vorhanden, mal nicht, und das bei gleicher Version. Woran liegt das?

LH: Das ist noch mal ein ganz anderes Problem, welches Google mit seinen Herstellern hat, die Android-Geräte bauen. Viele Hersteller tun sich nach wie vor schwer damit, rechtzeitig nachzuziehen und das System auf den neuesten Stand zu bringen. Und dann kommt noch hinzu, dass viele Hersteller noch eigene Modifikationen vornehmen, Stichtwort „Herausstellungsmerkmal“ und „Wir wollen uns ja von den anderen differenzieren“. Das führt aber manchmal dazu, dass das UI beispielsweise langsamer wird. Das sagt man gerade den Samsung-Geräten nach. Momentan machen sie da, wie ich finde, eigentlich nur bei Motorola einen guten Job, die extrem minimalistisch und puristisch an das Thema herangehen und versuchen, so nah wie möglich an dieser „Android 5 Experience“ oder dem „Pure Android“ zu bleiben und das an die Leute zu bringen.

Motorola hat ja im Juli neue Geräte vorgestellt, das Moto X und Moto G, und auch dort sieht man wieder nur minimalistische Anpassungen. Das hat natürlich den Vorteil, dass sie schneller Updates bereitstellen können, wenn Google sie rausgibt. Und es hat den Vorteil, dass es mehr diese „Android Experience“ rüberbringt.

Aber klar, wenn ich jetzt mehrere Telefone nebeneinander lege, von unterschiedlichen Herstellern, fällt leider auf, dass sie unterschiedlich sind. Aber auf der anderen Seite, wenn ich jetzt eine App habe, die mit Material Design implementiert ist, verhält die sich schon weitestgehend ähnlich auf den Geräten. Also mein Wunsch an der Stelle ist auch, dass die Hersteller doch bitte nicht zu sehr ihre eigenen Modifikationen vornehmen, sondern sich ein Beispiel an Motorola nehmen sollten.

AW: Wie würdest du denn aus der Programmierersicht die Unterschiede zu Android 4.4 Kitkat beschreiben?

LH: Da hat sich nicht viel geändert. Der wesentliche Unterschied ist wirklich Material Design, und einige dieser Aspekte lassen sich auch zurückportieren auf Android 4. Es sieht halt an manchen Punkten nicht ganz so schick aus.

AW: Nutzt du Cross-Plattform-Framework wie Cordova, Xamarin oder Phone Gap für die Entwicklung?

LH: In der Vergangenheit habe ich das im Rahmen von Großkundenprojekten verwendet. Unsere Erfahrung war allerdings zwiespältig: Zum einen hat sich das oft negativ auf die Performance des User Interface ausgewirkt, grade bei großen Listen oder vielen Bildern. Viele Inhalte führten dazu, dass die Performance gelitten hat: Ich drücke auf einen Button und habe immer einen Kaugummi-Effekt – es ist einfach alles ein bisschen zäher.

Und dann kommt noch hinzu: Man sagt, mit der Hybrid-Entwicklung würde man Kosten senken. Das stimmt zum Teil, gleichzeitig holt man sich aber auch ein gewisses Maß an Komplexität zusätzlich rein, denn man ist dann plötzlich in der Situation, dass man zum einen HTML-und Javascript-Entwickler braucht, dann aber auch Entwickler, die für diese Plattform nativ entwickeln können, weil man zum Beispiel mit Cordova nicht alles erschlagen kann. Man kommt in vielen Fällen also nicht darum herum, Plug-ins zu entwickeln, die man von Javascript aus ansteuern kann. Aber diese Plug-ins müssen dann eine Funktionalität bereitstellen, die Javascript oder Cordova von sich aus nicht könen. Und dann müssen die iOS-/Android-Entwickler mit den HTML-/Javascript-Programmierern kommunizieren. Und ich hatte dann grade bei großen Projekten oft das Problem, dass da ein Bug im User Interface war, und dann hat der Javascript-Entwickler gesagt „Ja, das ist doch ganz klar das Plug-in“, und der Plug-in-Entwickler hat gesagt „Nein, das liegt am Javascript“, und das hat die Entwicklung auch nicht unbedingt performanter gemacht.

Video: 10 Tricks zu Android 5.0 Lollipop

Xamarin verfolgt einen anderen Ansatz. Da wird in der Programmiersprache C# entwickelt, und das wird für die jeweilige Plattform crosskompiliert beziehungsweise übersetzt. Also von C# nach Objective C oder Java. Aber ich selber habe damit noch nicht gearbeitet, und auch in den Konzernen tut man sich schwer, weil die Preise hoch sind. Man muss dafür Gebühren zahlen, und das ist für viele Unternehmen abschreckend.

Und bei meinem letzten größeren Projekt ist man tatsächlich wieder dazu übergegangen, nativ zu entwickeln. Und wenn du gute und hoch performante iOS-und Android-Entwickler hast, dann ist es ist vielleicht ein bisschen teurer als der Hybrid-Ansatz, aber die Usability ist viel besser, die User Experience ist besser, und ich glaube, das rechtfertigt, dass man ein bisschen draufzahlt. Denn das sieht man auch im App Store, da steht man besser da.

AW: Wirst du mittelfristig auch Windows-Apps entwickeln?

LH: Momentan nein, ist nicht auf dem Radar. Es würde mich mal interessieren, das schon, das Interesse ist groß, weil ich auch viele Aspekte an Windows Phone sehr gut finde. Aber da ist die Nachfrage noch zu gering. Ich muss ja auch immer sehen, was die Kunden möchten. Und die Nachfrage nach iOS und Android ist sehr groß, auch im Bereich der Konzeption. Aber Windows Phone … nein.

AW: Wie hoch ist denn bei dir der Anteil von Android-zu iOS-Apps?

LH: Ich würde jetzt mal so sagen: momentan 70 Prozent iOS, 30 Prozent Android. Es ist oft so, dass immer noch iOS-Apps zuerst erscheinen, und dann wird das Ganze portiert auf Android. Das ist Firmenpolitik. Ich sehe aber schon, dass der Android-Anteil zunimmt. Und das freut mich auch.

AW: Hast du eine Erklärung dafür, dass bei manchen Apps, die es für beide Plattformen gibt, die iOS-Version oft etwas schöner ist, etwas mehr kann und besser zu dienen ist als die Android-Version, die eher wie ein Stiefkind anmutet?

LH: Da kann ich nur mutmaßen. Zum einen ist es so, ich habe mit vielen iOS-Entwicklern gearbeitet, und die legen viel Wert auch auf die Optik und wie sich das Ganze anfühlt, und die sind wahnsinnig picky. Wenn da irgendwas nicht stimmt, wird gemeckert – und die User ja sowieso. Bei Android ist es oft so: „Passt schon“, das muss nicht ganz so perfekt sein. Der Anspruch ist allgemein niedriger.

Aber ich denke, mit Material Design ist der Anspruch höher geworden, und wenn man sich ein modernes Android-Smartphone ansieht – die sehen einfach viel schicker aus. Und ich kenne auch viele iOS-Leute, die immer mal wieder einen Blick drauf werfen und dann sagen: „Sieht schon sexy aus.“ Und das ist ja auch gut, das belebt den Markt, und Konkurrenz ist immer gut. Und ich glaube, das wird auch langfristig dazu führen, dass der Anspruch an Android steigen wird.

AW: Nutzt du privat iOS oder Android?

LH: Bei mir hab ich immer mein iPad Mini, das ist sozusagen mein portables Hirn. Ich finde es vom Format her praktisch, weil ich da mit dem Daumen tippen kann. Die neuen Phablets wären natürlich mal ein Experiment wert. Ich habe zu Hause ein Nexus 7 und das alte Nexus 4. Und ich switche auch. Also mal eine Woche iPhone, dann wieder eine Woche Nexus, das ist ganz unterschiedlich. Ich bin da auch nicht religiös und sage: „Das ist schlecht, das ist gut.“ Ich mag grundsätzlich mobile Geräte, Spielzeug, und ich spiele viel damit herum.

AW: Wie hältst du alle Geräte synchron?

LH: Das macht Google. Ich benutze sehr intensiv Google, daher wäre es eigentlich auch sinnvoll, mehr Android zu nutzen. Andererseits syncen sich die iOS-Geräte besser mit dem Mac, und ich arbeite in erster Linie mit dem Mac. Nicht unbedingt nur des Systems wegen, sondern ich verwende viel Prototyping-Software und mache Konzeptionsarbeit. Und da gibt’s einfach grandios gute Software auf dem Mac, die für Windows nicht verfügbar ist.

Android 6.0 "Marshmallow" - Die nächste Android-Version im Anmarsch

0 Kommentare zu diesem Artikel
2115722