I’m waiting for Microsoft CEO Steve Ballmer to speak at the London School of Economics, which seems a good moment to reflect on his well-known war cry “Developers Developers Developers”.
Behind the phrase is a theory about how to make your platform succeed. The logic is something like this. Successful platforms have lots of applications, and applications are created by developers. If you make your platform appealing to developers, they will build applications which users will want to run, therefore your platform will win in the market.
Today though we have an interesting case study – Apple’s iPhone. The iPhone has lots of apps and is winning in the market, but not because Apple made it appealing to developers. In fact, Apple put down some roadblocks for developers. The official SDK has one programming language, Objective C, which is not particularly easy to use, and unlikely to be known other than by existing Apple platform developers. Apps can only be distributed through Apple’s store, and you have to pay a fee as well as submit to an uncertain approval process to get your apps out there. Some aspects of iPhone (and iPad) development have improved since its first launch. A clause in the developer agreement forbidding use of languages other than Objective C was introduced and then removed, and the criteria for approval have been clearly stated. Nevertheless, the platform was already successful. It is hard to argue that the iPhone has prospered thanks to Apple’s developer-friendly policies.
Rather, the iPhone succeeded because its design made it appealing to users and customers. Developers went there because Apple created a ready market for their applications. If Apple CEO Steve Jobs were prone to shouting words in triplicate, they might be “Design Design Design” or “Usability usability usability”. And as for developers, what they want is “Customers customers customers.”
Well, there are vicious and virtuous circles here. Clearly it pays, in general, to make it easy for developers to target your platform. Equally, it is not enough.
Microsoft’s own behaviour shows a shift in focus towards winning customers through usability, thanks no doubt to Apple’s influence and competition. Windows 7 and Windows Phone 7 demonstrate that. Windows Phone 7 is relatively developer-friendly, particularly for .NET developers, since applications are built on Silverlight, XNA and the .NET Framework. If it succeeds though, it will be more because of its appeal to users than to developers.
What do developers want? Customers customers customers.
I think it is slightly too early to call out any winners in the mobile market, especially in the smart phone market, it is very much still in its infancy.
Android is the fastest growing platform at the moment, and that one is more of a “developers, developers, developers” platform than iPhone, usability.. well why is it that every believes the iPhone is so useable?
Also it wasn’t really microsoft that made their phones unusable it was the phone manufacturers’ skins that was the face to the world. Microsoft mistake was to not make a default skin that was a good start.
An OS doesn’t make a phone user friendly by and in itself. My Sony Xperia X1 with the proper applications on it is really in many areas more “useable” than an iPhone.
Hi
You forgot the other problem with developing for iOS is that you need to downgrade to a Mac if you want to build a native app. At least with android iyou can do development on any platform and with Windows Mobile 7 you build stuff on a pc, which is still used by the vast majority of computer users.
Agreeing with Niclas Lindgren — and nothing that it was entirely not easy to even get the SDK installed back in the days of the real infacy of the first smart phone generations, which where virtually exclusively Windows CE (and decendants). Apple has simply relaunched the concept of the smart phone (and done very close to the right way(tm)) — Google made the smart phone accessable (cheap, obiquos and reasonably easy to develop for).
If we are to even speculate at a “winner” in the smart phone buisness, my guess would be Google. Which in turn would be bad news for everybody else (but that’s true regardless of who wins, and I think google really is the lesser evil here).
Personally, I’d much more interested in a standard phone model, which had a well defined way of loading an OS onto it and with standard interface to all of it’s hardware rather than having a nice operating system that I can’t upgrade — similar to (but better than) what we have with IBM-PC BIOS and UEFI computers today.