Email Attachments, Sandboxing & the End of Tweaks

The other day, my sister called with an iPad question: “How do I attach a document to a reply message in the iPad’s Mail app?”

I confess that this is not a matter that has much concerned me, as I rarely use any of my iOS devices for sending email, and just about never with an attachment. However, having just returned from my trip to Paris, where I had depended entirely on iOS devices, I had coincidentally just confronted the same question.

The brief answer (which is not breaking news to those who have followed this matter more closely than I have) is: You can’t.

The more detailed answer led me down a rabbit hole to various work-arounds, a consideration of why Apple hasn’t implemented this feature, and eventually to philosophical considerations regarding the nature and future of Apple’s operating systems.

The problem

To be clear, there are ways to create attachments to emails on your iPad. What you cannot do, however, is add an attachment directly from within the Mail app itself. For example, suppose you hit the Reply button to answer an email you’ve received. After composing a lengthy reply, you want to attach a document to the message. There is no way you can do this. There is no paperclip icon to tap that brings up a “select attachment” display.

Given that this is an action that is probably performed millions of times a day on Macs and PCs, this struck me as a significant omission. Especially so when you consider Apple’s “post-PC” push to have us view the iPad as an alternative to laptops.

The work-arounds

Okay. You can’t add an attachment from within Mail. What can you do instead?

You can create an email with an attachment — from the app that contains the file you want to attach (assuming the app supports this option). This is probably done most often from Apple’s Photos app. Select a photo, tap the Share icon and select the “Email Photo” option. Actually, with Photos (but not most other apps), you have what may be an even better alternative: select “Copy Photo”; you can now return to Mail and paste the photo into any email message.

Sharing options in Photos

Photos’ Email Photo and Copy Photo options appear in the Share menu 

Apple extends this same functionality to its iWork apps. From Pages, for example, tap the wrench icon that appears in the upper right when a document is displayed. From here, tap “Share and Print” and then select “Email Document.”

Although not common, this capability also exists in third-party apps. I found it in graphics apps (notably Paper) and text apps (such as Elements and Writing Kit).

While these work-arounds are better than nothing, they are not an ideal solution. For starters, they only work if an app has built in support for the feature. This means that there are many documents in many apps that cannot be attached to an email. Period. Second, it’s still inconvenient to have to leave Mail to create a special message in a separate app.

A different sort of work-around is to upload a document from an app to Dropbox (or an alternative cloud-based storage). You can then include a link to the Dropbox file in your email. Again, this only works if the app in question supports uploading to Dropbox or other sharable cloud service. Apple’s iCloud does not yet support a way to share files like this.

Third-party apps

At this point, you may be wondering: Are there alternative third-party mail apps in the App Store, ones that do include an attachment option?

Once again, the disappointing answer is: No, not really.

You could get an app such as Sparrow (iTunes link) or Gmail. Both of them offer attachment options, but they pretty much work only to attach photos from your Photo library. And they only work with IMAP accounts.

Third-party tweaks

What about an app that tweaks how Mail works, adding the desired attachment feature that Apple has failed to provide? Does this exist in the App Store?

Pardon me while I guffaw. There is no way that Apple would allow this. Doing so would violate at least a dozen of Apple’s App Store guidelines. Just seeing such an app come up for approval would probably give the Apple reviewer a stroke.

But wait! There is such a tweak available. However, it requires (play spooky background music here) jailbreaking your iOS device. It’s called AnyAttach. To check out how well it works, I jailbroke my iPad and installed the app. It worked perfectly. AnyAttach adds a paperclip icon to any email creations. When I tap it, a window pops up from which I can navigate to any location on my iOS device, select my desired document and add it as an attachment. For example, I tried it with a Word document created in QuickOffice. The attachment arrived in Outlook on my Mac and was openable in Word.

AnyAttach in Mail

The AnyAttach paperclip icon (seen within the oval on the right) that appears in Mail 
and the window that pops up when you tap it

The downside of AnyAttach is that it requires a bit of technical skill to know how to navigate around the iOS directories to find the file you want. Surely, if Apple offered this same feature, the company would make it easier to use. But AnyAttach works and is a proof of concept that this feature can be implemented in iOS. For Apple to do so, all it would take is its willingness.

Apple’s reluctance

So why hasn’t Apple added an attachment option to Mail? As I am not privy to Apple’s internal decisions, I can’t say for sure—but I can take a pretty good guess.

Recall that, in iOS (and unlike on a Mac), documents that an app creates are (with very few exceptions) stored within the app package itself. That is, iOS does not have the equivalent of a Finder or a Desktop—a central location where documents from any app can be stored and located. This means that, for Mail to be be able to add attachments from any app, it would need the ability to drill into all the app packages on your iOS device. This is a non-starter for Apple, as it would violate Apple’s sandboxing restrictions.

Of course, given that Apple sets the rules, it could conceivably break them, at least for its own apps. In fact, that’s sort of what Apple has done for Photos. But, aside from irritating developers by ceding to itself an advantage that it would not grant to third-party apps, this solution presents some potential technical difficulties. I suspect Apple is concerned that opening up this access to the inside of app packages would be a Pandora’s Box, leading to unintended negative consequences such as easier hacking opportunities. Until Apple sorts all of this out, it likely feels that it’s better to let sleeping dogs lie. If there was overwhelming pressure from end-users to add this capability, Apple might relent. But such does not appear to be the case.

Still, I can see Apple doing an end-run here by providing an attachment option that worked via iCloud. Essentially, apps could implement an iOS-supported option to store documents in a special sharing area of iCloud. The Mail app (and possibly other apps) would have access to this sharing area, allowing it to add any such documents as an attachment. It would not be quite as convenient as how AnyAttach works, but it would be a lot better than what we have now. I’m not counting on Apple doing this; but I consider it a possibility.

Sandboxing

This gets us more directly to the matter of sandboxing — Apple’s term for restricting an app’s ability to access data or affect apps outside of its own domain. Whatever merits it may otherwise offer, sandboxing has a significant downside: It prevents the implementation of a host of useful features that would violate sandboxing restrictions.

Sandboxing, assuming Apple sticks by its own rules, forces it to come up with awkward solutions to simple problems (such as it has done with file sharing on iOS devices). And it prohibits third-parties from filling in any holes that Apple leaves open. It leaves iOS users with only two options, neither one ideal: jailbreak your device (with all the risks and hassles this entails) or wait and hope that Apple will one day provide the desired features. Sometimes waiting works (we can finally mirror the iPad display to other devices) and other times it doesn’t (at least not so far).

Mail attachments is far from the only feature that could be improved if Apple had less restrictions. There are many. As one other example, I’ve recently discovered that you can adjust the white balance of iOS devices (via a jailbreak app, of course). This capability would have saved me the hassle of having to return my “yellow” iPad to the Apple Store.

PullquoteWhy then did Apple create sandboxing and thus restrict what apps can do? The “official” explanation is that sandboxing helps users achieve “the three S’s”: Simplicity, Stability and Security. The typical end-user, so the argument goes, is better off not having to deal with a multitude of complicated settings, such as adjusting white balance. Similarly, prohibiting third-party tweaks prevents the instabilities (crashes and possible data loss) that can occur when you let others muck around in the OS (as has sometimes been the case on the Mac). Finally, by controlling the extent to which an app can interact with other apps, you increase security — minimizing the damage that a malevolent app might otherwise do.

These are all worthy and desirable goals. The key question remains: Do these goals inevitably trump the benefits you could gain if Apple loosened the reins? For me, the answer is no. Others see it differently.

In the end, the debate over sandboxing is more a political or philosophical debate, than a fact-based one. Although the sandboxing debate is of far less consequence, it’s not unlike the divide over the public’s reaction to actions, such as unauthorized wire-tapping, that our government has taken in recent years. Some will strongly defend the U.S. here, arguing that such actions are both necessary and desirable for our security. Others will counter that, even in the face of such dangers, there are freedoms we should not abandon.

The Mac and the future

Sandboxing is no longer an issue just for iOS devices. As of June 1, Apple began enforcing similar sandboxing restrictions on Mac apps purchased via the Mac App Store. This means that numerous apps already in the Store will be booted out unless they remove newly prohibited features when the app is next upgraded. Other apps, for similar reasons, will never make it into the App Store in the first place.

The good news is that, unlike with iOS, Mac users still have the option to purchase apps outside the Mac App Store. This will likely lead to situations where there are two versions of some apps; a feature-restricted one in the Mac App Store and a full-featured one available elsewhere. Users who want the protection and simplicity afforded by the sandboxed Mac App Store can stay within its boundaries. Others are free to wander. I wish Apple could find a way to give iOS users a similar choice.

While there is an emerging consensus in the tech community (as typified in this posting) that the scales have now tipped in favor of bypassing the Mac App Store when possible, I doubt this this will matter much in the end. The public has spoken. The vast majority remain unconcerned by these issues. They are content to live with the consequences of sandboxing on iOS devices…and seem ready to do so on the Mac as well.

Even I have one foot in this camp; despite my qualms about sandboxing, I would not trade in my iPhone or iPad for any current alternative. Overall, this means there is little incentive for Apple to chart a different course. As the Mac App Store continues to grow in popularity, it will likely mean, for better or worse, the end of the sort of tweaks Mac users have known for decades. And they will never be permitted on iOS devices. Welcome to the post-PC world.