Twitter github

Symbian, Nokia and Java

Ok, as an Eclipse guy, I have to admit something, I sort of have a man crush on the Symbian Foundation.

symbian-foundation-logo2

From my experiences in the Eclipse and Gentoo communities, I see a lot of things Symbian is doing right to build an open source community. They are definitely putting a significant amount of resources behind the effort. However, that’s not the main point of this blog post and really a subject of another blog entry on building communities. My main point is that Nokia recently announced (thanks Gorkem) that they will be contributing their Java runtime to the Symbian Foundation…

At the BOF I also discussed of our contribution of our runtime code to Symbian Foundation. Basically the idea is that for Symbian^3 we plan to get all of our libraries code (except Web Services as it’s not Nokia owned code). Ken Walker from IBM talked of what they will provide on VM and core libraries level. They will provide J9 VM+CLDC/CDC/FP libraries in the binary release under an RND license. This means that developers will have a fully functional runtime from Symbian Foundation for java me applications as it appears in current S60 devices. Nokia plans to utilize EPL license for our contribution. Since many of the core libraries are already available in Apache Harmony there’s pretty good open source mobile java library set then available with business friendly OS licenses.

This is great news for mobile Java developers; I like when I see public roadmaps available.

From my point of view, it’s great to see some Java focus. Back in the day when mobile wasn’t hot, I did some mobile Java work with the embedded Rich Client Platform (eRCP), I even helped write a book on the topic.

eRCP Redbook

During that time, there were a lot of APIs lacking on the mobile devices which eRCP tried to solve along with giving mobile developers a reasonable modular user interface technology via OSGi. However, there wasn’t much interest at the time. Furthermore, there were challenges involving writing applications for mobile devices… it was just plain hard. The customization of the user interface was difficult… it was hard to theme applications… you couldn’t really use something like CSS at the time. My favorite problem was in regards to writing a reusable user interface across phones. For example, let’s pretend we were writing an expense tracking application for the Nokia 9500:

Nokia 9500

The first thing to notice is there’s a nice wide screen when the clam-shell is open. There’s a lot of things you can fit into your user interface when the phone is in that mode. Ok, now let’s pretend that the user closes the clam-shell so you have a smaller screen available. What does your application UI do? Do you present another view of your application, the same screen? Will everything fit? Who knows? Take this thinking a step further and imagine writing a reasonable reusable interface across phones like Nokia’s older s60 line… and so on…

s60 nokia phones

Those were the days!

On a side note, this is one area I think Apple is brilliant in. Have you noticed that their mobile phones have had the same LCD size for a few generations? Have you ever thought why? In my opinion, it makes the life of a developer easier when it’s something you don’t even worry about. I predict that Apple will continue this pattern for awhile.

In the end, it’s exciting to see so much open source action in the mobile space, especially when my favorite license is involved… the Eclipse Public License.

  • I’ve been (and still) using Symbian S60 since the very first phone Nokia came up with, the 7650. I love it and its’ market share is impressive. Yet, it never did fulfill its’ promise to bring a plethora of applications. Possibly because it failed to attract developers. It seems that Nokia will shift to Maemo eventually.

  • I’ve been (and still) using Symbian S60 since the very first phone Nokia came up with, the 7650. I love it and its’ market share is impressive. Yet, it never did fulfill its’ promise to bring a plethora of applications. Possibly because it failed to attract developers. It seems that Nokia will shift to Maemo eventually.

  • a_car_lover

    I don’t want to start a debate on Nokia vs Apple, but the blog is comparing apples to oranges (no pun intended) and even there, the orange is described as a lemon.

    First of all, Nokia has a few dozen smart phones in the market compared to essentially one product (and its three variants) by Apple. The business model and markets addressed by either company is different and hence, the strategy with respect to different screen sizes cannot be compared directly.

    Secondly, even though there are different screen sizes for Nokia’s smart phones, over the last 3 years or so, they have been coming in the same resolution – QVGA (320×240 pixels) in either landscape or portrait modes. The recent touch screens (S60 5th edition) are 640×360 pixels and again, the resolution is consistent, though the screen size differs according to the target demography. So as a developer, UI layout is not as difficult as the blog makes it out to be.

  • a_car_lover

    I don’t want to start a debate on Nokia vs Apple, but the blog is comparing apples to oranges (no pun intended) and even there, the orange is described as a lemon.

    First of all, Nokia has a few dozen smart phones in the market compared to essentially one product (and its three variants) by Apple. The business model and markets addressed by either company is different and hence, the strategy with respect to different screen sizes cannot be compared directly.

    Secondly, even though there are different screen sizes for Nokia’s smart phones, over the last 3 years or so, they have been coming in the same resolution – QVGA (320×240 pixels) in either landscape or portrait modes. The recent touch screens (S60 5th edition) are 640×360 pixels and again, the resolution is consistent, though the screen size differs according to the target demography. So as a developer, UI layout is not as difficult as the blog makes it out to be.

  • I didn’t mean to directly compare Apple and Nokia mobile application development, I was more stating the problem of developing user interfaces for mobile devices, whether they are phones or not. In the past, I had to target Windows Mobile devices, Nokia Communicators, Motorola and portable devices. One problem was UI layout but that wasn’t the only problem. There was the “clam-shell dual ui” issue like I mentioned, the other was something I’ll call device normalization. Some devices have different input mechanisms… from a pointer, a touch screen to smart buttons. Should you display your user interface differently based on the input? Buttons may be OK if the device has a touch screen, but not if there’s just smart buttons. That’s part of the challenge.

    Thanks for responding by the way.

  • I didn’t mean to directly compare Apple and Nokia mobile application development, I was more stating the problem of developing user interfaces for mobile devices, whether they are phones or not. In the past, I had to target Windows Mobile devices, Nokia Communicators, Motorola and portable devices. One problem was UI layout but that wasn’t the only problem. There was the “clam-shell dual ui” issue like I mentioned, the other was something I’ll call device normalization. Some devices have different input mechanisms… from a pointer, a touch screen to smart buttons. Should you display your user interface differently based on the input? Buttons may be OK if the device has a touch screen, but not if there’s just smart buttons. That’s part of the challenge.

    Thanks for responding by the way.

  • Dave

    “On a side note, this is one area I think Apple is brilliant in. Have you noticed that their mobile phones have had the same LCD size for a few generations?”

    But they managed to achieve that only by choosing an impressive resolution at the time they launched two and a half years ago. What happens when that fixed resolution starts making their phone look primitive? Droid already has almost twice the resolution, so it probably won’t be too long now. Will they ever be able to bump it up, or are they held captive by their 100,000 applications that have all been designed down to the pixel?

    Sometimes avoiding a problem is a good strategy, but it can also make things much more difficult when you finally have no choice but to solve it.

  • Dave

    “On a side note, this is one area I think Apple is brilliant in. Have you noticed that their mobile phones have had the same LCD size for a few generations?”

    But they managed to achieve that only by choosing an impressive resolution at the time they launched two and a half years ago. What happens when that fixed resolution starts making their phone look primitive? Droid already has almost twice the resolution, so it probably won’t be too long now. Will they ever be able to bump it up, or are they held captive by their 100,000 applications that have all been designed down to the pixel?

    Sometimes avoiding a problem is a good strategy, but it can also make things much more difficult when you finally have no choice but to solve it.