iPhone

Mobile Entwicklung

Es ist nun knapp ein halbes Jahr her das ich über die mobile Fragmentierung des Marktes geschrieben habe und seither ist recht viel passiert. Der Markt ist noch stärker fragmentiert. Für den Hersteller, respektive den Entwickler, ist es noch aufwendiger eine breite Masse an Anwendern zu erreichen . Schauen wir uns die aktuelle Situation an. Als erstes schauen wir uns aktuelle Marktzahlen an des gesamten Marktes an.

Marktanteile Q1 2009:

Nokia: 40.43 %
Samsung: 19.91 %
LG: 9.83 %
Motorola: 6.39 %
Sony Ericsson: 6.3 %
Blackberry/RIM: 3.39 %
Apple: 1.65 %
Others: 12.09 %

Quelle: http://www.mobileisgood.com/statistics.php?year=2009

Wenn wir uns diese Zahlen anschauen und einmal den Anteil der Java-fähigen Geräte extrahieren kommen wir auf min. 70 % (Nokia + Samsung + Motorola + Blackberry + ein paar % others).

Die gleiche Betrachtung auf den Smartphone Markt angewendet zeigt (leider nur Q4/2008 Zahlen):

Nokia: 40.8 %
Blackbery/RIM: 19.5 %
Apple: 10.7 %
HTC: 4.3 %
Samsung: 4.2 %
Others: 20.5 %

Quelle: http://www.gartner.com/it/page.jsp?id=910112

Alleine Nokia und Blackberry/RIM kommen auf stolze 60.3 % und ich denke das man auch im Smartphone Markt von einer Java-Abdeckung von min. 2/3 ausgehen kann (und nein, den Win Mobile Java Stack zähle ich nicht dazu).

Was aber, wenn man nahezu 100% abdecken möchte? In Zeiten von Cloud computing und immer besser werdenden Browser Unterstützung liegt eine Webanwendung nahe - gemeinhin auch als Webseite bezeichnet. Interessanter Weise zeichnet sich bei den mobilen Geräten ein Trend ab, der eine Konsolidierung aufweist: Der mobile Browser. Schaut man sich den Trend an, dann zeichnet sich ab, das zukünftig die folgenden Browser auf mobilen Geräten zu finden sind:

WebKit basierend (Safari/Android/Nokia)
IE
Fennec/Firefox
Opera

Das ist eine recht positive Entwicklung denn sie birgt die Chance Entwicklungen einer breiten Masse zur Verfügung zu stellen.

Mobile Fragmentierung

Der mobile Markt war vor einiger Zeit recht übersichtlich und als Programmierer war klar welche Plattform mit welcher Sprache unterstützt werden musste, um eine breite Masse zu erreichen. J2ME als Technologie reichte aus um plattformübergreifend - manchmal mit devicespezifischen Anpassungen - die Anwendung zu erstellen. Seit einiger Zeit hat sich der Markt allerdings gewandelt und es ist davon auszugehen das sich das zukünftige Bild noch viel stärker verändern wird. Aus Hersteller-/ oder Entwicklersicht sind die aufkommenden Neuerungen nur bedingt positiv. So bleiben nur die Fragen: wie erreiche ich die meisten Anwender, was ist die beste Sprache/Technologie und welches ist der beste Weg dem Benutzer eine positive "user experience" zukommen zu lassen. Eine kurze - ohne Anspruch auf Vollständigkeit - Übersicht.

Apple/iPhone
Im Bereich der "user experience" derzeitig eine der besten Möglichkeiten. Auch der Vertriebskanal ist denkbar einfach (sofern man keine Anwendung hat die Apple nicht passt und von daher nicht im Appstore landet). Wer allerdings noch keine Erfahrungen in Objective-C hat und keinen Apple mit OS X 10.5.2 sein eigen nennt wird nicht weit kommen, es sei denn, man entwickelt eine Web App - hier kann man mit HTML, CSS und JavaScript punkten, hat aber natürlich nicht den vollen Zugriff (na gut, den hat man beim iPhone ohnehin nicht :).

Google/Android

Standard

Warum gibt es eigentlich einen Standard, aber die wenigsten halten sich daran. Ein J2ME Programm, welches auf meinem Nokia perfekt läuft, startet nicht korrekt auf einem Blackberry 8800. Oder denken wir nur an alle die Winkelzüge, die ein Ajax Programmierer machen muss um IE6, IE7, Firefox, Safari und Opera zu unterstützen. Ich möchte nicht wissen wie viel Zeit - und damit Geld - verloren geht, um Programme und Anwendungen auf allen Plattformen, Devices, in allen Sprachen und Cross-Browser lauffähig zu bekommen.

Mir ist in letzter Zeit aufgefallen wie viel Arbeit es macht, Device spezifische Probleme in J2ME Anwendungen zu lösen. Der Spruch "Write once - debug everywhere" beschreibt das ganze recht passend. Dabei hätten alle etwas davon, wenn existierende Standards eingehalten würden. Es gibt etliche Konsortien die sich um die Standardisierungen von Daten kümmern. Oder um die Einhaltung von Prozessen. Mein Wunsch ist ganz einfach: Browser verarbeiten HTML, CSS und JavaScript identisch, J2ME fähige Devices werden einmal geschrieben und laufen dann einfach überall gleich gut. Der Entwickler könnte sich dann auf seine Kernkompetenz konzentrieren und seinen Fokus auf die Entwicklung der Anwendung legen. Wie viel Innovationen wohl verloren gehen, weil die Zeit in unnötige und langwierige "Workarounds" gesteckt wird.

Apple's SaaS Modell

Super Idee, der AppStore, in dem externe Entwickler ihre Applikationen ablegen können und Apple das "fulfillment" erledigt. Das nenne ich doch ein erfolgreiches und skalierendes SaaS Modell. Und die Servicemöglichkeiten gehen weit über normale Modelle hinaus. Die Ankündigung (http://www.zdnet.de/security/news/0,39029460,39194724,00.htm), das man Milliarden umsetzen möchte, erscheint lukrativ.

Vor allem unter dem Gesichtspunkt der "Hintertür", die heute offiziell bestätigt wurde. Damit ist es möglich Anwendungen zu deinstallieren. Das ganze wird mittels einer (Black-)Liste gewartet, die auf einem Webserver liegt. Nun hoffe ich stark, das man bedacht hat das ganze mittels Zertifikaten oder ähnlichem zu sichern. Sonst kommt noch jemand auf die Idee einen Hot Spot anzubieten auf dem ein DNS läuft, welcher die vom iPhone angesprochene Webseite auf eine eigene umlenkt und dem iPhone Nutzer eine Blacklist unterjubelt.

Aber halt, wir waren doch bei dem skalierenden Geschäftsmodell. Der Benutzer kann ja erneut kaufen und damit verstehe ich besser was Steve in seinem Interview meinte ...

iDerDaus

Es gibt Nachrichten die mich überraschen können, einige sind lustig und wieder andere sind nervig. Heute huschte eine News über meinen Bildschirm die mich überrascht hat: "Cloud Computing Start-Up Creates PowerPC-Based Cloud Desktop". Da haben wir gleich zwei Mal Cloud drin. Cloud ist derzeitig das Brummwort schlecht hin. Bei genauerem lesen des Artikels (http://java.sys-con.com/read/614371.htm) formten sich die folgenden Buchstaben vor meinen Augen: "... ultra-green CherryPal cloud computer ... ". Ultra-green meint hier die "grüne IT". Also noch ein Brummer der in diesen Tagen angesagt ist. Der Computer holt und speichert seine Daten auf dem Amazone Service EC2. Das Frontend ist ein modifizierter Firefox. Um die Kosten des EC2 an den Kunden abzugeben soll Werbung dargestellt werden. Beide Aussagen haben mich überrascht. Firefox als einziges Frontend zu allen Anwendungen und die Möglichkeit Werbung darzustellen, ohne das der Kunde diese abschalten kann. Interessant.

Fehlte eigentlich nur noch, das der Computer in irgendeiner Weise mit dem iPhone zusammen arbeiten kann. Aber dann hätte die Meldung wahrscheinlich alle anderen Neuigkeiten des heutigen Tages von der Bildfläche verdrängt. Aus Sicht von Apple wäre das nicht schlecht gewesen (http://www.heise.de/newsticker/Apples-MobileMe-Dienst-verlor-Mails--/mel...).
Wo wir gerade beim Verlieren von Mails sind. Getreu den Produktnamen von Apple wäre es vielleicht passender gewesen den Dienst nicht mobileMe zu nennen sondern vielleicht iLostMyMails, iWeg oder iTrash.

Jetzt bin ich aber zu hart. Schließlich verbindet mich mit Apple etwas. Der Apple IIe. Das waren noch Zeiten. Grüne Farben die man an zwei Händen abzählen konnte. Ach ja - finde trotzdem das iOff oder iForgot gut passen ...

Inhalt abgleichen

Back to top