Do we really have a mobile development platform?

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
iPhone
".

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
incompatible platforms".

Steve Jobs has a more radical view on developing for mobiles and using
Java for that purpose in particular (via Ed Burnette):

"Java’s not worth building in [to the phone]. Nobody uses Java anymore. It’s this big heavyweight ball and chain."

"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
Kuhmonen.

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!


Comments

5 responses to “Do we really have a mobile development platform?”

  1. Alex Savin

    Hey, good point. I still wait for mobile kind of Visual Basic – if I remember correctly, that was the reason, why DOS eventually attracted developers.

  2. Ivan,

    I have reacted upon one of the articles you’re referring to about MAC OSX and Symbian. See it here: http://blogs.forum.nokia.com/view_entry.html?id=402

    The point is that I could not draw the same conclusion based on what the author had written. I believe most of his arguments are based upon halfly understood things and therefore not too much valuable e.g. from your point of view (which platform to choose?).

    I must admit, though, that this topic is hot and need to be carefully considered. But I’m afraid even after the most careful consideration there is no perfect choice. I would add Linux to S60 (Symbian) and Java even if there is no solid userbase for Linux-powered mobile devices. You know, it seems to be worth investing in.

  3. “Java’s not worth building in [to the phone]. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”

    All the same, almost all phones released today have Java ME / MIDP, and MIDlet developers are thriving, so Steve is clearly completely wrong, but there are enough people in this world that haven’t got a clue (probably including Steve) to believe in such nonsense.

  4. Very good post. I have a lot of carrier experience developing wireless data services and am very disappointed with mobile platforms. You are absolutely right, J2ME (or whatever it is called now a days) is not truly portable. Every phone, every platform needs to be tested for the vagaries of OEM, Carrier, Markets (yes, this is real, phones behave differently based on where you purchased them!). I have couple of programmers working on a simple idea and it is taking for ever to implement just because these issues. Some times I hope there is “Microsoft” of mobile phones where there is one platform to write to.

  5. Badly need your help. The advantage of a classical education is that it enables you to despise the wealth that it prevents you from achieving.
    I am from Micronesia and learning to write in English, tell me right I wrote the following sentence: “Compare travel sites save search made simple.”

    Waiting for a reply :-D, Paulette.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.