Back in April, Apple announced adjustments to its guidelines for App Store application approval. Of course as an Apple customer, Apple observer, and programming language enthusiast I had to take notice. At the time, I read the condition that
… Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs…
as a bit extreme, although I didn’t descend into the histrionics that quite a few other folks did.
I immediately thought of all the dynamic languages (Common Lisp, Scheme, Python, Lua, Ruby, etc.) that were now essentially verboten. Sure these languages would be a distinct micro-minority of the tools used to develop iPhone apps, but they allowed for a vibrant community of potentially radically innovative tinkerers. Besides, folks using these languages weren’t so much looking to be cross platform as rapid experimenters or hyper-productive.
Thinking a little sideways, I wonder if Apple couldn’t assuage quite a few folks by releasing an Apple sanctioned and maintained high level development environment. Pick a language you’ve got a lot of smart run-time engineers already on staff for (JavaScript?), build out some nice Cocoa Touch libraries in the language, maybe provide a nice client engine, and call it the next generation of HyperCard.
Alternatively, buy a small company (e.g. Runtime Revolution) that has the existing intellectual resources to make this happen. Or even just contract out with one to provide the environment in perpetuity. I’m sure Apple’s lawyers could write language or come up with an agreement such that Apple still maintained the necessary platform control.
Then again Apple might just argue that Safari, JavaScript, and the Web are already fulfilling that role of alternative application environment.
Continue on for a linkdump of articles, mostly just here for posterity and future referencey, that helped inform my thoughts.
I’ve been collecting varied reactions and analyses over the past few months to shape my thinking. With a little distance here’s some of the best:
-
Jason Snell had a fairly lucid and coherent analysis of all of the iPhone OS 4 announcements, shortly after they surfaced.
-
ArsTechnica’s John Siracusa, Mac tech analyst extraordinaire, framed the strategy as Apple’s big bet for dominance.
-
Ian Bogost’s Flash is not a Right was a useful tonic to those proclaiming the lack of Flash as somehow a crime.
-
While anthropomorphizing a tad too much, Mark Bernstein may have captured some of the emotion behind Apple’s desire for Platform Control.
-
Of course John Gruber got in a couple of good ones, including thinking of smartphones as app consoles, This is how Apple rolls on how Apple works, Apple’s case against cross-platform middleware, and the consequences of some of the casualties.
-
Finally, it looks like Apple might be shifting a bit to reduce some of the collateral damage.