With iPadOS — and, yes, an iPhone and even an iPod touch running iOS 13 — you can finally access external files, not just photos, not just videos, but honest-to-Unix external documents, assets, and anything else, just by plugging in a USB drive, stick, even SD or Compact Flash card. You can even open photos and video directly in editing apps and access SMB shares right in the Files app.
With some caveats, limitations, and, of course, adapters. Hey, this is still iOS we’re talking about here.
No. More. Files.
iOS has been at war with traditional file systems since the very beginning. It’s always had a traditional file system, of course, because it’s always been based on macOS which is based on BSD Unix. But, for the sake of simplicity, Apple has kept it hidden completely away from users, and for the sake of security, sandboxed each part completely away from every other part.
In wanting to make the computer for everyone else, everyone who always felt alienated and off-put by traditional computers and their early-days-of-computer-science paradigms, part of what Apple wanted to save the mainstream from the tyranny of, you guessed it, the file system.
Now, other paradigms had been tried before, including soups, and tags, and search-based approaches, but iOS never really seemed to have any other plan besides not letting users access the file system. And that was a problem because you can’t remove something bad unless you offer something better to replace it.
Now, file systems are great. They’re terrific. For universities. For enterprise. For large groups of people but not for a single person. Just like the dewey decimal system is great for libraries but you should never impose it on your partner or child.
Sure, that type of rigid order might appeal to some, but no one should have to create folders, save to folders, and months later try and remember which folder they saved to, just to find that one thing they want when they want it. That thing should just be there for them. That’s exactly the kind of heavy lifting computers are here to handle for us.
And it’s why so many people just dump so many files onto their desktops or default download directories.
But I digress.
To avoid even the semblance of a file system, but understanding people needed files, Apple ended up leaving them siloed within apps.
That’s right, the file only existed in the app that created it and couldn’t be seen or used anywhere else by anything else. Which was terrible. Because instead of having to remember which folder your saved something into, you had to remember which app you used to create it. Like which of the 6 notes apps you installed during that late-night binge download session. And then, Lords of Kobol help you if you found a better Notes app and deleted an older one, because as that app went away, all its files went away with it.
But Apple didn’t quite yet understand this singular truth: If you refuse the bad but can’t come up with the better, stubbornly engineering around it only creates the worse.
And the absolute most frustrating part of all of this was that Apple had a pretty good solution staring them in their collective faces from the first days of iOS: ImagePicker and the Photos app.
It allowed for a centralized repository of photos and videos that other apps could open and save to, and a centralized app that we could open to see everything we had. And if you wanted it, you could even create a single layer of folders, or in this case items, for basic organization.
It got better over time. Smart albums joined regular, single-level albums. Extensibility allowed for multiple apps to edit the same files without saving new copies all the time. Computer vision have us the beginnings of real search. And the list goes on.
Just doing that for everything else, a DocumentPicker and Files app, would satisfy Apple and a lot of users. I might have written exactly that, I don’t know, for six or seven years running.
Totally not bitter.
But then, a couple of years ago, a miracle happened. Apple gave us a DocumentPicker and a Files app and even an external storage provider framework for non-Apple online services like Dropbox and all the various Drives.
And the skies opened and the sun shone down and it was good.
You could now plug in any online storage account and access any of your files on it just as easily as you could local files, but apps still couldn’t access entire directories for batch operations and you still couldn’t plug in any physical storage devices over USB and access anything on them at all. Not drives. Not cards. Not for nothing.
Sure, theoretically the cloud was better. Apple was super hyped about the world going wireless, and it meant nothing extra to carry with you, and nothing physical that could get lost, damaged, stolen, or could be a security risk, like a juice jack attack where the USB firmware itself was converted into malware to hack your system.
But theories don’t often survive the real world and sneakernet — where you walk files around between devices — had remained not only relevant but necessary long past the advent of the internet.
And, again, by denying people a simple, ubiquitous, if bad solution and not providing anything better, we all just ended up the worse for it.
Yup, some 13 versions later, and apps can now finally open and operate on entire directories at once, and you can now plug your USB drive, USB stick, or SD car into your iOS device and, using the Files app or the document picker within other apps, browse through any and all documents and media you have on it.
Folders & Batch
That’s right. Where previously, the DocumentPicker let you browse through directories but you could only actually pick one individual file at a time, now you can pick an entire directory. Accessing a directory requires an explicit user action, so apps can’t just access it on their own, behind your back. But once you pick a directory yourself, the app that you’re using is granted recursive access to that directory.
Developers can pick a default directory, so you don’t always have to start at the top and spelunk your way down. They can also choose to always show file extensions by default, and to show rich thumbnails via Quicklook if they want to.
There’s also a new section under Privacy in Settings that lists all apps you’ve granted folder access to, so you can switch that access on or off any time you like.
If a folder is in iCloud, you can now choose to share the entire folder as well. And It works just like you’d expect it to work, like it has in other online storage systems for years. Generate a link, share it, and whomever you share it with can access everything in the folder and add, remove, and change as they see fit.
Lastly, there’s a new column view in the Files app that lets you see the Browse sidebar, two levels of hierarchy, and a detail view with a big thumbnail, quick actions that are appropriate to the type of file, like Markup for PDF or Rotate for an image. Plus, rich metadata and any and all tags that have been applied.
It makes working with files much, much easier and more visual. And it’s my new go to.
For external USB support, it includes everything from SD and Compact Flash cards to thumb drives to HD and SSD drives to, yeah, full-on raid arrays.
A few caveats, though.
First, iOS only supports USB, not Thunderbolt. Doesn’t matter if USB-C and Thunderbolt 3 connectors look the same. They aren’t. Thunderbolt requires PCIe lanes and, internal storage controller aside, iOS just doesn’t use that architecture.
Second, iOS only supports unencrypted APFS, the new Apple file system, unencrypted HFS+, the old Apple file system, or the far more ubiquitous FAT or ExFAT. No encrypted APFS or HFS+, at least not yet.
Generally speaking, I typically prefer not to use encryption for external storage because, for me, losing access myself would be worse than someone else gaining access. So, being able to recover from corruption or damage is way more important than locking someone else out.
But, I’m not everyone and different people — and businesses — have different needs and priorities, I’d love to see support for encrypted volumes added as well.
Third, iOS doesn’t have any type of disk utility functionality. That means you can’t format, re-format, partition, or do any other type of routine maintenance or management on drives.
You dance with the formatting that brought you. Or, in this case, you brought.
Now, with multiple formats comes increased complexity. For example, iOS has previously only had to deal with case sensitive file systems. FAT and ExFat are case insensitive, and external APFS and HFS+ volumes can be configured as insensitive as well.
Hopefully, developers will figure that out on their end so we users won’t have to on ours. Same with handling the potentially longer read/write times, higher latency, across local and external storage, and the different file systems.
Likewise, external storage can be removed, even yanked out, and network shares can go offline or the connection can suddenly fail.
iOS won’t give you panicky dialogs the way macOS does, chiding you for not ejecting the storage first. With iOS, you’re not meant to have to eject it. That’s because iOS only has to deal with files being copied or moved right now, not being overwritten at the time like macOS does, which means the chances of data loss are way, way smaller. But, developers are expected to just elegantly handle that as well.
You can access external devices via USB-C on the latest iPad Pro directly, and on every other device capable of running iOS 13 with every other combination of USB and Lightning through the appropriate adapter, of course.
Plugging into a 2018 iPad Pro over USB-C works pretty much as you’d expect. Plugging into an older iPad or any iPhone has some limitations, because Lightning.
Basically, you should be fine with any USB 2.0, aka low power USB sticks or SD or CF cards. Just plug and go.
For any USB 3.0 or later, aka higher power draw, USB sticks or USB drives, you’ll need to give them power as well. That means using an adapter or hub that lets you not only plug in the drive, but plug into power at the same time.
And yeah, that’s one of the primary reasons I’m personally long past ready for Apple to go all in on USB-C across all products. Most people won’t be plugging SSD into their iPhones but, dammit, I’m sure I’ll find the need to eventually.
Ok, so, when you plug in, the USB storage will show up in the Browse section, just like local „On my iPad“ or „On my iPhone“ storage, iCloud Drive and any other online storage. It’ll also show up in the DocumentPicker within other apps, same as all those other types of storage.
And, with iOS 13, you can import photos directly from your camera into apps like Lightroom, no pre-load into Photos necessary.
So, if you want to plug in a USB stick with a bunch of songs or comics or other files, you still won’t be able to open them in Apple’s Music or Books apps. But, if another player or view app added support for iOS 13 Files, you’ll be able to open them right through there .
Unlike macOS, though, there’s no progress bar to lie to you, reassuringly, about how much of a file has opened, moved, or saved back out. At least not by default.
Apple didn’t just capitulate completely to the gods of old school compute. They didn’t just move the USB stack from the Mac to iOS any more than they just ported over the Finder. Sorry, nerds.
No, Apple built a new USB stack, a more secure USB stack, just for external files. Now, iOS has always been built on process and privilege separation. And this is in keeping with that. Nothing gets near the kernel. It’s all sandboxed, supports only files, no executables, and should be hardened against any current juice-jack or other malware attacks.
In addition to external storage, Apple has also added support for SMB 3.0 shares on servers . You can access them right in the Files app over Ethernet, Wi-Fi, even cellular data if your iOS device has it. Network Shares, like USB storage, will show up in the Browse column as well.
You can add them by using the Connect to Server action, using the menu, or by hitting Command-K on a keyboard, if you have one attached, same as on the Mac.
Apple has also added the Windows Search Protocol to iOS 13 and iPadOS, so if your server supports it, you get search as well. And yes, Apple has added the protocol to macOS Catalina so, if that’s where you run your SMB shares from, you can search away.
Basically, if you can see it, you can access it.
To be continued…
Am I kind of bummed that Apple wasn’t able to figure out a next-generation file access system for the future? Something that used machine learning to present you the files you (probably) want when you (probably) want them, with nearest neighbor suggestions to easily widen your options, with Siri to hunt down and find anything else you could possibly want, no matter where its been siloed or buried, like the Mac has had for a couple years now?
You bet. And I very much hope we get there someday soon.
But I’m ecstatic we’re finally getting something for now, something good enough, and lightyears better than the nothing we’ve had up until now.
At least that’s what I think. If you’ve been using iPadOS or iOS 13, or even if you’re just curious, hit like, hit subscribe, and then hit up the comments below with all your comments and questions.
This article was originally posted on iMore