So This Thing About Files on iOS

There is a very frustrating notion circling — the idea that managing files, or sharing files between apps, is hard on iOS. I’ve read three posts of late about them, each I will omit for varying reasons. The fact of the matter is that managing files on iOS is not hard — it is tricky and requires a modicum of brain power at times — but hard it is not.

In general the complaints are two fold:

Sharing files between apps is difficult.

Opening certain types of files is so cumbersome that many users will think it is not possible.

I’ve been using iOS full time for long enough now, I actually wondered if it is me who is out of touch with the level of difficulty, so I took this as a problem to investigate.

Let’s say I am emailed a zip file, and I want to open that zip file — nay — I need to open that zip file. How do I do it on a Mac?

On a Mac my most natural instinct would be to double click the zip file in Mail. What happens there?

Here’s the process:

Double Click Zip File

Zip file extracts via Archive utility, and opens a new Finder window with the contents.

That’s pretty simple, sweet.

On iOS (assuming this is a brand new iPad):

Open the file in Mail, it shows as not being able to open that file type.

Go to app store and search “open zip file”

Download one of the bazillion unzip apps that are shown — most for free — including the well known WinZip, though I recommend Documents 5.

Use the iOS share sheet to open the zip file in my chosen app

See all the files in the zip file

Ok, not a great process, but every iOS user (even the casual ones) know the saying “there’s an app for that” so of course searching the App Store is a natural course. It would be great if iOS expanded zip extraction as a built in tool, but it doesn’t, and yet a tool to do unzip is easily found, safe, and free.

Sharing the file to the zip app is just standard iOS fair, and thus, is trivial.

Ok, so opening a zip file on a new iOS system is not nearly as easy as on a new Mac. However, once done it is only a couple steps more than on a Mac – still the edge is clearly with the Mac. (Caveat here being if you use a third party email client on iOS which handles Zip files — I don’t know if there is one, but there probably is.)

So in round one the Mac wins, because where it is far from difficult on iOS, it’s not nearly as seamless as on the Mac.

Now let’s talk about sharing things between apps and see what that is like. Taking the same scenario of an email containing a file, let’s say it is an image I want to open in an image editor, say Pixelmator.

On a Mac I have a few options:

I could drag and drop it to the app icon I want to open it in, but if that’s not in my dock, then I might have to move around windows to get everything in postition.

I could right click and hit “open with…” and choose my application.

I could open the app and choose open, and from there try to find the file to open it.

That’s a bit simplified from the actual truth of opening a file emailed to you, but suffice to say there are options and the fastest is usually the second option.

On iOS there’s two options:

I invoke the share sheet and choose the application I want to open with.

I save the file somewhere central like iCloud Drive or the Photo Library and then open that file from within the app I want (assuming that app supports iCloud Drive or the service I chose).

Essentially, you are relying on the share sheet. But it’s no different from the fastest option on the Mac — if timed I bet well versed users of either platform achieve the same task in the same time. The only option you don’t get on iOS is dragging and dropping — which is by far the slowest and most cumbersome option on the Mac, but likely one of the more well used options.

My point is simple: opening odd file types, or sharing files between apps is not actually very hard, nor that different from what you do on a Mac. It may feel different, but that’s about it. The terminology is different, but the process and methods are similar. Which brings us to something which is actually different…

Managing Files

The key difference when you work with iOS versus macOS is the way each handles files — and yes files exist on iOS and can be managed. Let me first start by outlining the file system on a Mac.

On a Mac…
– Files live in a structured system which is fully1 accessible and visible to the user.
– Most people keep icon representations of these files in organized places.
– Apps pull from any location the user asks them to.
– Apps can not only read from those locations, but can almost always write to those locations.

On iOS:
– Files live in a system obscured from view of the user.
– Some apps exists just to manage files.
– Apps cannot read files from other applications, with exception only to those files in iCloud Drive, or those apps made by the same developer.
– Apps cannot write to a file store of another app.
– iCloud Drive is visible to the user and can be managed, all other files must be managed within the app who “owns” those files.

The difference between the two systems is key to understanding what is going on. To simplify the two systems, think of them both as a large high rise building where people live. The Mac acts like that building is a hotel, and the system and user are the manager of the hotel. Meaning: each app has it’s own room to live in, but anyone can just ask the manager for permission to get into any other room (we don’t even use keys in the hotel), and then easily do so, as long as the manger approves it. Pages can just be told to get files from Numbers’ room, and it can and will do that without issue because it was told which room is Pages’, and given permission to enter by you.

On iOS that same building isn’t a hotel, but rather a condo — each room is owned by individuals. In this case those individuals are the apps — Pages owns, sees, and can access only its room — there’s no central authority to ask for access either. Which means Pages, and Pages alone, is the only app which can decide to let people into their room. The common areas like the lobby and other rooms are services like iCloud Drive, Photo Library, Dropbox, Google Drive and others… There’s a condo association and manager, but they don’t have access either, they are just a facilitator. You can, however own more than one condo, and thus that app can access all the condos it owns.

The models are almost the opposite of each other. On the Mac an app like Pages asks the user where they want to get a file from, and then gets that file without issue — having full read and write access to everything — it can see into anyone’s hotel room, take what it wants, and leave. As with hotels in real life, this model is not the epitome of security (there’s a reason you lock your laptop in a safe when you leave it in your hotel room).

On iOS an app like Pages can only see in its room, and for that matter may not even be aware another room exists. So if you want to open something in Pages from say Numbers, you must start in Numbers and tell Numbers to go give Pages this one thing. (That’s what sharing with the share sheet does.) This is clearly very secure because each action is intentional — Pages will never overwrite something in Numbers’ room by accident. There’s no need for a safe in the room, because effectively each room is the safe. But iOS doesn’t stop there, because iOS actually never lets Pages enter Numbers’ room — instead if Numbers wants to share a file with Pages, Numbers makes a copy of the files, slides it under the door and iOS hands that copy to Pages — iOS is acting as a secure courier for the system.

You see why people find this system complicated now? Because explaining it is a pain and even though I work in it daily, I’m still not sure how accurate my description is above. But I can tell you, that in practice here’s what it means to share a file from Numbers to Pages:

Open Numbers

Find file, and invoke share sheet

tap Open in Pages

Behind the scenes the file is copied to Pages

File opens in Pages

This is simple, and honestly I don’t think anyone finds this confusing, hard, or anything of that nature. But it took all this explaining to get to what I believe is the crux of the issue: we are copying files and not moving them.

This means that if I open Numbersfile1 in Pages, then I now have two files: Numbersfile1 and Numbersfile1-copy. Now if I take that edited file from Pages to Word, I have three files: Numbersfile1, Numbersfile1-copy, and Numbersfile1-copy-copy. So if I want to edit the most up to date version of the file back in Numbers, I then need to make sure I grab it from Word, because the files I see in both Pages and Numbers with the correct file name are old copies and not the latest one.

That sucks. It’s a pain in the ass to deal with and clutters the system with multiple copies of the same thing floating around. Now you have to manage versions in a system which never intended on allowing for version management of files between apps.

Of all the things people complain about on iOS, this is the one thing rarely brought up, but it is the biggest problem with files on iOS. It should be complained about far more. The solution is iCloud Drive as it acts as a central file repository like Finder on the Mac, but that’s an entirely different article.

The complaints I’ve been seeing feel like they are written by people who last used an iPad when the iPad 3 was the latest and greatest — as if evident from how much they completely misunderstand iOS as it stands today.