Feb 19, 2009

Eclipse Mobile Industry Working Group

I am very pleased about the progress that have been made on the very first industrial working group of Eclipse. The initial discussions about a “Mobile Industry Working Group” was started during EclipseCon 2008. This time he initial discussions did lead to some progress and EMIWG got established with its initial participants as Nokia and Motorola with this charter.

Recently, RIM, SonyEricsson and IBM have also announced their participation on the working group. With their participation, I think the working group is now covering a good portion of the industry. Come to think of it, it covers most of the manufacturers that carry Java ME, however I must note that the group’s scope goes beyond Java ME and covers mobile web and native. Currently, an effort started for defining a “Mobile Application Development Kit” that aims to define and package Eclipse projects for mobile development. Now that the momentum is growing around the working group, I think we will possibly see some goodness coming from this very first Eclipse industry working group. If you are interested to see what is it about, or participate, you can find information including the participation information on the wiki.

Before anyone asks; yes, “Eclipse Mobile Industry Working Group“ is a bad name also the “Mobile Application Development Kit” is no good either. There are a few new names proposed for them and new proposals are welcome.

Read more →

Feb 13, 2009

Touch enabling Java ME applications

I was reading a mini review of the Nokia 5800 xpressmusic phone. Blog entry complains some that even though the phone has a big screen, the virtual keypad takes a lot of space and the Java applications can not really take advantage of the screen estate. I think the below screenshots of the same MIDlet with and without the virtual keypad illustrates the problem. Actually, this problem is not entirely phones fault.
LCDUI application without virtual keypadLCDUI application with keypad
One interesting fact about the Nokia 5800 is it is the first touch phone that carries eSWT on the device. If you are a developer who is using eSWT to develop Java ME applications, (or  a user using only eSWT applications),  you can stop reading here and enjoy your favorite beverage. eSWT does not have a virtual keypad that takes screen estate so the below explanation does NOT apply to eSWT applications.
I should first start by explaining why do we have the virtual keypad anyway. The main reason for Nokia to carry eSWT as an alternate UI toolkit on devices is MIDP’s UI toolkit (LCDUI) lacks the flexibility and the features that are available on modern smartphone platforms. In order to overcome the lack of features, MIDP developers create their own UI components using the basic graphics drawing capabilities of LCDUI on a full screen Canvas. Many of the applications (GMail mobile client, Opera mini etc. ) today draw their widgets. There are even UI toolkits that are build on the same design. These applications and frameworks are not based on the components of the platform, as a result they need to handle the touch interaction themselves. Since the size of the touch enabled Java ME device market was small, most applications ignored touch and did not have this support . Hence, the virtual keypad was introduced to touch devices so that the applications would still work even if they were not adjusted to touch use by its developers.
Now the instructions on how to get rid of the virtual keypad on a Nokia S60 device?"
As a user, there is a well hidden preference that you can use to disable to keypad. It can be reached from Settings –> Application Mgr. –>Installed Apps. then select your MIDlet from the list and goto Suite Settings, On Screen Keyboard is the first option.
As a developer,  If you have enabled touch for your application then you can use the Nokia-MIDlet-On-Screen-Keypad attribute to configure the virtual keypad feature. More information on the attribute is available in this wiki article. Another good resource for touch enabling Java ME applications is this JavaOne presentation that I and Aleksi Uotila presented last year.
Read more →

Feb 5, 2009

Bundle Marketplace

How come there is NOT as many eSWT/eRCP applications as iPhone applications?

The traditional wisdom on the mobile world would tell you that “there should be a large number of mobile phones with eSWT capability on the market so that it is feasible for applications to target eSWT”. I do not agree with this, come to think of it, I never did. Nokia has at least 8 models on the market that carries eSWT. I do not have the numbers for all the models but the lately released touch enabled 5800 XpressMusic sold 1 millon in a very short time. In addition to Nokia there are other manufacturers that carry S60 phones. I am aware of at least three Samsung models that has eSWT. Also there is a big number of Windows mobile based phones that has the possibility to download and use eSWT. Overall the number of eSWT enabled phones are way over the number of iPhones and iPod touches today and the number is increasing rapidly.

So what is really the reason for growing number of iPhone applications? eSWT is a toolkit that works with an application environment, nowadays it is widely used either with eRCP or MIDP. None of these application environments provide a clear revenue path for application developers, while iPhone with its application store does. So it is mostly about the money.

However, I believe there is another Eclipse technology that is also suffering from the same problem. Eclipse RCP technology is not getting the wide adoption it deserves. I know that RCP is getting some attention on the enterprise market, however on the consumer applications it barely exists. Especially, RCP applications that target consumers could use a good distribution channel that accompanies a payment system for commercial products. Simply a bundle marketplace, similar to Apple’s application store that enables the discovery and distribution of the RCP applications and OSGi bundles. Such a platform would open the way for RCP/eRCP applications to a whole new market.

Read more →