In about two hours on Thursday, Apple rolled out a massive amount of information about allowing independent software developers to create programs for the iPhone. SDK, SQLite, core data, App Stores — who can make sense of it all?
Well, we're going to give it a go. In this story, we've tried to anticipate and address many of the questions swirling around Apple's iPhone announcements. Got questions of your own? Post them in the comments, and we'll try to answer them.
What did Apple announce Thursday, in a nutshell?
That it was releasing a Software Development Kit, or SDK, for the iPhone. The SDK is a set of tools that lets independent programmers and software companies design, write, and test software that runs on the iPhone. Right now there's a beta version for developers, but a final version of the iPhone software that supports the installation of new programs written by independent programmers is due in late June.
As a part of the announcement, Apple introduced a new iPhone program, App Store, through which you'll be able to purchase, download, and update iPhone software. That will be available as part of the new iPhone Software 2.0 update in late June. That's when you'll be able to add third-party apps to your iPhone for the first time, at least via official channels.
Will Mac software run on the iPhone?
No, but since iPhone software is developed using the same development tools as Mac software, it’s possible that developers will be able to re-use some of their code to make iPhone versions of their programs. But the entire user-interface layer of the iPhone, dubbed “Cocoa Touch,” is completely different from the Mac’s Cocoa interface layer, owing to the iPhone’s finger-based interface.
Could someone post a free program on the App Store and then force users to pay for a registration code to make it functional, thereby bypassing Apple's 30% cut on App Store sales?
It seems unlikely that Apple would put up with those type of shenenigans. Doing so would basically let Apple pay for your marketing and bandwidth costs, and deprive them any money they’d get from selling the software. It may be specifically forbidden as a term of being an iPhone developer.
Will shareware not be an option on the iPhone?
As we said above, we assume Apple won’t let you sell a “free” program that requires an unlock code. However, there are some other scenarios we expect to see. First, donationware: People will probably sell “free” programs that request that you make a donation if you want to keep the project going. We don’t think Apple will have any problem with that, since the donation would be voluntary. Second, it’s possible that you’ll see two versions of various iPhone programs: a free “lite” version that’s a good advertisement for a more feature-rich for-pay version.
Then there are programs such as the Iconfactory’s Twitterrific, a Mac program that is free, but contains ads. For an “upgrade” fee, users can shut off the ads. Whether Apple would allow this to be handled within the program or there would need to be two separate versions of an iPhone version of Twitterrific remains to be seen.
What kinds of programs will be allowed, and what won’t?
Mainstream programs such as games, Internet tools, productivity tools, and the like should be fair game for the iPhone. What’s unclear is if there are portions of the iPhone that are locked off, forbidden locations that no approved third-party program can enter. We know that third-party software can’t access the Dock connector, which means companies can’t create software that requires specific hardware add-ons. Will the iPhone’s UNIX subsystem be accessible? What will the access to the EDGE cellular network be? We just don’t know.
Is someone at Apple going to decide which programs are approved and which ones aren’t? Won’t that take a lot of time?
Apple executives were deliberately vague on this point Thursday, but some of what they said may give an indication of Apple’s future policies. It seems unlikely to us that someone at Apple will thoroughly test each product that goes up on the Store—it could become a gigantic bottleneck that could overwhelm Apple and frustrate developers. It’s more likely that Apple will ask developers to follow certain development guidelines and fill out data about what their programs actually do. Since each iPhone program will be digitally signed by its creator, this gives Apple the ability to “turn off the spigot,” as Steve Jobs put it, and revoke programs that don’t meet its standards. But we’re sure that iPhone software will be given at least a cursory examination by someone at Apple before it’s placed on the App Store, with special attention paid to new developers.
What kind of programs can we expect to see?
That will all depend on the ideas floating around in the heads of developers. But during the event, five companies showed off what they were able to put together with two weeks of engineering work and very few people involved. There were games from Electronic Arts (Spore) and Sega (Super Money Ball), an AIM client from AOL, medical software from Epocrates, and business software from Salesforce.com. The programs took advantage of the iPhone’s built-in accelerometer, Multi-Touch capabilities, interface elements, and more. If you can imagine it, chances are someone will try to build it.
What kind of stuff does Apple say it won’t allow developers to create?
The slide behind Steve Jobs read: “Porn, privacy [i.e., programs that could comprimise your privacy], bandwidth hog, malicious, illegal, unforeseen.” The big mystery is, what’s “unforeseen?” Does that mean that any program with needs that are not foreseen by Apple are no good? Does it mean that those programs will be scrutinized the first time, and then if they pass muster, they’ll be allowed to go in the App Store?
There are also some specific restrictions that may be a part of Apple’s approval process. During the Q-and-A session that followed Apple’s event on Thursday, one reporter asked if Voice-over-IP programs would be allowed on the iPhone. Steve Jobs’ response was that they would, but only via Wi-Fi connections, not via cellular data connections. How that rule will be enforced is somewhat of a mystery.
And yes, that disturbance in the Force you just felt was the American porn industry weeping. Cheer up, guys — the iPhone still plays video.
What if someone writes a malicious program?
Apple can look at the program’s digital signature, which is linked to the developer account of the person who created it. Then Apple would presumably disable that account and deactivate that program across all iPhones, everywhere. (Which is a little scary when you think of it.) And, Steve Jobs said that Apple will then call the parents of whomever wrote the program and give them a good talking to. (Seriously. That’s what he said. He’s gonna call your parents.)
What’s a “bandwidth hog?”
Apple hasn’t explained, but we can guess. Programs designed to push continuous, full-availability-connection data streams at all time, will probably have trouble. (BitTorrent, anyone?) The devil is in the details, though: will bandwidth hogging be allowed over Wi-Fi, which is much faster than the iPhone’s EDGE network? Perhaps programmers will be able to restrict network traffic while on EDGE networks and open the throttle when on Wi-Fi networks. (The iTunes Wi-Fi Music Store already makes this distinction, not allowing any use over EDGE.)
Can I buy these programs on my Mac, or just on the iPhone?
You’ll be able to access the App Store—the only place you’ll be able to find and download third-party software—from either the iPhone or iTunes. It’s similar to how music purchasing works via the iTunes Store and the iTunes Wi-Fi Music Store on the iPhone and iPod touch. If you buy a piece of software (or download a free application) from the App Store on the iPhone, your phone will wirelessly download that program the program and install it. If you download something via iTunes on your Mac or PC, you’ll be able to load it onto your iPhone when you sync them. Apple didn’t say how the syncing will work, however. For example, will you select certain programs, as you would playlists or podcasts, to sync? Will apps downloaded on the iPhone transfer to your computer when you sync?
What about software updates?
One of the coolest features of the iPhone’s App Store program is that it’s aware of all the apps you’ve installed on your iPhone, and automatically checks to see if new versions have been released. So instead of having to remind yourself to check for updates, the App Store will automatically remind you and, if you wish, download and install the updates.
That covers free updates. What happens when you want to download an update that you’re supposed to pay for? We assume that the App Store will give you an upgrade path and offer to let you buy the new version, but we’ll need someone to write an iPhone app, grow a loyal customer base, and then generate a new for-pay upgrade before we’ll know for sure.
What if you’ve synced your phone on one computer and then restore it on another? Do you lose your apps until you sync to the original?
We assume that iPhone apps will work like Ringtones: You can choose to sync all of them back and forth with iTunes, or selectively choose which ones appear on your phone and which are merely stored back on your computer.
If I buy a program for my iPhone, can I also transfer it to my significant other’s iPhone?
Probably not. Our guess is that each App Store program will be tied specifically to your Apple ID. It’s possible you’ll be free to copy it to multiple iPhones, but more likely you’ll only be able to use it on a single device at a time. (We don’t know what this means when it comes to site licenses or volume discounts for software, either.)
Can I download programs off the Web, or any place other than the App Store and iTunes?
Nope. With the exception of large businesses, the only place to get iPhone software will be via the App Store program on the iPhone or via the App Store area on iTunes.
What about internal, “private” software? What about beta testing?
Good questions. When Jacqui Cheng of Ars Technica asked Apple executives about in-house corporate software, the kind that a corporation would never want to appear on the public App Store, here’s what Apple’s Phil Schiller said: “We’re working on a model for enterprises for them to distribute applications to their end users, specifically with a program for them to target their end users. We have a model we’re building for that.”
That covers part of the story. In the realm of pure speculation, we wonder if this solution might also be the way developers can run beta-tests of their software. If you’ve got a program that allows big companies to distribute software to their users, it’s not a stretch to see that same technology applied to a software developer with a controlled number of beta-testers. One developer we talked to said, “From a developer’s point of view, releasing software that’s not fully tested by a large group of people is support suicide.” So we’re figuring that Apple will find some way for developers to test their software without posting it publicly to the entire App Store.
Can I try the iPhone SDK?
As long as you register as an iPhone developer and have plenty of free disk space, yes.
How much will it cost to put an application on the App Store?
While the SDK is free to download and use, iPhone developers who want to test their programs on their iPhone and sell them on the App Store must pay a fee of $99 to enroll in the iPhone Developer program.
Can iPhone programs read and write to the iPhone’s filesystem, so I can save documents like I do on my Mac?
As far as we can tell, the answer is no. According to Ars Technica’s John Siracusa, iPhone programs can write files to their own “application package” — in other words, the folder in which an app’s own files are stored. But it’s not likely to be a very safe place. However, since all iPhone programs will have access to a SQLite database, it’s likely that programs that need to store “files” on the iPhone will actually do so by saving them into the iPhone’s built-in SQL database. Still, this is one of those areas that’s going to take a bit of time to shake out.
I'm a developer. Do I know who's buying my software, or does Apple hide that from me? Are these people my customers, or Apple's?
Great question, and right now there's no good answer, but it's one that all developers will want to know.
Is there a limited amount of storage on the iPhone for applications?
As far as we can tell, your iPhone’s storage is yours to fill with whatever you want, be it music, video, or programs. (Some of those games we saw Thursday look like they might be kind of large, so you might need to slim down your videos to make room.)
I’m a Windows developer and really, really want in on this sweet iPhone action, yet the iPhone developer tools run only on Intel Macs running Leopard. WTF?
My man, there has never been a better time to buy a Mac. And hey, since they’re all on Intel now, you can install Windows and run both on the same piece of hardware. Come on, admit it — you’ve always wanted a MacBook Pro. (And once you’re all up and running with Xcode, might we suggest you consider writing software for the Mac too?)
[Macworld editors Jason Snell, Jonathan Seff, Dan Moren, Christopher Breen, and Rob Griffiths contributed to this article. Thanks to Glenn Fleishman, Craig Hockenberry, and Daniel Jalkut for their feedback and contributions.]