« Appstores: The blind marketeer | Main | Make it inviting »

January 20, 2009

What's your developer story?

Back in the old days, 3-4 years ago, mobile developers were concerned with fragmentation. Phones were very different, and where was the technology that was going to solve this darn fragmentation problem? Because, once that was solved, the path to the wallets of a billion mobile customers was surely wide open.

The merit of individual runtimes were hotly debated; Java ME, FlashLite, the browser-as-runtime, etc. The strength of each were measured by their installed base and their level of fragmentation. Java ME (J2ME) was practically ubiquitous, but a nightmare to code for. (The joke is: There is a billion Java phones out there. The bad news is that each runs its own version of Java.) FlashLite was comparatively less fragmented, there were only four different versions, but the the installed base was tiny compared to Java. Mobile browsers were getting great at rendering web pages, but offered no way to interact with the rest of the phone, so they could not really support applications.

Java ME primarily served the mobile games industry. There has been a decent amount of revenue in that business, but the majority of the money has been pocketed by operators who has kept raising the barriers to entry, thereby shutting out the bottom of the pyramid. To the point where the old mobile games industry is basically dead by asphyxiation.


OneStep1

The old landscape for consumer apps: A cross platform story

(By the way, this is about consumer apps, not enterprise development, so Windows Mobile for example is not in the picture.)

There is a new story to tell

Then the iPhone came along. In a typical "We're the best, forget the rest" fashion, Apple left out support for whatever operator network features they didn't like, like cross platform communication and interoperability features. Standards that the industry spent decades agreeing on and deploying. No MMS, no video call, no mobile TV, no Java ME, only the most rudimentary SMS. And for a reason. Why pay a dollar to send an image via MMS that the recipient probably can't view, when you can send an image via email, that is free and always work? features like MMS are poorly implemented on the handsets, poorly understood by consumers and basically broken. So why bother with them?

The unwillingness to follow standards is a cultural trait for the US I guess, where each operator tries to differentiate on everything. Less that ten years ago you could not send an SMS to a friend if he or she was on a different US network. In Europe there is a tradition for interoperability, the GSM standard itself is a good example. This is probably due in part to smaller markets and the cost benefit of common infrastructure.

Be that as it may. The state of the consumer app market has been broken up by new US entrants into the mobile space, most notably Apple and Google. They have opened up mobile app development to anyone, to "the bottom of the pyramid". They have decided to dance to their own tune. The iPhone and Android significantly dropped support for Java ME, the one cross-platform standard that were in place.

The ultimate fragmentation?

The result is the ultimate fragmentation. While previously there was only about 95% compatibility between brand X and brand Y, now there is precisely 0% compatibility.

But the strange thing is I don't hear developers complaining much about fragmentation any more. They may be too busy creating apps for the iPhone and Android. A straightforward, low barrier way to monetise your app apparently trumps standardisation any day. A way to make money is more important than a way to save money.


 OneStep2

The emerging consumer app landscape looks native, and the incumbents does not have a compelling story to tell

 I have added RIM and the Palm (welcome back from the dead?) to the chart above. Apple, Palm, Android and now RIM have a developer story to tell. The incumbents does not. The story developers want to hear is: Yes, we have an app store, yes we have an SDK, and yes we have a really cool device that can run your app. Of course, only Apple has proven itself yet. The others are scrambling to emulate the runaway success of the App Store.

MIDP3, the upcoming version of Java ME has been in the works for 4 years, and right now it looks like it will never arrive. What will the world look like for MIDP3 when and if it launches sometime in 2010? No one seem to care enough to even think about it. Innovation in mobile is currently pretty much lead by outside entrants, and they don't worry much about Java ME. Why not? Because they provice door-to-door solutions. Why make cross-platform worries for yourself when your goal is to provide a smooth integrated experience, not to be a part of a fragmented and broken developer experience.

Cross platform is still there. Barely

That does not mean that there isn't a cross platform story to tell. There is, and it looks like this:


OneStep4

The new cross-platform story: Every vendor has their own standard.


You can develop cross platform web-based applications. If your code runs server-side and your mark-up simple, you can even expect your web–app to work across vendors.

But if you intend to interact with the phone itself - if your app uses the camera, the GPS, or any other internal phone feature - you are back to developing a separate app per manufacturer. Most of the above manufacturers has announced plans for their own APIs. See previous post for an overview of web runtime APIs. Samsung and LG uses different browsers on different handsets and its unclear how they will deal with the API issue. Apple may not bother at all.

So, while the powerful development platforms and Appstores are popping up like dandelions in springtime, the dream of cross platform development seems further away than ever. Maybe for ever.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341e626f53ef010536e70478970c

Listed below are links to weblogs that reference What's your developer story?:

Comments

Art said...

Great blog, thanks for your site! I am really interested in what this Android technology can do. Please check out my blog @ www.artrl.com and let me know what you think. Cheers!

Great insight here. Very well put together!

Johan said...

Thanks for a good read! Really insightful.

Alex Kerr said...

It's really a bit daft to dismiss JavaME (and to a lesser extent the browser) as easily and conclusively as you do, and frankly undermines the rest of your opinion in this article. Sure - big general sense - iPhone and possibly Android are making money for devs right now. Cool. But you're just parroting prevailing general hype about how these 2 platforms are the future and everything else is dead.

Rubbish :). What, exactly, is in the hands of the 3 billion (or whatever) mobile users on the planet right now? Are they all sharing the 16 million iPhones and few hundred thousand G1s out there? If they are, so be it! But they're not. Fact is, J2ME and or/a browser (WAP 1.0 upwards) is in so many hands that in terms of installed base they make iPhone and def. Android pale into total insignificance. But it's about "show me the money!" I hear you cry. Sure, a relatively few iPhone apps are supporting their developer's livelihoods, and it looks promising.

But I'd like to open your mind to a different concept - that of helping as many people as possible to benefit from innovative software services and products. This was one of the founding ideals of 3rd party software production on personal computing platforms. Development is not just (or even not mainly) for the sake of lining one's own pockets.

That much smaller proportion of developers in the world who have the guts, persistence, technical skill, intelligence, and altruism, to tackle J2ME (which is not as bad as the hype paints it) and be innovative about solutions, and to use things like WURFL and WALL to deliver useful web/markup based apps on WAP 1.0 upwards, to billions of phones, are the real winners, and where the real heart and strength of the mobile development industry lies. It IS possible, one just has to make the effort. Giving up so easily is just lame.

Alex

Thomas Menguy said...

Good read, thx a lot Morten, my thought about your fragmentation article here: http://tmenguy.free.fr/TechBlog/?p=335
At the end fragmentation handling is really a second order issue, earning money being the first one :-)

Peter Cranstone said...

Cross platform is closer than you think. The solution is a simple applet that interfaces with the device API's and aggregates the data. This data can then be passed to a web service via the browser via a simple plugin. This leverages the entire ecosystem. Current developer use their standard tools to build the applet, and the same on the server side. All the server really needs is the "critical data" such as GPS or IMEI or whatever. You just send it via the HTTP headers. It's simple, it's efficient, it scales and it leverages ALL current knowledge bases and infrastructure.

Cheers,

Peter
5o9 Inc.

The comments to this entry are closed.

  • Want to subscribe by email? Enter your email address here:

      

Further reading

  • VisionMobile
    A think tank for mobile strategists
  • Small Surfaces
    Small Surfaces is a site about design for mobile technology.
  • Mobile Phone Development
    Simon Judges recent experiences of mobile software development. It includes problems, hints, tips, reviews and hopefully information you won’t find anywhere else. Simon Judge only post original content or his own comments and opinions on news.
  • Mobile Opportunity
    The walls between the web, wireless, entertainment, and computer industries are coming down. This weblog explores the opportunities that result.
  • Lost Garden
    This site is about art and game design.
  • little springs design
    Designing the Mobile User Experience
  • Ian Fogg
    Ian Fogg is Research Director at JupiterResearch.
  • Christian Lindholm
    The godfather of mobile phone users. He headed development of the Navi-Key and the original S60 UI for Nokia.
  • Aza's Thoughts
    On design of the Firefox browser