This week’s news from Sprint Nextel marks a cornerstone of OSGi adoption:
Sprint has released its first developer version of the Titan platform,
an OSGi based next generation mobile Java stack. Titan was announced on
the last Application Developer Program (ADP) Conference and is now made
available for download at developer.sprint.com . This is very exciting news for a number of technical, business related and strategic reasons!
First of all, let’s take a look at what the Titan SDK contains:
1. A self-contained Java runtime stack for Win Mobile 6 PDA phones. It is a dual stack system consisting of these components:

(Source: Titan documentation)
The stack comes as a cab file, the package format for Win Mobile applications.
Architecture.
The architecture is entirely transparent to developers and end users.
Plain old MIDlets are executed in the CLDC VM runtime whereas eRCP
applications and OSGi bundles run in the CDC/OSGi VM process. The OSGi
stack runs in background mode and handles installation, uninstallation
and launching of all applications and components. For this reason Titan
contains a set of AMS related components which tie into the OSGi
runtime.
Supported Standards. Despite its new architecture, Titan is build upon industry standards. It supports:
Application models.
The current version of Titan supports POMs (plain old MIDlets), OSGi
bundles and Deployment Packages (DPs) as well as eRCP applications.
Other application and package formats may be added in future, a widget
based web application model being one of those. I would have loved to
see support for OAMs (OSGi Aware MIDlets, i.e. MIDlets that are allowed
to access CDC APIs and thus make use of all the beauty of OSGi) but
that’s not the case currently. Titan comes with LCDUI and eSWT UI
toolkits.
Manageability.
One of Titan’s core concepts it manageability. The runtime can be
managed from a developer host (using an IP based management protocol)
as well as remotely via the OMA-DM protocol. For this reason it
contains a full OMA-DM and DL client implementation.
Developer Support.
The Titan stack runs on target devices as well as in the Win Mobile
emulator that you can download from Microsoft. Moreover, the stack can
be launched in normal runtime mode, in debug mode or in profiling mode
(requires the tooling add-on, see below).
2. An installation package
Titan device tools :
This package contains the client side interfaces for the Eclipse based
Titan Tooling plugins (debug and profiling libs for the VM, local
console app for the OSGi runtime, an agent that communicates with
Eclipse, etc.)
3. A set of
Titan Tools Eclipse plugins .
All the good stuff developers need: VM launcher, DP Editor, OSGi remote
management plugin for deployment, installation and launching of apps
and bundles and a Java profiler.
4.
Demos and
documents.
Sprint provides a set of videos on how to use the various tools as well
as a good documentation on Titan (you need to install the Eclipse
plugins to get the docs. Install them and open Help-Help Contents-Titan
Developer’s Guide in Eclipse).
I have to admit that I am pretty
excited about what they provide and it gives me a hard time to not make
this blog a sales pitch for Sprint. Here’s why I believe that Titan is
a great step for mobile computing.
What’s in for developers?Titan
offers a lot of enhanced features for mobile application development.
The modularity and service registry concepts of OSGi open the door for
component based designs, allow code sharing, provide sophisticated
solutions for version and security management and offer remote control
out of the box – just to mention a few of the many benefits.
Secondly,
Sprint offers several application models from which developers can
chose. Legacy MIDlet applications are still supported but if you need
more than just that you can write bundles, eRCP apps, widgets and
perhaps other models which Sprint might add in future. Apparently, the
choice of picking the right model has now been taken from the device
OEM or operator and been given to those who know best what they need:
the developers. However, in contrast to other more or less proprietary
platforms like Android, almost all public APIs are based on industry
standards and thus secure your investments.
The tooling package
provided by Sprint will ease the first steps, although there is still a
lot that could and should be added over time (i.e. GUI builder á la
NetBeans ).
What’s in for Enterprises?There are at least three reasons why I think enterprises should get involved with Titan:
The
market place of mobile platforms is right in the middle of a massive
fragmentation process. In terms of open application platforms, until
today the choice was more or less limited to
MIDP2 ,
Nokia S60 ,
UIQ ,
Win Mobile and
Brew . Tomorrow, a colorful bunch of additional platforms will penetrate the market of smart phones:
Android , several Linux platforms like
LiMo ,
Qtopia ,
MLI , perhaps
MIDP3 ,
Maemo ,
iPhone SDK ,
JavaFX Mobile ,
etc. etc. Once ported to all Sprint phones – which I assume is Sprint’s
strategy – Titan will provide a homogeneous cross-platform runtime and
thus eliminates the fragmentation issue of the underlying layers. This
is a huge benefit for enterprises that face the burden of supporting
different phone platforms.
Secondly, the introduction of
OSGi /
eRCP /
eSWT is
a powerful set of capabilities. For enterprise developers this
technology is of particular interest. eSWT offers a large blend of UI
widgets that enable development of rich apps. eRCP is a subset of the
Eclipse RCP technology
(the „e“ in eRCP stands for „embedded“), which seeks a lot of attention
from visual desktop application developers (find a list of known RCP
apps here). The Eclipse IDE itself, which is based on RCP, is the best
example of what you can do with it. Frankly, Titan leverages desktop
development know-how and technology to mobile handsets.
The
third reason is Titan’s remote management capabilities. The key use
cases are: Remote deployment of new apps, updates and upgrades, remote
removal of deprecated apps, remote monitoring and remote configuration
of your platform and your apps.
What’s in for Sprint?Hopefully
a positive impact on its share price! ;-) The fragmentation problem
described in the enterprise context above is equally challenging for
Sprint as a network operator. Sprint has built up a large and lucrative
application and content ecosystem. Today, most (if not all) of those
apps are MIDP2 based. What will happen after MIDP2, though? What can
MIDP2 or Brew provide to enterprise developers? Presumingly, Titan is a
strategy to offer innovation and yet to satisfy legacy support.
Looking
at Titan from a non-technical angle, it appears to me as another
episode of the war for share in added value services. Since margins are
falling for both mobile hardware and telephony services, device OEMs
started to go downstream and battle against operators for service
revenue (and so do players which have no traditional roots in the
mobile market, i.e.
Google ,
Yahoo! ,
etc.). Titan – a container technology that is supposed to secure and
extend Sprint’s ecosystem business – could be one element of Sprint’s
competitive positioning.
What are the downsides?Well, I guess it is just fair to mention that, alike any other new technology, Titan implies some challenges as well.
The current version of the downloadable Titan runtime works for Win Mobile 6 PDA only. The readme says that it is tested on the
Sprint HTC Mogul device only but I know that it works on other devices, i.e. the
HTC Touch , as well. Anyway, market penetration requires additional platform support which Sprint already announced in this presentation.
Footage
of Titan is probably not an attribute people will get particularly
excited about. ROM footprint is around 17.2 MB (incl. everything; size
of the OSGi framework is just a couple of 100k) and RAM around 11 MB
(stack only, no apps started). Considering the rapid increase of
handset memory size and processing power, I don’t think the Titan
footprint is really a serious obstacle.
After all, Titan is good news to all of us OSGi enthusiasts. Let’s hope that it’ll gain rapid market acceptance!Notice: Sun has
created a Sprint Titan stack as well and released that right after the
last Sprint ADP Conference in December 07. Similar to the package
described above, Sun's solution comes with
tooling integration and
documentation . Definitely worth reading!
Stay tuned...
- Jo