Two major questions are:
– is there a platform that is interesting enough for the developers to invest their time and learn how to develop for it, so that they can sell their skills and
– is there a platform that is interesting enough for the companies to monetize on the software developed for this platform.
When you come up with an idea for a new killer application, there’s always a question – which technology to use to maximize your user base and at the same time implement all desired functionality. Looking at the data here (ok, data is a bit old, Symbian has since announced 100mln devices shipped) a reasonable approach would be to start with high-end S60 smartphones, targeting early adopters and technology leaders, and then start supporting mid- and low-end devices.
That pretty much means – develop in C++ for S60. Well, go read an
excellent collection of developers’ opinions on problems with
developing for Symbian "Readers Write About Symbian, OS X and the
May be writing native applivation for S60 is not such a good idea to
begin with then. What about J2ME? Nowadays you can do pretty much all
the same using Java on the mobile as with native C++ coding. But try
using e.g. File System Access (JSR 75) or Multimedia API just to see
that this firmware does not implement a function that you use properly
and on that phone the same code behaves in a totally different way.
Quoting David Beers:
"J2ME MIDP is currently so fragmented that for all practical purposes
(development, testing, deployment) it’s a collection of related but
Steve Jobs has a more radical view on developing for mobiles and using
Java for that purpose in particular (via Ed Burnette):
"We define everything that is on the phone. You don’t want your phone
to be like a PC. The last thing you want is to have loaded three apps
on your phone and then you go to make a call and it doesn’t work
anymore. These are more like iPods than they are like computers."
All right, back to your killer app. After some sleepless nights you
finally choose between J2ME and C++ and write the first version of your
application. Now it’s time to run it for the first time on real
hardware. If you use S60 3rd edition phone/multimedia computer, you’ll
face the problem of signing.
For example, to access file system of the mobile phone from Java, you
need to use APIs defined in JSR 75. But if you don’t want to make user
answer "Yes" every time when your midlet tries to access file system,
you’ll need to have it signed. Self-signing is not working anymore,
since installation of certificates apparently was a "just a bug" in S60
2nd edition. What you have to do is buy a certificate for a year or two
from VeriSign (few hundred bucks). To use special capabilities (in other words – develop
sophisticated application that pushes technology to the limit) in
application written in C++, you’ll need the signing as well.
Antony Pranata, developer of the Screenshot application, wrote an open
letter to Symbian Signed:
describing problems that independent developers have to face. A good
read on the subject is also "Platform Security höllentymässä?" by Sami
Are these problems real?
Handango statistics indicates that for 2006 top sellers by revenue and
by units sold didn’t include any Symbian devices (thanks to Simon Judge for the link). But there are
some popular applications for Symbian smartphones. So somebody must be
writing them. Let’s take a look at a couple of Top-10 lists of
applications for S60 3rd edition.
"Top Ten Freeware Applications for Symbian S60 3rd Edition":
5 out of 10 applications are written by Nokia or someone related to Nokia, 1 is developed by other megacorporation – Adobe.
"Top Ten S60 3rd edition applications":
Same here – 5 out of 10 applications are written by Nokia or someone
related to Nokia, 1 is developed by other megacorporation – Google.
It’s definitely good that Nokia software is as popular as its
phones and multimedia computers. But is there a real mobile development
platform for independent developers? It looks like there’s only a
vague indication of it. S60 definitely provides excellent
opportunities, but there’s still a lot for Nokia to work on to attract
and most importantly keep developers. It takes a special talent.
Meanwhile, my deepest respect goes to all developers who write the
software for S60 smartphones despite all these difficulties. Hats off!