Friday, May 4, 2007

The Apple iPhone - Closed for Developers ?

With the iPhone closed to developer applications, do other smartphones have an advantage ? - at least in terms of the number of SDK's (Software Development Kits) provided ?

I came across a story about iPhone that claimed it didn't qualify as a smartphone because it wouldn't support custom applications. I certainly agree that open development is a requirement for a smartphone. But iPhone, closed to developers? Would Steve dare to face developers at WWDC to unveil a phone that wouldn't run user-developed software?

For a chance to be among the first to own an iPhone, a Mac developer, even the truest, bluest open source believer, would not only overlook iPhone being a closed platform, he or she would pay an extra $50 to get it a week before it goes retail. There is no outrage over iPod remaining closed to developers despite the fact that Apple is selling games for it. Apple TV is a hacker's dream toy, two thirds a Mac, but there again, there is no SDK.

That ought to make us mad, but Apple owns its customers and developers and we're all content to have it that way, a fact that will always mystify everybody who doesn't own a Mac. It mystifies me sometimes, too.

Apple wouldn't open iPhone or anything else because developers like things open. But iPhone will be open, or else, because all of its competitors' platforms support user-developed applications. Why do they all support custom apps? Because. Sometimes, somebody other than Apple gets to say, "because." Open is just how phones are done, and not just smart phones.

Three platforms dominate smartphones: Java, Symbian and Windows Mobile. Symbian (Nokia, Samsung, others) phones don't need to be very smart to be development targets. A Nokia Series 30 dispos-o-phone is as programmable as Series 60, 80 and 90 devices using Nokia's free tools and documentation ( Symbian developers can use C++ and Java across all device classes. More capable devices are programmable in Python, and Nokia will shortly release a downloadable plug-in that adds a subset POSIX (UNIX) C API layer to Series 60. It'd be a pity if iPhone came up short next to a candy bar handset that costs $99 with a 1 year contract. And if Symbian+Nokia turns out to be more POSIXy than iPhone is, well, you'll read it here first.

BlackBerry is the only competing mobile platform mentioned by name during Steve Jobs' introduction of iPhone. BlackBerry is pure Java, with free tools straight from the vendor. The company is having a show next week called Wireless Enterprise Symposium at which third parties will exhibit their wares, and there's some impressive stuff that you'd love to see on iPhone. I'll tell you all about it in my review, with follow-ups in Ahead of the Curve. And did I mention that BlackBerry 8800 has GPS and ships with navigation software? It plays audio and video, too.

Windows Mobile is obviously developer-friendly. The tools (Visual Studio) are anything but free, but a one-year membership in Microsoft Developer Network will net you all the goods you need to develop end-to-end mobile solutions in BASIC, for pity's sake. Windows Mobile 6 will be making its first major commercial appearance, quite by accident, right around iPhone time. Treo and Blackjack will be front and center with it.

Wouldn't it be a gas if Microsoft's new mobile platform turns out to be more developer-friendly than Apple's? Hiss at Microsoft all you like, but Windows Mobile sets a high bar for programmability.

I'm tingling with anticipation.

Posted by Tom Yager on May 4, 2007 05:20 AM


1 comment:

Carl Gundel said...

Programming custom solutions for smartphones is feasible on a web platform if the phone's browser is up to the task. Since the iPhone comes with Safari this should help a lot. Really easy web programming software like Run BASIC should go a long way toward making the iPhone customizable. In addition, web apps are portable so if you decide to switch to OpenMoko or some other phone after you outgrow the iPhone, you can take your apps with you. ;-)