I was among the winners of the Nokia Asha Touch Competition 2012. I was awarded for the feedback I have given on the new Nokia developer tools. From the laudation:
“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.”
So Nokia sent me with two new devices, an Asha 303 and an Asha 311.
The devices are based on the renewed system Series 40 (not to be confused with Symbian / Series 60) The operating system is very fast and requires little memory, this makes it possible to build very inexpensive devices.
The Asha 303 has both a touch screen and a keyboard, writing of text messages is very convenient with the keyboard. You can develop apps for the Asha 303 with Java JME, Nokia provides us with for the SDK 1.5.
The Asha 311 has only a touch screen just like the “big” smart-phones, so Nokia calls these devices “Full Touch”. You can also develop the Full Touch devices with Java JME, with the Nokia SDK 2.0. The Full Touch devices can best be compared with the Samsung Star.
As developer I like that both devices have Wi-Fi, because I can test data connection without the need for a data plan for each device.
JME Blues
Java ME has undergone a sad non-development since the advent of touch screens. The control elements for the user interface are stopped at the state of a pen-based Palm Pilot. Your software can receive touch pointer events, but that was almost everything. The standard controls were not optimized for touch screen usage. So you had to rebuild the controls yourself from the ground up, or use third-party libraries like LWUIT. Especially the on-screen keyboards were really annoying, either they were displayed only after the text field is activated twice, or they were difficult to operate, or both. While JME has been expanded in other areas through various JSR, there was no improvement for touch-screens in the standard.
With the SDK 2.0, Nokia adjusted the user interface elements for touch operation. Buttons have the right size. The screen keyboard is the same that is usually used by the system.
An important addition is an element to switch between different screen views, the “CategoryBar“. I have used it in my app Handylearn Counter, so that the user can switch between bar charts and pie charts quickly.
The programming of the CategoryBar follows the familiar pattern of Commands and CommandListener. So as developer you can continue to use the simple structures of the LCDUI.
You have to be careful with the icons of the CategoryBar, they must be defined as RGB PNG, otherwise they will not displayed. Normally as JME programmer we try to use the images with the smallest possible bit depth.
The new Series 40 SDK, the normal UI Toolkit is finally usable to build applications from non-games area in a relative easy way. Is a pity that the touch screen additions makes you dependent on the manufacturer. On the other hand, Nokia seems to be the last manufacturer which is interested in J2ME.
Update (10.5.2013)
Nokia has just announced the Nokia Asha Platform 1.0. So it has renamed Series 40, which makes it easier to distinguish it from Series 60 / Symbian.
The system also got some new features, a interesting addition is the new Notification API.