Bei der Nokia Asha Touch Competition 2012 gehörte ich zu den Gewinnern. Ich habe Nokia Rückmeldungen zu ihren neuen Entwicklerwerkzeugen gegeben. Aus der Laudatio:
„… for his very focused and relevant feedback around core app development. The issues raised showed a great understanding of the product and what areas most need improvement.“
Als Dank habe ich zwei neue Geräte erhalten, ein Asha 303 und ein Asha 311.
Die Geräte basieren auf dem erneuerten System Series 40, nicht zu verwechseln mit Symbian / Series 60. Das Betriebssystem ist sehr schnell und braucht wenig Speicher, so das man damit sehr preiswerte Geräte für den Massenmarkt bauen kann.
Das Asha 303 hat sowohl einen Touchscreen als auch eine Tastatur, mit der man sehr bequem SMS schreiben kann. Entwickelt werden kann das Asha 303 mit Java JME, von Nokia gibt es dafür das SDK 1.5.
Das Asha 311 hat nur einen Touchscreen ohne weiteres Tastenfeld, wie die „großen“ Smartphones. Die Softwareplattform wird deshalb „FullTouch“ genannt. Es wird ebenfalls mit Java JME entwickelt, mit dem „Nokia SDK 2.0 for Java“. Die Nokia FullTouch-Handys können am ehesten mit dem Samsung Star verglichen werden.
Beide Geräte haben WLAN, worüber sich Entwickler freuen, weil man so nicht für jedes Gerät eine Datenflatrate braucht.
JME-Blues
Nun hat Java-ME seit der Aufkommen von Touchscreens eine traurige Nicht-Entwicklung durchgemacht. Die Elemente für die Navigation sind auf dem Stand eines Stift-basierten Palm-Pilot stehengeblieben. Als Programmier konnte man zwar Pointer-Events empfangen, das war es aber auch schon. Die Standard-Bedienelemente waren nicht für die Touchbedieung optimiert, und so musste man Sie aufwendig selbst nachbauen oder Fremdbibliotheken wie LWUIT verwenden. Richtiggehend ärgerlich waren die Bildschirmtastaturen, entweder bekommt man sie erst nach zweimaligen aktivieren eines Textfeldes, oder sie sind schlecht bedienbar, oder beides.
Während in anderen Bereichen JME bzw. J2ME durch verschiedene JSR erweitert wurde, funktionierte bei Touchscreens die Anpassung an den fortschreitenden Stand der Technik leider überhaupt nicht.
Mit den SDK 2.0 hat Nokia die UI-Elements an die Touchbedienung angepasst. Listen und Buttons haben die richtige Größe. Die Bildschirmtastatur ist die gleiche wie sie sonst von System genutzt wird.
Hinzugefügt wurde auch ein Element zum Umschalten zwischen verschiedenen Bildschirmansichten, die „CategoryBar“. Ich habe Sie beim Handylearn Counter eingebaut, so dass die Nutzer schnell zwischen Balkendiagramm und Tortendiagramm umschalten können.
Die Programmierung der CategoryBar folgt dem bekannten Muster von Commands und CommandListener. Damit nutzt man als Entwickler weiter die schön einfache Struktur des LCDUI. Aufpassen muss man bei den Icons der CategoryBar, sie müssen als RGB-PNG definiert werden, sonst werden sie nicht angezeigt. Normalerweise versuchen JME-Programmierer ja, die Bilder mit möglichst kleiner Bittiefe zu verwenden.
Mit dem neuen Series 40 SDK ist die normale UI-Toolkit endlich wieder nutzbar, um relativ einfach Anwendungen aus den Nicht-Spiele-Bereich zu erstellen. Schade ist, das man herstellerabhängig ist. Andererseits scheint Nokia ziemlich alleine an J2ME interessiert zu sein.
Update (10.5.2013)
Nokia ist inzwischen wohl auch aufgefallen, das oft zu Verwirrung zwischen Series 40 und Symbian (Series 60) kommt. Die neuste Version von Series 40 heißt jetzt Nokia Asha Platform 1.0. Kunden wissen welches System sie haben, schade das Nokia nicht schon bei Symbian darauf gekommen ist.
Einige neue Funktionen gibt es auch im neuen System, eine interessante Ergänzung ist eine neu hinzugekommene Notification API.