From: www.itworld.com

The iPhone software FAQ

March 7, 2008 —

 

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.

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 compromise 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.]