Sony Ericsson reveals Java Platform Strategy making developers' life easier
Written by Sony Ericsson
Tuesday, 07 June 2005
Recently at SymbianOne, they looked at Project Professional, an application which used the Sony Ericsson P910i's Java support for project management. Sony Ericsson have a comprehensive Java strategy, from their Symbian OS powered phones down. This paper from Sony Ericsson explains the strategy.
Sony Ericsson has adopted a Java platform strategy for its mobile phones which we believe is key to supporting content developers in their struggle to create applications for a multitude 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 public to the developer community, our aim is to help developers concentrate on enhancing the game-playing experience for the end-user instead of spending all of their time on porting issues. When new Java Platform versions are introduced in the future, we plan on making these public also.
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.
Background - Opportunities & Challenges for Java Content Market
The Java technology 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 in the world within the next year or so, of which, according to Ovum, there are today 450 million Java-enabled handsets globally), representing potentially the biggest platform for electronic games in the world The anticipated growth in mobile Java applications is tremendous, the latter 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, and to 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 devices for many different mobile operators and languages worldwide.
The challenge consists not only in that the phones are based on different JSR's, but also that different handset manufacturers have implemented the same JSR's differently, in some cases even doing 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 key technology features supported, or a combination of both. But then each game must be ported to and quality assured on a broad range of phones to maximize market value. Developers in general have to either spend a lot of time on porting issues in order to publish their applications for as many handsets on the market as possible, or settle for a sub-set of the phones.
To summarize, content developers may find themselves in one of the following dilemma:
They end up spending a major part of their work learning the specifics of each phone and J2ME platform implementation, and then doing porting work. Less time is available for development of new games and applications which are needed to secure future income and growth.
They must consider the least common denominator working feature-set across phones in order to have truly portable content. Since the quality of implementation and the number of features of J2ME enabled phones differ a lot, it prevents innovation and effective use of new features.
They are forced to focus on a sub-set of 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 is not guaranteed. The detailed behavioral semantics of a J2ME enabled phone normally differ between each handset. It can be anything from screen size, execution speed, memory management, 2D and 3D graphics sub-systems, networking system, Bluetooth sub-system, etc, and even implementation issues - the list can be made long. The reason is that the major part of the behavior is 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 by having a platform strategy and an evolutionary approach to its Java implementations. This effectively means that we minimize the number of platforms for developers to work with. The idea is to maximize interoperability and minimize differences between Sony Ericsson phones supporting J2ME, with the objective of minimizing the effort and learning required to program for different Sony Ericsson phones once you have programmed for one of them.
Some by-now rather old porting help how to adapt your MIDlets from Nokia Series 40 to Sony Ericsson phones, and 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; one for its Symbian OS based smartphones and another one for its 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, e.g. the K300, K500, K700 and S700 series share the same J2ME platform version. This means that both quality assurance and end-user experience is shared between these phones to a very large extent. It also means that porting applications is made much easier for content developers.
A list of Sony Ericsson J2ME platform versions and which 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
JP-1
Phones
Features
CLDC 1.0, MIDP 1.0, JSR-135
T610/T616/T618, Z600/Z608, T628/T630/T637
Optional
JSR-120
T616, T637
JP-2
Phones
Features
CLDC 1.1, MIDP 2.0, JTWI (JSR-185), JSR-120, JSR-135, Nokia UI API 1.1
Z1010
JP-3
Phones
Features
CLDC 1.1, MIDP 2.0, JTWI (JSR-185), JSR-120, JSR-135, Nokia UI API 1.1, JSR-184, Mascot Capsule Ver. 3
Another challenging porting issue for content developers is usually the varying screen sizes on the market. To facilitate porting to and between Sony Ericsson phones, we have decided to support the following five screen sizes:
Communications News
Serves the decision makers responsible for networking, voice data, and
video communications technologies at enterprise and service provider
The Geospatial Infrastructure Solutions Conference
(formerly Annual Conference) - The geospatial industry's first and
only industry conference completely dedicated to exploring, discussing,
and addressing the growing issues, challenges and solutions for
America's and the world's infrastructure. Seattle WA, March 9-12, 2008
The O’Reilly Where 2.0 conference brings together the people, projects, and issues inspiring change. Where 2.0 exposes the tools pushing the boundaries of the location frontier, tracks the emergence of new business models and services, and examines new sources of data and the platforms for collecting them. Discuss what's viable now, and what's lurking just below the radar. May 12-14, Burlingame, CA - Use code whr08lbs to save 15% off registration fees.
2008 ESRI International User Conference (ESRI UC)
- Users from more than 120 countries come to learn new skills, share
information, and discover best practices, tips, and tricks that they
can use instantly. Be part of this extraordinary experience August 4–8,
2008, in San Diego, California.