Blog

SE: Directory structure changes in JP-8.5

August 3, 2009

Sony Ericsson published today an important notice, announcing a directory structure change between their existing Java Platform JP-8.4 release and the new JP-8.5, changing some of the root paths.

For more details: http://developer.sonyericsson.com/community/message/127339#127339

On J2ME Signing or how J2ME signatures kill mobile innovation

July 20, 2009

I’ve been involved in mobile service development for quite a while now. I can’t escape comparing the huge leap web based applications have made compared with mobile services. Not that mobile applications did not progress over the past years but surprisingly mobile data services did not manage to reach the mass market – the average user who doesn’t want to be bothered with configuration, certification, permissions etc. The average user just wants an application that works on a standard mid-range device.

The key to accessing the mass market of mobile users is providing your application on a J2ME (Java 2 Micro Edition) platform (such as Nokia S40 and SonyEricsson JP-x phones) not Symbian or Windows Mobile which represent anywhere between 5% and 10% of the Worldwide phone market. Okay, you may say, what is the problem here? Just develop an application on J2ME, allow everyone to download it and distribute it like any other application on the Internet.

Here is the major problem of mobile application development – J2ME applications require to be signed in order to be downloaded and activated on the phone. Moreover, you need also the right signature to access various data on the phone.

There are 3 main levels of signing:

  1. Handset Vendor or Mobile Operator signature – allows access to all the applicable APIs and allows setting permissions so they do not interfere with the normal application flow;
  2. Trusted Third Party signature – allows limited access to the phone’s API, requires the user to manually confirm various permissions on the device for the application;
  3. Non-Trusted Third party – very limited access to the APIs and really annoying permission set.

If I want to develop a really seamless application with full access to the phone, I need either a Handset Vendor signature or a Mobile Operator signature. Both signatures are unobtainable for anyone who just wants to develop an application and distribute it over the net.

Moreover, even if I sell my service or application to mobile operators I have a problem since about 50% of the devices on any given network are NOT bought through the mobile operator but from 3rd party stores who do not have the root certificates of the operator on the devices they sell.

As a result, no application developer can ever address the full potential of the market without a signature from the handset vendor. Just one “small” problem here – no one can get this signature other than the handset vendors themselves.

The outcome is that the handset vendors have an unfair advantage over anyone (including the mobile network operators) with mobile service development. Interestingly enough, with the more advanced mobile phone platforms such as Symbian there is a simple way to receive equivalent signature through a process called “Symbian Signed” – so why not with J2ME?

Just imagine if this was not Nokia, SonyEricsson or Motorola but Microsoft. Can you imagine the world wide response if Microsoft were telling you “you can develop an application for Windows, but if we were to develop the application, it would ork just a tad better, smoother and more efficiently”.