I previously wrote about Apple's comments to deliver the iPhone as a closed platform, explaining why this makes sense for Apple, but also presenting why I though that the panic feared by some was overstated. Since I don't make decisions at Apple, and really do not wield any influence at all over those making the decisions, it seemed to make more sense to logically explore the subject rather than quickly pass judgement.
 
When I did have the opportunity to ask Steve Jobs some questions at Apple's shareholder meeting, I used one of my three magic beans as a chance to posit the iPhone as begging for third party custom applications, and asking if anyone at Apple recognized that potential.
 
Jobs' answer--that the company was indeed working to balance the needs of custom software development with stability and security concerns--aligned with the changing tune Apple has been presenting about the state of iPhone third party development over the last six months.  
 
 
The Open Apple.
That changing tune also reflected what I anticipated was the case from the start:
 
  1. first, that Apple presented the iPhone as a closed platform, not just to rile people up, but for good reason
  2. second, that when Apple says “closed” it did not necessarily mean a completely locked down black box
  3. third, that Apple's decisions are liberal and subject to change, not sealed into law as irrevocable mandates until the end of time. Jobs doesn't even wear a signet ring.
 
Apple also has Al Gore, author of “The Assault on Reason,” on its board of directors. Everything the company does is subject to reinterpretation based upon the reasonable, critical examination of new data.
 
For example, Jobs once questioned the suitability of the iPod as a useful video device, then later delivered the fifth generation iPods as the world's most popular portable video player.
 
That might be called waffling by those who prefer to cling to bad decisions despite the emergence of new facts, but successful business leaders don't “stick to their guns” to follow a strategy of failure, don't confine themselves to strict fundamental traditions, and don't just aim to politically please the loudest complainers.
 
Instead, they work to make the best decisions possible based on the most accurate and up-to-date data available. If they don’t, they will soon go out of business.
 
 
Exploring Platforms: Desktops vs Mobiles.
Yesterday, reader Colin Raffel wrote about the third party development potential for the iPhone, posing the question: if a closed platform is necessary--or even a good idea--for the iPhone, then why does Apple support third party development for its Mac platform?
 
Apple's support for third party Mac development has not resulted in crashing, problematic computers that bring down the Internet. So why not follow the same tack with the iPhone?  As is often the case, my reply to Raffel turned into a full article. As Madge might say, “You're soaking in it!”
 
There are increasingly few closed platforms remaining in consumer electronics, particularly among mobiles and handheld computers. Third party development is commonly seen as essential to these platforms, just as it is on desktop computers.
 
A Curious Case of Bucking the Trend.
For example, much of the early allure of Palm devices came from the fact that they could be adapted for various uses by programmers or valued added resellers with specialized needs. Microsoft worked to build the same sort of rich third party support behind WinCE and Windows Mobile, as do the Symbian partners.
 
Much of the commercial attention given to Linux in mobile and embedded devices comes from the rich level of third party support and expertise available for the platform. In fact, it appears that the iPhone is the first major mobile platform that can run real apps, but which makes no effort to support any type of exposed, third party development platform.
 
Even most junk feature-phones try to support J2ME, BREW, or some sort of common platform that third parties can exploit, even if that potential is rarely put to good use.
 
Apple appears to bucking a trend that has little precedent of ever even being questioned in recent history. Even game console systems--while commonly prohibiting hobbyist development--welcome commercial third party development, and even view such licensees as a major source of their profits, if not the primary one.
 
 
Integrated vs Non-Integrated Third Party Software.
Of course, third party software can also introduce support issues and even make the platform look bad. The more integrated that software is, the more likely it is to disturb or even discredit the platform.
 
For example, a PlayStation game has little effective integration with Sony's hardware, so if it were to crash or perform badly, it reflects on the game developer, not Sony.
 
However, malicious malware software on a Windows PC commonly ties itself into the Windows Registry and exploits every opportunity to duplicate and propagate itself, popup messages, or send out spam.
 
Obviously, the fault of such programs lie with their malicious creator, not Microsoft. Still, such software has made Microsoft look bad for not having done more to stop it, simply because it is so highly integrated into Windows.
 
The iPhone isn't a single-tasking system that runs modal applications on CD like a PlayStation, it’s a real computing environment that, as demonstrated, runs a variety of services at once. It’s as tightly integrated as a desktop computer, perhaps even more so because it has such limited resources available due to its size.
 
 
The Problems of Third Party Software.
That means shoddy or even malicious third party software would reflect negatively on the iPhone itself. Imagine the delight of certain analysts after hearing about a security flaw exploited on the iPhone, even if it were actually a problem in third party software. Remember the January "Month of Apple Bugs," which identified issues with:
 
  1. the open source VLC project
  2. the Adobe PDF specification
  3. a flaw in OmniWeb
  4. problems with Application Enhancer
  5. Transmit FTP software
  6. the Colloquy IRC client
  7. Rumpus FTP software
  8. Microsoft's Flip4Mac WMV file parsing
 
If researchers detailing Apple's flaws on the Mac have to spend nearly a third of their time pointing out flaws that are the fault of third party software that in most cases isn't even bundled by Apple, it's not hard to grasp that third party software is indeed a complicating factor for security and reliability, even before considering the very real threat posed by truly malicious code such as spyware, adware, and other trojans.
 
What percentage of AppleCare calls are about problems related to third party apps, whether obvious to the user or not? A lot of Mac OS X upgrade problems were related to APE, for example. Many of the most frustrating problems I've had with Safari are due to input managers such a PithHelmet. I still got mad at Safari; a quick Googling indicates I'm not the only one blaming Safari for the problems in PithHelmet.
 
Of course, the benefits third party apps add to the Mac far outweigh the problems. Nobody would hope for a desktop computer that only runs a handful of applications provided by its vendor, and we have lots of examples of systems that died at least partly due to a lack of third party support. Those issues throttled the popularity of NeXT, helped kill off the Amiga, ST, OS/2, BeOS, and even limited the appeal of the Mac.
 
 
Mobile Platforms and Software.
In the history of computing, every new system was plagued by the fear that there wouldn't be enough unique software available for it. 
 
In the mobile space however, there's less upside to maintaining an open platform and more potential for serious downside. That certainly doesn't mean the risks aren't manageable or that the rewards are not worthy of mention. Will things change over time? That would certainly seem likely.
 
Still, there's no emergency need for third party apps on the iPhone's launch, as has typically been the case for new platforms. Unlike the frenzied efforts by Nintendo, Sony, and Microsoft to deliver new games for their next generation consoles, the majority of what users want to do is already on the iPhone, and then some.
 
The iPhone offers much more built in software functionality than Windows Mobile or Palm OS phones, both of which offer broad third party support. As I pointed out earlier, the functionality of the top software titles available for those platforms--the titles users actually pay for--is nearly all included in the iPhone.
 
I quickly added up $115 of Windows Mobile software that solves problems that shouldn't exist, and another $334 worth of third party software that is bundled for free in the iPhone. That’s $449 of popular crapware you don’t need to buy on the iPhone. It’s looking cheap already!
 
 
Beyond that, the iPhone does things Palm and Windows Mobile users hadn't yet dreamed about. Is there room for future potential? Most certainly! Does Apple get it? It says it does. Will things change? They always do. How soon? Consider what's involved:
 
Balancing Capable and Convenient with Strong and Safe.
For consumers, the iPhone will already do more than third party-friendly mobile platforms can, without being open. But it also will offer a less problematic experience, because Apple isn't immediately tasked with managing software written by a dozen different vendors. Everything on the iPhone has been integrated by Apple and is passed through a single QA check.
 
Even if Apple does a really bad job, it will still have an easier time cleaning up any remaining bugs because it owns all the software on the device. Conversely, Microsoft's platforms--on the desktop and on mobiles--have frequently been plagued with problems that stemmed from third party software that Microsoft can’t fix.
 
It is well known that much of the convoluted legacy that chokes Windows is there because of third party developers, many of whom failed to follow programming guidelines or otherwise made poor programming decisions. Windows' legacy doesn't exist just because Microsoft is a cruel prankster tormenting the tech world.
 
 
Challenges to Going Open.
If Apple were launching a first run, wide open phone, it would have to manage the experience created by a brand new device running a lot of highly integrated but random software from various sources.
 
That would be hard to deliver. It would also be difficult to manage the security implications of running software with full access to everything on the phone, including full wireless and mobile network access.
 
It would also take considerable extra effort for Apple to open up the iPhone's APIs and document them for third party developers. Apple would also have to codify human interface guidelines for the iPhone, as its behaviors are a clean jump from those on the desktop, even if some reflect existing Mac OS X concepts, such as the Dock.
 
That's a lot of work, just to allow third parties a crack at the iPhone. As in any engineering effort, both the direct costs as well as the opportunity costs need to be considered.
 
Should Apple postpone delivery of the iPhone and Leopard, in order to deliver an open Leopard on the iPhone first? It appears that the smartest priority for Apple's efforts seems to be what the company has already set in motion:
 
  1. getting the iPhone to market as a well executed, 1.0 effort in June
  2. getting developers behind Leopard on the Mac both on the desktop and in servers by October
  3. considering future options for opening up third party iPhone development as an encore
 
Managed Environments and Mobile Java.
The only alternative to cracking the iPhone wide open and allowing developers full access to all its internal features and APIs--many of which may not be documented or even fleshed out entirely--would be for Apple to include a Java VM or some restricted set of sandbox APIs for outside developers to use. 
 
J2ME is the mobile implementation of Sun’s Java; the full Java VM is about as large as Cocoa, Apple’s native frameworks for developing Mac OS X software for both the Mac and the iPhone.
 
Putting Java on the iPhone would be like putting a spare tire on a unicycle. Or perhaps like adding skis, so one could ride their unicycle downhill fast.
 
Including J2ME would force Apple to spend a huge amount of its efforts in porting, supporting, and integrating Java and generic Java applets into the iPhone experience. This would be similar to the problems with natively trying to run Windows software on the Mac, “just to ensure there is enough software available.”
 
Recall those problems? Running generic software creates the suggestion that custom development isn't necessary, because a generic version will work.
 
 
Supporting Generic Software: the OS/2 Effect.
At the same time, the generic version of software is likely to not work very well. That's the problem with mobile Java: every phone has its own Java VM bugs and problems to work out, paired with the problem of lowest common denominator development which does not take full advantage of unique features on fancier phones.
 
The iPhone needs Java J2ME support as badly as the original Mac needed DOS support. One could say the same of Adobe's Flash Lite, which delivers a toy interface for animated kiosk-type graphics on mobiles. Trying to add such support would be like tying a crayon to an Etch a Sketch.
 
What about giving the iPhone the ability to run Palm OS titles, Windows Mobile apps, or software written for the various flavors of Symbian? Each effort would not only complicate the iPhone and demand huge resources to deliver, but also water down the unique abilities of the iPhone, including its sharp looks and consistent interface.
 
I think there is no question that Apple has zero interest in the iPhone emulating other environments. That does forestall the arrival of open or at least expanded third party access to the iPhone, but with good reason. Full access to the iPhone’s internals simply makes far more sense anyway.
 
 
Coo Coo for Cocoa Phone.
So what happens when Apple starts allowing partners to build software using the raw Cocoa frameworks? It apparently has not yet started, even in its iPhone development work with close partners. 
 
Despite partnering with Google to deliver its iPhone maps application, for example, Jobs recently revealed that the iPhone's mapping client was done entirely by Apple, and that it only used Google's public APIs.
 
Jobs said Google was impressed with the interface Apple's developers delivered. Clearly, that kind of premium experience is another aspect of what Apple is working to guard by not throwing the doors open to public.
 
     
 
 
That's not the only reason why Jobs thinks his phone will be different or needs to be closed. The next article looks at his comments about ‘crashing applications’ and ‘network security risks’ and the disruption the iPhone will ripple through today’s smartphone market in the areas of software, hardware, and security. Was he serious?
 
 
 
Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast!
 
Did I miss any details?
 
 
 
Haloscan Q107

Bookmark on Del.icio.us | Discuss on Reddit | Critically review on NewsTrust

Forward to Friends | Get RSS Feed | Download RSS Widget

Check out the Daily Show Multi-Pass on iTunes.com

 
Next Articles:
 
This Series
 
What do you think? I really like to hear from readers. Leave a comment or email me with your ideas.
 
 
Mobile Disruption: Apple's iPhone and Third Party Software
Thursday, June 7, 2007
Ad

Apple iTunes

Apple iTunes

Apple iTunes

Apple iTunes