Thursday, June 21, 2007

What Sun has in store for us?

I've attended Java Technology Day here in Israel and while this is a technological conference, it has deep implications on the mobile content we're about to see in the following years.

As you probably know Sun's J2ME (Java for mobile devices) became the de-facto standard for mobile applications in Europe, and is also rather popular all around the world, pushing other platforms such as Qualcomm's Brew aside (even in the US).

One of the major problems with J2ME is the lack of compatibility among devices. One of the reasons for this situation is that Sun's standard for mobile devices (MIDP) didn't require them to implement APIs for common features (such as multimedia, SMSs, Bluetooth etc.). This made developers to release several builds for each device according to its specific API support.

To solve this problem Sun has defined (in a process led by Nokia and Vodafone) a standard called MSA (Mobile Services Architecture). This standard has much more strict requirements from devices and as such can push the market into standardization. MSA comes in two flavours: full and MSA subset (for weak devices). Even in the MSA subset standard the following are a must: Multimedia, Messaging (SMS), Bluetooth, 3D graphics, SVG (Scalable Vector Graphics) and PIM (Personal Information Management, i.e. access to the contact list and other files on the phone, such as pictures, MP3s etc.).

When J2ME started it was quite limited (somewhat due to the traditional "sandbox" approach), but as you can see the added APIs can leverage mobile Java applications into a whole new level.

Of all the APIs mentioned above, SVG is probably one of the more strategic ones for Sun, and useful for developers. Unlike bitmap graphics, vector graphics allows lossless scaling of graphic objects and is more suitable to some applications including mapping and can also help handle the difference in devices' screen sizes in games and animations.

The emphasis on SVG and its definition as a must even in the MSA subset is probably due to the gap closing by Sun's nemesis Adobe. Adobe has won the battle over the desktop with its Flash technology, mainly due to the difficulties users are having with installing the JRE which is the Java plug-in (And not a word about Microsoft's role in that...).

Now, Adobe is headed towards the mobile with its Flash Lite technology. In the mobile world Sun currently has a big advantage and that's its big install base, but Sun knows better than to sit still and is targeting one of Flash's flag features: Vector graphics.

The PIM API is also extremely important: Not only it allows interacting with the contact list (which is useful for community/friends driven applications) but it also allows access to local files on the handset. This means that Java apps are able to play MP3s and show pictures from outside their sandbox.

Another API worth mentioning which is not included in the MSA subset but on the full MSA is CHAPI (Content Handling API). This API allows Java applications (as well as native ones) to run other Java application to handle specific types of content, in the same way that on your PC browser when you click a resource of a specific type (PDF, MP3 etc.) it launches the relevant application.

So, to summarize, the new APIs, and their availability on a multitude of devices, opens a door to a whole set of new applications and new market opportunities. Now go get 'em!


P.S. - Expanding the standard set of supported APIs is great, but it is not a complete solution to the problem. Device manufacturers/mobile JVM vendors have been known to cut corners on Java implementations, and even the base API is sometime different from phone to phone (preventing the application developer from releasing a single build that fits all). So it is certainly not the end of porting - but it's a good step in that direction...

No comments: