Header Sep
Latest News
My Rating Score
Login to rate page

March 31, 2005
Sony Ericsson reveals Java platform strategy, making developers' lives easier

[Back]


Sony Ericsson has adopted a Java platform strategy for its mobile phones that we believe is key to supporting content developers in their struggle to create applications for a variety of phones. Currently, there are five Java platform versions used for Sony Ericsson feature and mass-market phones and two for Sony Ericsson smartphones. By making Sony Ericsson's Java Platform Strategy available to the developer community, we'll be helping developers concentrate on enhancing the game-playing experience for the end-user, instead of spending all of their time on porting issues. As new Java Platform versions are introduced in the future, we plan on making these public too.

Below we present the background to this Java Platform Strategy as well as the contents of each Java Platform version used in Sony Ericsson phones.

Opportunities and challenges for the Java content market

The Java enabled handset and mobile games market is booming. New games and Java-enabled handsets are released across the globe on a daily basis (there will be a total of about 2 billion mobile phone users globally within the next year or so and according to Ovum there are 450 million Java-enabled handsets today). This represents the biggest potential platform for electronic games in the world. The anticipated growth in mobile Java applications is tremendous, especially when it's driven by the increased availability of J2ME MIDP 2.0 and JSR-184 enabled phones.

For Java content developers, this represents a great market opportunity to establish new brands and titles, as well as make money. But however great these market opportunities seem, mobile game developers are faced with one major challenge: how to get their games to work on hundreds of different devices, for different mobile operators and different languages.

The challenge consists not only in that the phones are based on different JSR's, but also because different handset manufacturers have implemented the same JSR's differently. In some cases, they've even done unique implementations for each new device. Most developers start by programming their game for one or two key phones on the market, based on either volume considerations or the supported key-technology features. Or a combination of both. Then each game has to be ported to, and quality assured on, a broad range of phones in order to maximize market value. In general, developers either have to spend a lot of time on porting issues in order to publish their applications for as many handsets on as possible, or settle for a sub-set of phones.

In brief, content developers may just find themselves in one of the following dilemmas:

  • They end up spending a major part of their time learning the specifics of each phone and J2ME platform implementation and then work on porting. Less time is available for the development of new games and applications that are necessary for future income and growth.
  • They have to consider the least common denominator when working with feature-sets in order to have content that is truly portable across all phones. Since the quality of implementation and the number of features of J2ME enabled phones differ a lot, this prevents innovation as well as the effective use of new features.
  • They're forced to focus on a sub-set of those phones available on the market in order to optimize the outcome of their work.

Porting work facilitated through platform strategy

Even though many handsets support the same API set, interoperability isn't guaranteed. The detailed behavioral semantics of a J2ME enabled phone usually differ between each handset. This can be anything from screen size, execution speed, memory management, 2D and 3D graphics sub-systems, networking system, Bluetooth sub-system, etc. It can even be about implementation issues - and the list can be made longer. The reason for this is that the major aspects of behavior are defined by the mobile hardware and software platform in which the Java environment resides. And in many cases, this represents a device-unique platform.

Sony Ericsson actively works to minimize the differences in behavior between its J2ME enabled phones with a platform strategy and an evolutionary approach to its Java implementations. This means that we effectively minimize the number of platforms that developers have to work with. The idea is to maximize interoperability and minimize the differences between Sony Ericsson phones supporting J2ME. All this towards the objective of minimizing the effort required to program for different Sony Ericsson phones. Once you've programmed for one of them, you'll be able to program for the others.

Some rather old porting tips on how to adapt your MIDlets from Nokia Series 40 to Sony Ericsson phones, as well as a recent paper on how to port games and other applications from BREW to J2ME and to Sony Ericsson phones can be found here>>

Sony Ericsson Java platforms

Sony Ericsson has two main J2ME platform paths for its phones. The first is for Symbian OS based smartphones and the other is for feature and mass-market phones, i.e. the non-Symbian OS based phones. Both of these J2ME platform paths are implemented through an evolutionary approach in order to maximize backwards and forwards compatibility between platform versions. Normally, each platform version is used in several phone models. For instance, the K300, K500, K700 and S700 series share the same J2ME platform version. This means that both quality assurance and end-user experience is largely shared between these phones. It also means that porting applications are made much easier for content developers.

A list of Sony Ericsson J2ME platform versions and the phones that are based on them can be found below. This will help content developers plan, program and target their Java applications to the greatest number of phones possible.

Sony Ericsson has made some Java features in its Java Platforms optional, i.e. configurable. These optional features are added when it makes sense to do so, for example, the Bluetooth API's (JSR-82) are only enabled for a specific phone based on a specific Java Platform version when the phone actually supports Bluetooth radio communication.

Java platforms for Sony Ericsson feature and mass-market phones
JP = Java Platform

We have also created an Excel sheet with a matrix of the above Java Platform versions, phones available and screen sizes. javaplatformversionsandscreensizesJune2005.xls


Java platforms for Sony Ericsson smartphones (Symbian OS phones)


For a complete technical description, refer to the Java Developers' Guidelines.


Harmonization of screen sizes
Another challenging porting issue for content developers is the varying screen sizes available on the market. To facilitate porting to, and between, Sony Ericsson phones, we've decided to support the following five screen sizes:

 

 

My Rating Score
Login to rate page