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:
Hackday - Tips, Tricks, OpenData sources, and Developer Resources for Mobile Application Developers - Hackday events are becoming quite common, many local government
agencies embracing the format and opening the doors, and their data
vaults, to local developers, hackers, and those simply looking to mashup
some data. Read on for Tips, Open Data sources, Developer Tools, Mobile
Dev resources and more!
The Really Big List of Mapping, Geo location Mobile developer resources, APIs and Tools - The Mobile Ecosystem... no question that mobile is huge and
the opportunity for developers, in particular, geo developers! There's
loads of developer resources on the web so to help the developer,
here's a listing of just some of the fine dev resources, blogs,
toolsets and more to consider when developing or porting your app to a
smartphone or Tablet.
Mobile Technology Feature - Top 10 Business Apps for Android - Android has become one of the most popular mobile operating systems
in the world due to advanced software, competitive manufacturers, and an
app market that is filled with exciting and useful applications. Read
on for this fine Top 10 List compiled by tech writer, Blake Sanders
ArcGIS.com Mashup Tutorial with Flickr and Foursquare data-
Here's a simple "how to" tutorial on working with the free ArcGIS.com
to easily import KML or RSS data from Flickr and foursquare into ArcGIS
to create your own custom map mashup.
Most Users of Free Photo Apps Say Adding Cool Effects is Most Useful - Adding cool effects
to photos was rated as the most useful thing by more than halfof
consumers surveyed using free online photography services, according to
CatchFree a free
online service that helps people find the best free mobile and web applications
to perform useful tasks.
Flickr GPS Photo Tag Tip - Here's a tip for Flickr users who want to share their GPS information
with their photos. note, in order to do this you'll need to be
capturing photos using a GPS-enabled or GPS-aware camera (see you're
smartphone hardware settings to ensure that GPS or location sharing is
turned "ON)".
Social Location Directory
Do you have a location-aware application, social location service or other location-sensitive service that you'd like to share with us? Please browse this growing directory of Social location Services and feel free to leave a link to your favorite service! See the Directory HERE
Suggested Reading
The Underground Guide To The iPhone:
The iPhone is – if I may say so – one of the greatest mobile
revolutions of the past decade. More and more, mobile phones seem to
materialize out of our wildest dreams. Because of the tight integration
of third-party applications, you can do nearly everything with your
device — be it gaming, working, fooling around, and of course phoning.
Good Mobile Messaging: Executives and professional field forces spend an increasing amount of time on the road tending to business.
Mobile Apps - Native or Web?:
You probably have a plan to build a mobile app, but you've struggled
with the basic question - Should I build it using open web standards
such as HTML, CSS, and JavaScript, or should I build it as a native app
for the devices I want to target?
Location summit 2012 - Back for its third year, the Location Business Summit will bring
together senior level executives from across the whole breadth of the
location ecosystem to discuss strategies, form partnerships, compare
trends and forge new business ventures. May 22-23, 2012, Amsterdam
WhereCamp Berlin 2012 - For those passionate about geographical specialties, WhereCamp Berlin
is gathering its attendees on the 22nd and 23rd of June. Everyone is
free to present and share topics, news and trends