Here’s a scenario I expect to become increasingly common later this year.
(Elements in the following story are made up, of course, but they serve as placeholders for anticipated real people, real phones, and real apps.)
Vijaya is really fond of her new Nokia N225 based on the latest Symbian Platform Release, and is both intrigued and frustrated by features of the Jomo Player app that’s built into that phone. The app does some very clever things, but yet, Vijaya thinks it would serve her own needs better if some of the behaviour and functionality were changed. She also has ideas for tweaking the UI.
If this story were set in 2008, that would probably be the end of the story. Vijaya might write about her ideas on Facebook, and her friend Sunil might send them to someone he knows who has a job in the Nokia Devices R&D lab, but the chances are, the original developers of the Jomo Player app would be far too busy to pay attention to what appear to be idiosyncratic, quaint, or overly personalised change suggestions.
Now let’s make this story more interesting. Suppose that Vijaya already knows some Symbian C++. Maybe she took a course on it at the local technical university, which is enrolled into the Symbian Academy program. Or maybe she used to work for a phone manufacturer helping to customise their Symbian devices. So, either way, Vijaya starts writing an alternative Jomo Player app, starting from scratch. Her goal is to embody her own ideas on usability and feature set.
But guess what: her alternative Jomo Player falls far short of the performance and power of the built-in app. It’s tough to re-create a complex app. Although Symbian in 2008 is an open platform, with rich APIs, it’s not at all obvious to Vijaya how to emulate, in her version of the app, many of the features of the original, which she now comes to increasingly recognise as subtle and refined. Some of Vijaya’s friends band together to help, but they eventually abandon the project. The original app, they realise, is doing some incredibly complex things under the surface – and their attempted clone comes nowhere close to matching it. So, in 2008, that really is the end of the story.
Now let’s re-run this story sometime later on in 2009. The source code for the original Jomo Player app is available for download from the Symbian Foundation Mercurial code repository, under the open source Eclipse Public Licence. What’s more, the publicly available SDKs provide enough header files and libraries that Vijaya and her friends can rebuild the entire app. So the starting point is very different. Rather than struggling to create the whole app from scratch, Vijaya can fairly easily locate the parts of the source code she wants to change. As a result, she has a new version of the Jomo Player on her N225 in less than a week. As a result of using this app some more, with its altered features, she and her friends get yet more ideas – and then a major breakthrough flash. The new app quickly evolves into a dramatically better state.
Shortly afterwards, Vijaya makes her new app available via several application stores. It gets rave reviews. These reviews come to the attention of product managers in one or more phone companies. Both the N226 and a new Samsung phone build this version of the app into their ROMs, and reach millions of happy smartphone customers well before Christmas.
Vijaya started this whole process by scratching a personal itch. She wanted to improve a particular app running on her own phone. However, unexpectedly, she now has three different Symbian development houses competing to hire her into their teams.
In parallel, Mika has altered the Voton Reader app so that it’s more usable by his mother. (It turns out, afterwards, to be more usable by almost everyone!) Antony has added a whole series of shortcut keys to the Contacts app. And Alexa has produced a stunning new combination of two originally separate apps.
That’s the difference between what can be accomplished by an open platform (with published APIs) and by an open source platform (with published, buildable source code).
As 2009 progresses, the mobile phone platforms that publish their source code will increasingly play host to deeper and more interesting forms of innovation, than those mobile platforms which keep their source code closed. The phones from these open source mobile platforms (such as Symbian) will have the best Mojo Player, Voton Readers, and so on – not because the developers inside Symbian are cleverer than those in other mobile phone platform companies, but because these platforms can take greater advantage of the much wider pool of creative and clever people who are outside the company.
Footnote: Credit for key elements of this vision belong to some of my colleagues on the Symbian Foundation launch team, including William Roberts and Antony Edwards.
Disclaimer: The devil’s in the detail. Thoughtful readers will realise there are lots of important details missing from the above story. I look forward to returning to these details.