Smartphones (advanced capabilities).
One of the key features of a smartphone is extendability
through third party applications.
Development environment will largely depend on the OS
and other features of the specific phones.
Define different mobile development environments
Find out their strengths and weaknesses
Smartphone OS Market Share
Symbian is even more
dominant in Finland
Linux doing well in Asia
Windows doing well in United
OS Market share 2005
Device volumes for developing
800 Million handsets sold
Devices able to run:
(C# or VB.NET)
Browser based is cross
Flash Lite can be run when a
standalone player is found.
OS Developer environment support
Native Symbian (C++)
Found also in non
smartphone OS’s, such
as Nokia Series 40
Java virtual machine
Ideal for an all
around solution, if the J2ME platform provides the
KVM (Kilo virtual machine)
Complete Java runtime environment for
Small static footprint of 50 to 80 KB
As complete and fast as possible
Configurations detail a base set of APIs that
can be used with certain class of device.
CLDC (Connected Limited Device
For small wireless devices with network
Support found in today’s mobile phones.
CDC (Connected Device Configuration)
Subset of J2SE, containing almost all the libraries
that are not GUI related. It is richer than CLDC.
For larger devices with a robust network connectios.
A profile builds on a configuration but adds
more specific APIs to make a complete
environment for building applications
MIDP (Mobile Information Device Profile)
Defines device specifics (screen size, input, memory
Build on top of CLDC
Covers area omitted by the CLDC
MIDP 1.0 and 2.0 available
MIDP covered areas:
Application life cycle management (classes and
methods for starting, pausing and destroying
User interface and events (classes and interfaces for
creating GUI components).
Network connectivity (extends CLDC connectivity
classes to allow HTTP connections).
Storing data on device (implements record
database management system).
MIDP 1.0 is the base version.
MIDP 2.0 is downward compatible with MIDP 1.0
2.0 improves and enchances the profile in many
significant ways (threading, security etc.)
Applications written for MIDP are called MIDlets.
Almost all new mobile phones come with a MIDP
J2ME additional APIs
File I/O and PIM (JSR
Bluetooth API (JSR
Mobile Media API (JSR
Location API (JSR
Others (SIP API, Web Services API, 3D
Graphics API, Scalable 2D Vector
Graphics API and so on)
J2ME Strengths & Weaknesses
Lack of learning curve
Non native GUI
No access to all
Not as fast as native
MIDP 3.0 ?
248) to avoid API fragmentation.
Rich UI support matching native capabilities.
Enables platform extensions after manufacturing.
Device Remote Management.
Service oriented modularity.
Symbian is an independet company whose mission is to establish
Symbian OS as the world standard for mobile systems.
Symbian sells licenses to the phone manufacturers.
Buyers are mostly the same companies that own Symbian Ltd.
Symbian OS History
Symbian OS 6.0, 6.1
Symbian OS 7.0
(S60/UIQ 1st Ed.)
Symbian OS 8.0, 8.1, 8.2
(S60/UIQ 2nd Ed.)
Symbian OS History (continued)
Symbian OS 9.1 (S60 3rd Ed.)
Symbian OS 9.2 (S60 3rd Ed. FP1
Symbian OS 9.3 already coming.
Symbian Software Platforms
Software platform offers a GUI layer to the
It usually consists of a suite of libraries and
There are two main Symbian software platforms:
S60 (Nokia), which is designed to be used with only
UIQ (SonyEricsson), which is designed to be used
with a touchscreen (two hands).
Both support Symbian C++ and Java (J2ME).
Binary break between S60 2nd and 3rd
Formerly hard to find the right tools.
Now free Carbide.c++
Nokia SDK support
Access to native APIs
Ideal for speed
critical applications with a long timeline
and options for significant development investment.
Flash Lite is a subset of Flash
developed for mobile devices.
Flash combines easy GUI development
(vectors) to a scripting language.
Some of the current phones support
Flash Lite 1.1 (2004
1.1 based on Flash 4, which has significant limitations
(such as Actionscript 1.0, no persistent data etc.)
Flash Lite 2.0
>) improves the platform to
cover these shortcomings
Based on Flash 7
Device video support
Ability to store and retrieve
XML and media support
New Mobile Emulators
Flash Lite Strengths & Weaknesses
Development like in
Phones missing the
Complex is complex!
Ease of development
Network data rates
Ideal for lightweight functionality, a web
interface for an existing application with
no latency concerns, or a widely varying platform base
Example: Sonera vs. Elisa MobileTV
Although Linux worlwide OS market share was
23%, it is yet to make a large impact in Europe.
Linux smartphones have had the greatest
success in Asia (China).
Support for native C/C++ applications and J2ME
OS comes with different flavors (QTopia,
Montavista, Mobilinux, Bluecat etc.)
Each have their own implementation of Linux
and atleast some differences in developing.
Most of the Windows Mobile phones sold
in United States.
Support for C# and VB.NET
Visual Studio 2005 is the development
environment for Windows Mobile.
Does not support Java (J2ME) out of the
based device support (North America and
Software for the BREW
enabled handsets can be
developed in C/C++
Competes mainly with J2ME. Mostly used to develop
small application, such as games.
High level programming language.
Ease of coding and readability over
"Speed is not a problem until it is a problem".
Especially good for prototyping.
Mobile phones need a runtime library
(available for S60) in order to run Python
Development field is widely fragmented.
Rapid changes makes it even harder.
Careful planning needed when choosing a
Alot of testing and sweating needed.
Already possible to create future
5 MPixel camera
Symbian OS 9.2 (S60 3rd ed. FP1)
Support of all today’s Java APIs
Flash Lite 2.0 integrated