Sunday 23 March 2008

iPhone SDK

Just like six million other bloggers out there, I feel it is important to discuss the iPhone SDK. Since it's finally giving people the opportunity to write native applications for the widely anticipated handset, I think it's worth a look just at how Apple have approached this developing perspective.

To start with, I log onto the iPhone Dev Center website at http://developer.apple.com/iphone/. Fair enough, it's a page that says "Hi, you can have the iPhone SDK", but not before "registering to become an iPhone Developer". As if having to log in with an Apple ID wasn't bad enough, they actually expect people to register their interest as a developer before they will be allowed to even read the introductory documentation. A typical hobbyist developer with an undeveloped interest in the iPhone SDK would immediately be put off at this point by the need to hand over their details. What's the deal? And as much as people like to complain about the Windows Mobile platform, let's face it. There's none of this registration rubbish. MSDN openly provides documentation about the Windows Mobile platform, the programming APIs and whatever you need to get started.

But then we move onto the following problem. After you've learned how to write your program, deploying it is the next step. As well as your application being only available through the iTunes Store at Apple's discretion, Apple also want to make sure that you aren't making any programs that include IM functionality (goodbye, MSN and AIM), voice chat functionality (goodbye, Skype) and anything that interprets anything else (goodbye, Java). Now, let's think carefully about this. Where's the interest in a "breakthrough Internet device" that doesn't let you send or receive instant messages, or place internet calls? These are two vital parts of modern Internet use, yet Apple don't want you doing those things.

The bottom line of it is that if Apple don't want you to, you aren't in a position to argue, since your offending program will be taken off the iTunes Store like a shot when they find out it's violating the "agreement". Because it's no longer on the iTunes Store, nobody can download it and use it.

It's important to understand that the whole iPhone relationship from consumer to manufacturer to mobile operator is a very fragile one. Apple have a very expensive handset that they want people to use. This means the network operator needs an incentive to carry the handset on their network. Now what better incentive is there to a network than to make them money? Why let people send IMs when they can send text messages instead? Why use Skype when they can make phone calls? It's all a part of the greater plan, and without these benefits to the network, it's not in their interest to carry such an expensive fashion utility. By letting people distribute their applications outside of the iTunes Store, this means that people can invent IM software and get away with it - Apple aren't a part of the chain so they can't stop it. If Apple can't stop IM software from being produced, operators won't even consider taking on such an expensive product.

But surely this is true of Windows Mobile handsets too, that come preloaded with Windows Live Messenger? Not quite. Y'see, the Windows Mobile approach is quite different. Microsoft create the Windows Mobile OS and release all the specs, and say to the manufacturers, "there you go, create something". The manufacturers then create the handset and market it to operators just like any other phone. They aren't so expensive as to require extra subsidizing like the iPhone does. Because the typical Windows Mobile handset won't come with an "unlimited" data plan, then people's use of Windows Live is at their own expense. If they want the privilege of "unlimited" use, they have to pay for it. Because the iPhone is religiously marketed with unlimited data plans, though, people realise that there's an opportunity for abuse there. Why send expensive text messages when I can send IMs for free, for example.

What's better about the Windows Mobile approach is that the operator doesn't need to maintain a relationship with the manufacturer; if someone wants to install a program on their handset, it is the customer's responsibility. End of story. It's for this reason that the freely available documentation and resources approach works for Windows Mobile, and that's because the operator and the manufacturer don't need to get involved for it to work. Providing the handset they create can run the Windows Mobile OS, they've already done everything they need to do to accommodate the installable applications too. Now, let's imagine that iPhone SDK users were allowed to create and distribute programs as they please. Would this reduce the interest in the handset because it would be costly to operators, or would it increase the interest because it's that extra bit of personal freedom?

The iPhone SDK programme is a strange one, and let's face it, it's a totally undesirable solution. But unfortunately, because of it's symbol status in the phone world, punters will fall to it's feet and obey. The iPhone has a long way to go before it will ever match up in terms of market share, but in the mean time, at least Apple have inspired other manufacturers to create equally innovative and more affordable alternatives.

It's not very often that I would put Microsoft above Apple, but this time, Microsoft have got the right idea whereas Apple have got it all very wrong.