"Just when I thought I was out... they pull me back in." (spoken by Michael Corleone in Godfather III)
So it is with me and Apple's App Store approval process. Every time I think that there can't possibly another story that could again get me to mention Apple's decision making process any time soon, they pull me back in.
This time, the controversy seems more of a mystery than a mistake, mishap, miscalculation or a mis-whatever.
The what and the how
The crux of the issue involves a file-viewing feature of an essentially harmless iPhone app: DigiDNA's FileAid. Apple surprisingly objected to the feature and forced DigiDNA to remove it — even though the app (with the feature) had been approved and available in the App Store for months. Here's the background:
FileAid is one of several iPhone apps that allow you to transfer document files from your Mac to your iPhone — and then view the files on your iPhone. I've used FileAid as well as several of its competitors — including FileMagnet (still my personal favorite) and DataCase. Several other apps, such as DropBox and even Apple's own iDisk app, although they don't copy files to the iPhone, also fall into this general category of "document viewer."
Of all of these apps, only FileAid was required to make a change. To even begin to understand why, you first need to know a bit of the details as to how these apps work. FileAid, in particular, could transfer files in either of two ways:
1. You could transfer files wirelessly. Using a Mac, you established an FTP connection via a utility such as Cyberduck. All of the above-cited competing apps similarly use some form of wireless connection.
2. You could transfer files via a USB connection. To do this, you used DigiDNA's companion Mac utility: DiskAid. This application allows you to transfer files, via USB, from your Mac to your iPhone — and vice versa. Unless you have jailbroken iPhone, DiskAid limits your access to the sandbox of the iPhone's mobile > Media directory. The application is useful as is, even without FileAid. However, the application creates a special folder in the Media directory called, appropriately enough, DiskAid. Anything that you placed in the DiskAid folder, you could view from FileAid on your iPhone.
It was this USB feature in FileAid, and only this feature, to which Apple objected. As noted on this DigiDNA Web page, "we were told by Apple to remove that functionality from FileAid based on the current SDK license agreement."
While DigiDNA is not authorized to quote the exact section of the license agreement in question, they did tell me that this is not a new provision but "just a very restrictive interpretation of an {existing} provision." Initially, DigiDNA asked for more time, so as to consider various alternatives before removing FileAid. Apple did not agree and insisted that the app be revised or removed forthwith.
As a result, DigiDNA modified the app, removing the "objectionable" USB-related feature. In so doing, they gave the app a new name: FileApp. This is the version currently available in the App Store.
To be clear, this is a relatively small change. The functionality of DiskAid remains the same. You can still use it to transfer files to the Media folder via USB. And you can still use FileApp to transfer files via FTP, viewing these files on your iPhone. The only thing you can no longer do is view files in FileApp that you transferred to the iPhone via USB with DiskAid. While small, this is still a significant feature loss (as noted by DiskAid users in this MacRumors forums thread) — primarily because USB transfers are significantly faster than wireless ones.
For those who want to retain the USB option, DigiDNA sent out an email over the Thanksgiving weekend to registered DiskAid users, explaining how to keep FileAid on your iPhone — assuming you hadn't yet updated to FileApp on both your Mac and your iPhone.
The why
The big question, at least for me, is: Why did Apple do this? Why did they decide it was important for DigiDNA to remove this feature? What exactly is Apple concerned about?
Unfortunately, I don't have a sure answer. Neither does DigiDNA. When I asked them about this, they could only speculate. Apple did not give them any explanation.
What speculation I do have revolves around a difference between wireless vs. USB transfers that is not immediately obvious:
• When you transfer files wirelessly, the files are stored in a special folder contained within the app's folder on your iPhone. For example, for FileAid/FileApp, FTP-transferred files wind up in a folder named Documents, located in the mobile > Applications > 647A445B-57-E5-45D3-86B2-4FEEAE522425 directory. The exact hexcode may vary from iPhone to iPhone, but this is the same directory that contains the FileAid app itself. From the FileAid app, you access the Documents folder via the "FileAid" option in the app's Folders screen. Other wireless-transfer apps that I tested, such as FileMagnet, work in essentially the same way — transferred files wind up in the app's folder in Applications.
• In contrast, for files transferred by USB via DiskAid, the specially-created DiskAid folder is located in the mobile > Media > DCIM directory. Using FileAid, you access this folder via the DiskAid option in the Folders screen. This is the option that no longer exists in the updated FileApp.
In what is perhaps the critical difference here (in terms of understanding Apple's concerns), the DiskAid folder is located outside of the app's own directory and in the more generally accessible Media folder. This DiskAid folder can thus potentially be accessed by a variety of apps (unlike a folder contained within an app's directory). Apple, it seems, doesn't want to permit this more open access to transferred documents, a transfer that bypasses iTunes. Apple may have preferred that the USB transfer feature be removed from DiskAid as well, but there is no Mac license agreement for them to force this.
Perhaps Apple is concerned that the DiskAid folder may open a door to potentially dangerous (unauthorized?) file transfers that bypass the safeguards (censorship?) of iTunes. Or perhaps Apple intends to offer its own app for doing this sort of transfer and doesn't want any competition. Who knows? At this point, all we have is speculation.
Whether or not this speculation is correct, another mystery remains to be solved:
While none of the apps I cited above (aside from FileAid) have a USB option, FileAid is not alone here. ReaddleDocs and GoodReader are just two examples of other apps that support viewing USB-transferred files. With ReaddleDocs, you use a companion utility called ReaddleWire. Documents transferred via USB with this utility wind up in a "rdfiles" folder, located in the same DCIM directory where the "DiskAid" folder resides. ReaddleDocs can view files in the rdfiles folder. GoodReader provides more general access to folders in the DCIM directory; indeed I could use GoodReader to view documents transferred to the iPhone via USB from both FileAid and ReaddleWire.
This leads to the mystery question: Why hasn't Apple forced the makers of apps like ReaddleDocs and GoodReader to remove their USB-transferred document viewing feature, just as DigiDNA was forced to do for FileAid? One possibility is that Apple is already on top of this and we'll see forced updates to these other apps in the near future. Another possibility (not a likely one in my view) is that Apple is a bit "incompetent" here and doesn't yet realize that these other apps have this feature. A final possibility is that Apple has singled out DigiDNA for some unknown reason and intends to leave the other apps alone. We should have a better idea as to which of these is the most likely explanation as events play out in the weeks ahead.
Regardless, you can add this incident to the growing catalog of weird stories from the App Store approval process.
P.S. For yet another story to add to the catalog, one with a happier ending, see this ars technica article, posted today.