So how do iPhone apps save files?
One of the problems with viewing iPhone software from the perspective of being a Mac (or PC) user is that sometimes you make assumptions that can guide you far off course.
Take files, for example. Our computers have hard drives full of files. But on the iPhone, files don’t exist. (Okay, they do exist, but Apple obscures them. A regular iPhone user has no clue that there’s a file system in there.) Hiding files from iPhone users makes a lot of sense, in terms of keeping things simple.
But what if you’re Mariner Software, and you’re working on a spreadsheet program for the iPhone? You can see the difficulty here. You can make the greatest finger-driven spreadsheet program in the world, but it’s no good if you can’t get your spreadsheet files onto and off of the device.
Michael Wray of Mariner Software told us that his company is working on several approaches to the issue, but he didn’t give us more information than that. Still, I’ve got a few ideas about how developers might work around this problem—none of them specific to Mariner, though I’ll use a spreadsheet program like Mariner Calc for iPhone as an example.
So you’re on your iPhone and someone e-mails you a spreadsheet. What can you do with it? Unfortunately, the answer currently seems to be “nothing”—that you can’t actually do anything with it other than view it using Quick Look. Dead end.
And what about syncing data from your Mac or PC via iTunes? So far as we can tell, developers don’t have access to that syncing process either. But iPhone applications do have access to the Internet, via the cellular data network or Wi-Fi.
So the Web’s going to have to come to the rescue here. Imagine a web service operated by a software company like Mariner. You’d buy the program and install it, then register—perhaps using the app itself—for the service, giving yourself a user name and password. Mariner would send you back a note with a special e-mail address that’s tied to your account. Any Microsoft Excel-formatted file e-mailed to that address would automatically be added to your account. (You could also log in with a web browser and upload or download spreadsheets that way.)
From the spreadsheet program on your iPhone, you’ll connect to the software company’s server and see all the files that are in your account. Then you can select one, and it’ll load it across the network and open it up. When you’re done working with it, you can save it back to the network.
A simpler approach might be to support a remote file-serving protocol such as FTP, AFP, or SMB. I’m not sure how much overhead would be required to do something like that—it might be easier to use standard web protocols—and navigating a remote server’s file hierarchy might be a lot less friendly for users.
The real answer, of course, is for Apple to come up with a better way to handle files on the iPhone. I don’t think exposing a full filesystem is the right answer here. Perhaps iPhone applications could register as handlers of certain file types. Then if you found a spreadsheet in your e-mail (or on a web site), you could hold your finger on it, prompting your iPhone to ask what you want to do with the attachment—with options such as viewing it in Quick Look or opening it in your spreadsheet-editing program.
That handles the opening-files issue. (Saving them on the device isn't a problem — every iPhone program can save files into its own special space.) And getting the files off of the phone might not be a big deal, either. If Apple can give programs the ability to pass their documents to the iPhone’s built-in e-mail program, it’ll be easy to get those files back off your phone just by mailing them off.
But those are solutions that will require help from Apple itself. In the absence of that, iPhone software developers are going to have to come up with clever ways to get files on and off the iPhone via the Internet. It’ll be interesting to see what approaches different developers take—and if someone tries to create a common framework for document exchange that could be used by different iPhone developers.
We’ll know a lot more once the App Store comes online in early July. Until then, all we’re left with is the brainstorming and the speculation.