Reuters carried a story yesterday from the Apple World-Wide Developer Conference in San Francisco. The headline is “Apple to let outsiders create programs for iPhone,” and the story says “Apple Inc. will allow independent developers to write applications for its upcoming iPhone by tapping into the device’s built-in Web browser.” The story was presumably based on Apple’s press release on the topic.
This sounds exciting, so why did Apple stock lose $4.30 on the day? Well, the market focused on the glass-half-empty. Apple didn’t open the iPhone up to third party developers in the way that most developers want. The comment that squelched the crowd was “there’s no SDK!” The official version, what Jobs, Forstall and the press release said beyond that, is too scant and ambiguous to draw a clear idea of how well developers will be able to exploit the iPhone as a platform. Here’s a link to the video of the Jobs keynote. The iPhone developer part starts at time index 1:14. Ryan Block of Engadget was there live-blogging the Jobs keynote. His transcription and commentary:
Jobs: “We have been trying to come up with a solution to expand the capabilities of the iPhone so developers can write great apps for it, but keep the iPhone secure. And we’ve come up with a very. Sweet. Solution. Let me tell you about it. An innovative new way to create applications for mobile devices… it’s all based on the fact that we have the full Safari engine in the iPhone. And so you can write amazing Web 2.0 and AJAX apps that look and behave exactly like apps on the iPhone, and these apps can integrate perfectly with iPhone services. They can make a call, check email, look up a location on Gmaps… don’t worry about distribution, just put ’em on an internet server. They’re easy to update, just update it on your server. They’re secure, and they run securely sandboxed on the iPhone. And guess what, there’s no SDK you need! You’ve got everything you need if you can write modern web apps…”
Block: “Weeeeeaaaak.”
Scott Forstall, VP of iPhone software: “Your applications can take advantage of the built-in native services.”
Block: “He’s in the iPhone — no new apps up on screen, the same 11 as before — sorry iPhone fans!”
Forstall: “We built a custom corporate address book app to use our internal LDAP… it actually took less than one person-month to do this. It’s under 600 lines of code to do the whole thing.”
Block: “Shows up the vCards as they look in the built-in contact app. Not too shabby!”
The Web 2.0/AJAX model is great for AT&T, because this model requires continuous interaction with the server, so you will be burning up your data minutes. Except, I hope, when you are at home or at work and can use the Wi-Fi connection.
This is, as Block says, weak compared to loading real OSX applications on the phone. How weak depends on what Steve Jobs means by “the full Safari engine.” Apple’s Safari FAQ page says “All versions of Safari support Netscape-style plug-ins.” This undoubtedly applies to the iPhone version of Safari, since Steve Jobs has been toying with the idea of including Flash. The published Safari plugin SDK isn’t any use to iPhone developers, since the CPU is an ARM. So if Apple doesn’t publish an iPhone SDK, even the Safari plugin support is moot to third parties, except those working closely with Apple, like Google. One obvious Google plugin that would reduce the sting of no SDK would be Google Gears, which lets you run server-based applications off-line. The usual example is Google’s complete suite of Office applications.
From the overall context it appears that there is a JavaScript API to control some elements of the iPhone subsystem. That could be cool, depending how capable the API is. As for documentation of the API, a check of the Apple Developer website doesn’t reveal anything of that nature yet. There was a session at WWDC called “Developing Web Sites for iPhone,” which may have had some related information.
Blog reaction has been hysterical (but when has it ever not been?) Jesus Diaz of Gizmodo says No iPhone SDK Means No Killer iPhone Apps. One interesting tidbit in his piece concerns the degree of integration with the the iPhone’s services. Here’s what he says about clicking on a phone number in the browser to place a call:
This is nothing new, however. We knew this from the very beginning because iPhone’s Safari was already doing it. It’s called auto-detection of phone numbers and addresses: you click on a phone or address in your web page and it gets passed by Safari to the operating system, which calls the number or shows the address in the Google Maps app.
I certainly hope this isn’t the extent of it. If so, this guy is right. Nothing special here at all.
We live in hope, though. Steve Jobs was accurate in saying that Web 2.0/AJAX programming is the hot new thing, and that highly capable applications (especially enterprise applications) are being built like this. Users don’t care how software is written, they just want it to perform a useful function in a responsive and considerate way. If the API is rich enough, popular opinion will follow the trail that Ryan Block blazed, from “Weeeeeaaaak” to “Not too shabby!”
I have contacted ADC and asked them about the possibility of getting to the subsystem and hardware in general so that I can develop a device for the iPhone. I have received a reply stating that they are reviewing my request.
The iPhone is a weak and featureless platform for developers, with only having the ability to create “WEB CONTENT” for the device. Yes, it’s “WEEEEAAAAAAKKK!!!”
Once I get a reply, I will post again.