This is the first in a series of short editorials on the iPhone, which I’ll be writing occasionally. Now that the geekqueues of iDay have come and gone, perhaps we can start talking more seriously about the device without all the fanboy ardor.

iPhoneFor some of us who have not (yet) adopted the iPhone, one major disappointment is its status as a closed platform. There are a number of reasons for this, the most obvious being Apple’s longstanding distaste for the rabble soiling their perfect hardware.

Some have lamented the decision as an unnecessary shackling that will only benefit Apple:

In today’s Wall Street Journal, Apple CEO Steve Jobs claimed “The iPhone is the most sophisticated software platform ever created for a mobile device.” Adding, “We think software features are where the action will be in the coming years.” This “action” will most certainly mean increased revenue for Apple and decreased options for consumers.

Others have celebrated the decision as the only satisfactory way to keep the device running:

So you can’t put your little foo-foo game on your cell phone? Who cares! At least you will have cell phone that works beautifully with any applications that are created (by Apple) for it.

For some, myself included, the closed platform is reason enough not to consider buying an iPhone. Another, which I’ll discuss later, is the relatively implicit need to support Google if you’re supporting Apple, bred from both companies’ common hatred of Microsoft. Practical matters aside (like editing documents or using instant messenger, both features unsupported by the standard throng of iPhone apps), the idea of supporting a platform that itself doesn’t support its own extensibility is a head-scratching affair. This would appear to be a philosophical objection more than a practical one, but an example shows just how relevant the philosophy of open platforms is to their practice.

Apple did throw a bone at their slavering user-base, announcing that third-party development support would be accomplished via web 2.0 applications. Of course, this still didn’t stop Apple from trying to impose their own user interaction standards on would-be developers, a longstanding tradition for the company.

Since the device’s release, over 150 applications have been created. That sounds impressive, but many of them are just iPhone-formatted versions of relatively innocuous web pages. Worse, the thriving web 2.0 community has understated just how limiting web apps on iPhone really are. A platform is defined by its affordances and contstraints. While Safari on iPhone is indeed a platform, it is not the same as the iPhone native platform, with its support for things like arbitrary multitouch gestures and accelerometer measurements.

Game designer and researcher Nicole Lazzaro recently attended iPhone Dev Camp, a barcamp-style affair that took place at Adobe’s San Francisco offices. The gathering produced 65 new apps, more than a third of the 150 Chris Barylick cited on PowerPage today. But don’t take numbers as a sure sign of success. More interesting to me is how the inherently open nature of web applications undermines Apple’s decision not to release a proper SDK for the machine.

TiltLazzaro’s group created an elegant little game called Tilt. It’s a simple, elegant collection game. Lazzaro, an experienced designer, quickly keyed into gesture as a core affordance of the iPhone. The only problem was, web apps don’t have API access to the device’s accelerometer. She homed in on fluidity and elegance as key emotions of the iPhone, and rightly wanted to extend them in a game. Lazzaro explains,

Many, many, many people suggested adding buttons to move Flip left or right. This didn’t match my vision of a single control game. Sometimes the wisdom of the crowds must be resisted. Another difficulty with buttons was that in watching people rotate the iPhone I saw that their hands were all over the glass, which would press buttons by accident. They also struggled to get a new grip each time the phone changed position. As the game designer I didn’t want players looking at their hands each time they tilted. I wanted the controls to feel fluid to increase immersion.

It turns out that Joe Hewitt, also in attendance, had devised a clever solution to gesture control, at least enough to detect if the device was in portrait or landscape mode.

Here’s where things get really interesting. The iPhone’s version of Safari does not support Flash or Java, so rich applications like games must be done with javascript and DHTML rather than a compiled format. Joe’s solution is thus automatically released with the software itself. I dug it up by viewing source on his navigation hack. It’s such an obvious solution you’ll hit yourself for not thinking of it:

function checkOrientAndLocation()

{

if (window.outerWidth != currentWidth)

{

currentWidth = window.outerWidth;

var orient = currentWidth == 320 ? "profile" : "landscape";

document.body.setAttribute("orient", orient);

}

...

}

Basically, if the width of the page — a property accessible via javascript — changes, then the device has been reoriented. Very smart.

Web pages and their related files (css, javascript) have always been downloaded and rendered on the client. Web applications may run code on a server, but any presentation work still has to be done in the browser. The ingenious view source feature, a staple since the first web browser, allows developers to learn from others’ techniques. It is arguably one of the reasons the web became such a popular and usable platform.

Tilt is not the most sophisticated game possible using acceleration detection on the iPhone. It may not even be a very interesting game to play. But it does demonstrate a technique that others can use with or without appreciating Tilt as a software artifact. Importantly, it’s not even the free nature of the game that makes this possible. Hewitt could easily write a set of libraries, obfuscate them, and charge developers a fee to access them. This is not the same as GNU licenses, with their specific copyright assignment demands. Owned, controlled APIs are a type of openness that has helped Microsoft-based technologies — both first- and third-party — thrive for decades.

There is an irony at work here. Apple has endorsed a user development community that will enjoy considerable expressive success on their device, but they have done so in direct contradiction to their own development philosophy for the platform. This makes iPhone app dev an even weirder gambit: iPhone Safari web developers might feel like they are liberating the device from the shackles of Apple control, but they are also reinforcing that very control, effectively ghettoizing iPhone third-party development to the browser. Apple wins on all counts: it gets to retain control over all of the really interesting affordances of the platform, and it gets to give the impression of opening the device to third parties thanks to the immediate flood of interested web developers.

iPhone development is a double-bind, a name anthropologist Gregory Bateson gave to a particular kind of ignorant contradiction. On the one hand, the iPhone is a closed platform, it is tightly-controlled by the Apple-AT&T corporate twosome. On the other hand, the iPhone is an open platform, supporting free creative development with near-automatic sharing of techniques and software subsystems.

The factor that makes the iPhone a true double-bind and not just a contradiction is that one reinforces the other. The more iPhone apps get developed, the more open it will seem, but yet the more closed off those affordances unavailable via browser will really be. When we start to see more “real” third-party apps created by Apple minions-in-arms like Google via contracts and trade-secret agreements, this state of affairs will become even more visible.

It is perhaps no accident that Bateson identified the double-bind as a cause of schizophrenia. The double-bind demands two incompatible actions, the accomplishment of both only becoming possible by splitting the acting agent into two. The iPhone thus creates what we might call an anxiety of openness, a sort of developer’s madness born from the simultaneous freedom and control imposed on his or her creative opportunities. The iPhone, in short, is a kind of software culture madness machine. Like the battered wife who longs for her husband to beat her because attention is better than neglect, iPhone web developers undermine their very cause by supporting it.


Technorati Tags: , , ,

published July 16, 2007