The file system is the ultimate API, and it gives the user an enormous amount of control to take data, copy it, back it up, transform it, encrypt it, send it places, restore it, etc.
You realize that you can copy files gl and from other providers like Google Drive, Dropbox etc from the files app on iOS just like you do on any GUI and you can also copy files from the iPhone by just plugging in a USB C mass storage device?
Never owned an iPhone, but I have familiarity. Here's Apple's instructions for "exporting" your photos from iPhone. Note: it does not say plug the iphone in and drag the photos from the "Photo" folder to your external device. It says this:
> Export photos and videos to an external storage device
> You can export photos and videos you took on your iPhone directly to an external drive, a memory card, or other storage device.
> Note: For photos and videos that have been edited, the unmodified original version will be exported.
> Connect your iPhone to the storage device using the Lightning or USB-C connector, or connect the device directly to your iPhone.
> Go to the Photos app on your iPhone.
> Select the photos and videos you want to export.
> Tap the Share button, then tap Export Unmodified Original.
> Tap your storage device (below Locations), then tap Save.
Note that you have to request permission from Apple's app before you can actually export the data. The filesystem doesn't gate you this way.
So here's a question: can you export modified versions of photos that have been edited? Well, that seems to be tough. Searching around, you find wild discussions like this: https://discussions.apple.com/thread/8567773?sortBy=rank
This is the kind of shenanigans I'm referring to. No access to just copy data from the app. Android has a similar issue with apps, but at least the filesystem is a first class citizen on Android. That is, I can simply copy any photos directly off my phone like it's USB mass storage.
It’s asking for permission on the device because there are real threats that you plug up your phone to an untrusted device thinking it is just a dumb charging port and it can extricate your data.
As far as why you can’t export your edited photos, is that iOS doesn’t actually exit your photos. It applies the edits from what I can tell as a separate “filter” that’s stored as metadata so you can undo your edits. How do you export your edits in a cross platform way? Would you rather have destructive edits? Maybe you would. But either way there are tradeoffs.
And files have a different data store than a photo.
You just plug any mass storage device into your iOS device and it shows up in the Files app and you copy and paste files like you would in the Finder or Explorer. In fact, in the Files app, if you have a third party storage service like Google Drive or Dropbox, they also show up as location in Files along with iCloud. Meaning you can copy directly from Google Drive to your mass storage device.
You can’t do that with any random “file explorer” on Android - ie a consolidated location for local storage, cloud storage from 3rd party providers, network connections, and mass storage.
Yeah, I get it. I don't want any of that, I just want a filesystem.
I'll take care of cloud storage with SyncThing (or whatever) -- I'm the kind of guy that values being able to choose the parts. I don't buy "cold medicine", I buy ibuprofen, diphenhydramine, pseudoephedrine or whatever else I decide, and I'll dose each based on my symptoms. Because that's just better than some prepackaged thing. And I do the exact same thing with computing. Works great. But Apple fights.
The whole world of mobile computing is actively fighting giving the customers the ability to compose their tools, which strips away user agency, and creates all these issues with "big tech" being monopolies and locking users in. This is at the root of what the DMA is about, I think.
Yes I’m sure “you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.”
With iCloud, if I drop my phone in the ocean by mistake, I can walk into the Apple Store, buy another phone, log in and my new phone looks and acts like my old phone with all of the bookmarks, icons, app data, settings etc being restored.
How so? I want my backups to actually backup everything. No one cares about backups - they care about restores as the old saying goes.
If I can’t in fact throw my phone in the ocean when I’m away from my computer, go buy another phone, log in and everything is automatically restored, it’s a poor solution
Despite others thinking you’re crazy, I think you are right. I remember the start of the smartphone era where many of my relatives switched to iPhone because "you know where the pictures are going and where to find them". The worst offender was my dad that had a Samsung phone running windows phone 6 (with an actual start menu) where you had to dig through folders to find jpeg files.
Desktop OSs are the worst for mixing random system files with the users own documents. Theres a better balance now where the “Files” app has your documents, downloaded stuff and similar, while system and app data is hidden.
Isn't that pretty much just Windows? That basically never occurs on Linux and it's not common on macOS, either. All the garbage I have on my work computer (a Mac) in ~/Documents is stuff that OneDrive synced over from when I used to have a Windows computer there. (If I could turn the OneDrive feature that takes over ~/Documents and ~/Downloads, I would.)
Linux software is notorious for spewing crap all over the user's home directory. Delete everything inside your /home/name and see how well the system still works. On iOS/iPadOS nothing happens other than not having the documents you saved in there.
I'm not sure there even is a good place where programs can store their internal system files without requiring root other than mixed in with the user Home.
> I'm not sure there even is a good place where programs can store their internal system files without requiring root other than mixed in with the user Home.
You are right. I see a lot of applications putting stuff into /var/run/user/<uid>/, but this is mostly ephemeral runtime data, notably sockets. And of course systemd has service units there, which don't seem temporary at all, but it's systemd, so whatever... .
The correct way for what I intend would be /var/lib/user/<uid>/, but yes this does not exist on my host. But I honestly don't see why non-ephemeral per user data shouldn't be put into /home. It is definitely user-specific, under the control of the user, instead of the OS, and when you want to move your user to another host (or sync it), you definitely want to include that data as well, so putting it across the OS filesystem sounds kind of dirty to me.
I think the systemd units in /run are indeed ephemeral, and indicate units that are active. If they have permanent counterparts (some units, like transient timer units, don't have them), you'll find them under /etc/systemd or /lib/systemd for system units and ~/.local/share/systemd or ~/.config/systemd for user units.
> But I honestly don't see why non-ephemeral per user data shouldn't be put into /home
I think I agree— as long as the conventions are clear, I think it's reasonable to have some hidden dirs under $HOME set aside for configuration and cache and so on.
Maybe there's value in exposing a single directory as the root of a sandbox for user files, so users have to go farther out of their way to screw things up, especially depending on your audience. Maybe a decade from now Linux desktops will have something like this, because most apps will run sandboxed in Flatpak, unable to write to the root of $HOME. (Idrk how that's organized, though— maybe apps are just allowed to edit "their" dotfiles without modifying their location.)
But I'm not sure that obscuring configuration data's place in the filesystem in that way is really desirable or necessary. I doubt most users inspect or think about hidden directories on Unix-likes unless they're looking for them anyway.
The average user does not see things like app config files, cache data, etc as their own files. The current /home has so much absolute junk that it's easy to not know where your stuff is. "Real" files to a normal user are .docx, photos, downloaded files, etc. Not auto generated configs.
There ideally should be some separation between your actual documents and system utility stuff. I guess this has mostly happen already with real files sitting in cloud storage. With local storage just being replacable.
> The average user does not see things like app config files, cache data, etc as their own files.
All the more reason to put this stuff into the user directory, so that it is automatically included in backups and syncs done by the unaware user.
> The current /home has so much absolute junk that it's easy to not know where your stuff is.
Not my experience. Application data of application XYZ is either in ~/.xyz or in ~/.{config,local,cache}/xyz, depending on whether the application is FHS compliant or not.
Yes and no. Some older conventions for dotfiles are a bit messy in that they're not necessarily contained under top-level directories like ~/.config or ~/.local, but the hijacking of non-hidden directories for contents unrelated to their purposes, like using ~/Documents for game saves, is basically unheard of (except for some ports of Windows games that retain this bad habit).
> On iOS/iPadOS nothing happens other than not having the documents you saved in there.
That is, frankly, a ridiculous test for the issue under discussion. Even if everything was stored under a top-level subdirectory set aside for application data in a perfectly orderly way, nuking $HOME would still break things.
Besides all that, hidden directories in the root of ~ are conventional¹ places to store application config files and so on, and can't be mistaken for conventional places to store documents. On most Linux-based operating systems, the conventional place to store documents is (obviously) ~/Documents, which is created ahead of time for all users. That folder doesn't generally end up polluted with things that aren't documents.
> On iOS/iPadOS nothing happens other than not having the documents you saved in there.
If you delete /var/mobile or any of the things that $HOME points to in the context of some app, you'll definitely lose app settings.
The app sandboxing on iOS does something nice by sort of forcing app configuration data to live within conventional directories, but none of that is captured in the "what if you delete ~" test. (The fact that $HOME isn't really directly exposed to the user sort of does; the local files you're comparing to $HOME on Linux are actually $HOME/Media on iOS.)
That's the thing, this was the very beginning of the smartphone era, 2007-2009. UX was not fleshed out yet. Conventions neither. Simple gallery apps were an Apple and iPhone thing.
There were cases where phones were not consistent. Pictures from the camera, or saved from MMS, or saved from the Web, or screenshots, did not all go in the same place. Just like you would have on a desktop :) I don't remember that well the pre-2010 android, but it had some issues too.
Even to this day, WhatsApp saves photos to the gallery, but in its own album. At least on iOS those are part of the regular gallery so you'll always find them (an album is just a "tag" on the photo). Android has a dedicated album too, but the picture set is distinct from the main picture gallery. So are screenshots. That's more control and power, but utterly confusing for older people. Younger relatives are fine, older fail to navigate around this and find "the picture your auntie sent to me through whatsapp". Yup, it's there, but not in the main camera roll.
This is what I mean by "you know where the pictures are going".
PS: Apple botched the UX of the gallery app in the last two iOS versions so much that even I, a young tech-inclined person, loses my way around. So do my relatives. They're sorta catching up /s
A file system and its files are a very simple abstraction that lets us organize these exact things.
I understand that some people get confused and overwhelmed by a directory structure, but I see that as an education problem, not a UX problem. I was taught all of this in elementary and middle school computer classes in the '90s and early '00s. Having this knowledge early on made me less afraid of my computer, made it feel less like a magical black box, and gave me the confidence to learn more complex topics on my own.
Computers become way more capable when the people using them understand fundamentals like directory structures and command line usage. I don't think either of these things are as difficult to learn as reading, writing, and arithmetic (especially if you already have a base level education in those three things).
If more "everyday people" just had a little bit more knowledge about these things, they would be able to do way more with their computers with less of a reliance on proprietary solutions that funnel them down whatever path makes someone else the most money.
its a UX probpem insofar as service providers will decide that since they give you a view over the file system, thats enough.
i want file system access, but as a power tool. the 50 clicks through different folders is irrelevant to my most common 5 patterns of use. those should be a single click, or 0 clicks
I tried out zoxide and fzf ctrl-r history on linux (zsh) recently. Game changers.
Where is zoxide for my phone? Why is there so little innovation?
Trillion dollar companies can't come up with a single new thing. Or rather, won't come up with a single new thing because they're just useless rent seekers.
One reason I'll never own an apple device, and prefer buying more expensive more open competition. Its just a red line - I own the device by law, if you bend backwards to prevent me from using it via ways that it supports by principle, your product doesn't exist for me.
Barely... the iPadOS brand was introduced in 2019, the European Commission proposed the DMA in 2020, and even prior to this there were obvious noises being made in Europe with regards to future regulation. Maybe its coincidence, but the timing still lines up for this being a response to the threat of EU changes.
Law drafting in Europe doesn't happen behind closed doors and typically even has consultations with the companies affected by it. It wasn't unreleased only because it wasn't signed yet.
That also could have been from the phone manufacturer OR from the carrier.
This is why I've avoided non Pixel phones since the Pixel5 came out. None of that 2 or 3 apps for the same thing so everybody can get their ad cut payout.
Whenever I'm forced to help with iPhones, I'm baffled how hard everything is. And I had my own iPhones previously. Download a file, unpack it and open in an app is an exercise is frustration, and that's just hoping that I will find the file due it being newest. Working with directories and old files properly, like on Android, I'm not sure if its even possible on iOS. And all that with a crappy keyboard with hidden numbers and special symbols, making searching even harder.
I love Android but Android does that too. Apps have their internal storage area which you can't access unfortunately (not without root anyway). Nor system files.
There's a difference between "can't see 'special' folders" & "can't access anything but the app-specific storage". iOS loves the latter, while Android lets you organize files mostly normally even if doing highly stupid/discouraging things for power users & some app developers making questionable non-default choices.
The history lesson is appreciated but how does this relate to the current state of the stock file explorer that ships with the OS? I’m using my phone now and not ten years ago.
edit: oh, I think I get it. My original post wasn't intended to be read "iOS invented the file explorer, has Android also a file explorer app" (which would be silly, of course) but "when Files app released, the AOSP file explorer that commonly ships as the default was lacking, has this improved (caught up to Files app)"
When I had an iPhone (a few months ago), there was no way for apps to see files in the filesystem. I wanted to play some music and I had to copy it over to each of the music player apps separately. Is that not the case any more?
Am I supposed to be mad about them not supporting a feature during a time when I didn’t use iOS or is this somehow supposed to impact my current day use of Files app?
Try connecting to a WebDAV server on File. It's possible but it's shitty. And try using Syncthing on iOS to keep your files synced across devices without having them uploaded to servers you don't control.
Also, on Android, you can choose any file explorer. You're stuck with Files and it sucks (but it looks nice).
The one major issue is that it doesn’t work inside other apps. If I save something in Word, it pops up the standard File dialog and every storage provider available for my iOS device - Dropbox, OneDrive, Google Drive, iCloud Drive, local storage, network drives, and locally connected mass storage devices are available.
They did a pretty hard reverse on that. There's now a full Files app with integration with other apps (cloud storage, asset managers like Adobe, terminals for SSH transfers, etc). Unfortunately a lot of apps have never caught up and will only save stuff in the pre-Files sandboxes and not the shared local or cloud containers.
Yes - it’s not like they have had a literal app called “Files” since 2017 and if you install apps like Dropbox, OneDrive, Google Drive etc they all show up in the Files app and are choosable destinations from any app that uses the Files dialog…
They have rolled it back over the years. Theres a full files app now, USBs can be easily plugged in to the iPhone, every app that allows exporting allows saving to the files section, etc.
I miss being able to plug my phone (of any kind) in and getting it mounted as a drive letter.
Android misses the mark so much with MTP and iPhone… waves frantically at iTunes.
(At least, in a weird bizarre twist, the iPhone’s Files app is actually really useful for me. I find myself formatting flash drives, copying stuff from network shares, etc, all from my phone and it’s so nifty to have nearly-first-class features there.)
MTP is really, really bad. I have a better experience managing files on iOS devices using Linux than I do managing files on Android devices using macOS simply because available MTP implementations are so awful.
I know that read/write conflict concerns are what got USB Mass Storage mode removed from Android, but surely there's some way to resolve that. Like it wouldn't bother me a bit if Android just locked the device and put it in "file transfer mode" when it's mounted on a computer, similar to how iPods used to and how Kobo e-readers do now. It'd be worth the universal robust multi-platform support.
Or they could have figured out a new version of MTP that supports basic features like concurrent access and normal metadata. Or they could have gone for SMB/NFS over a virtual network link. Anything but this horrible interface they've doubled down on.
> I know that read/write conflict concerns are what got USB Mass Storage mode removed from Android, but surely there's some way to resolve that.
Depending on whether the respective kernel supported it, you were still unofficially able to switch removable SD cards into mass storage mode (though only with a rooted phone), although somehow, even if I remembered to officially unmount the SD card from Android first, it somehow still often led to mild filesystem corruption (luckily never anything fatal, though) that required regular chkdsk-usage.
> Or they could have figured out a new version of MTP that supports basic features like concurrent access and normal metadata. Or they could have gone for SMB/NFS over a virtual network link.
My current phone no longer supports the above mass storage mode-hack for the removable SD card, which annoyed me enough that I actually wrote my own SMB server app (https://github.com/buttercookie42/SimbaDroid), because all other SMB servers for Android that I'm aware of were either outright broken, unsupported, buggy or fiddly to use. Sadly the only open source Java-based SMB server only supports SMBv1, so you're stuck with that, and you still need root for full comfort, but within those limitations it works quite nicely.
Looks like this is an Apple problem that can ve solved by not using Apple products. Every once in a while I look at some Apple device and think it's nifty. Shortly after I'm made aware of some thing or other that they can't do because Apple just doesn't like standards, open source, or just freedom itself.
Lets just zoom into a single use case. The ability of the user to buy a 3rd Party watch that integrates with their phone:
* Apple doesn't allow 3rd Party watches to send text messages. The Apple Watch is allowed to do so.
* Apple doesn't allow 3rd Party to take actions on notifications. The Apple Watch is allowed to do so.
* If you want to use the internet on your watch, you must: 1) install a 3rd party app, 2) keep that app open. Closing the app closes the connection to the internet. The Apple Watch does not have this restriction.
* 3rd Party watches cannot detect if you are using your phone. This means that they will notify users of notifications even if the user is looking at the notification. The Apple Watch does not have this restriction.
* Apple does not have ‘interprocess communication’(IPC) like Android.
* Apple restricts making 3rd Party App Stores. This makes it difficult to make a community of people making watch faces.
All points come from Pebble's blog [1]. This is just a single type of integration that Apple intentionally makes difficult, there are many others (e.g. 3rd Party Photos App, ...)
No, that's not true - the change was that you could only install software from verified developers, not only from the app store, and now they've partially walked that back too and "are building a new advanced flow that allows experienced users to accept the risks of installing software that isn't verified." ( https://android-developers.googleblog.com/2025/11/android-de... )
Like sharing your WLAN. It works great between iPhones, if you know how it works and the preconditions are fulfilled (it's undiscoverable). You can't share with Android devices by showing them a QR code – which I would consider the "usual" way and which is easy to do on Android devices.
Edit:
Here is the procedure I was talking about and all prerequisites for it to work:
iOS hotspots are discoverable by non-Apple devices if you have "Allow Others to Join" enabled and have the Personal Hotspot settings panel open on the iOS device. Otherwise, it's hidden to help prevent unintended connection attempts.
It has never worked for me on iOS. Everyone kept saying "I can just share the password" but the prompt never popped up, and there was no way to do anything.
IIRC it only works if you are on their contact list. And I think you need to be in the settings app. Something like that. It's a handy feature but Apple could make it easier to understand, and they could do way better communicating why it isn't working, when it does not work.
let me list some things I can do on android which I cannot do on iOS:
* Install real mobile firefox, including installing firefox addons I've built for myself. Firefox on iOS is a safari skin
* Install web browser security updates without also updating my entire OS. On Android, firefox is an app. on iOS, safari is a part of the OS that cannot be updated independently
* Install an open source app my friend built without paying $100/year or having to reload it every 7 days
* Build and install an app without owning a macbook or other macOS device, just using linux
* Filter notifications to my garmin smartwatch by-app
* Have reliably working file-syncing (i.e. syncthing for iOS) because background tasks are something you can do well in android, and barely at all in iOS
* Have access to the source code to debug and fix problems
* Have the ability to flash my own custom kernel / rom (not all android devices, but many)
.... Really, not being able to write and install my own app without paying apple $100, and without owning a macbook is the big dealbreaker, followed by iOS restricting APIs needed to do all sorts of things like proper notification handling, proper NFC, etc etc.
It amazes me that so many people on the "hacker news" forum are okay with their primary computing device being wildly hostile to the hacker spirit, to the desire to tinker around for fun and learn and hack on things.
It always kind of sucked though. You had to go through the pairing process, and then the transfer was incredibly slow since Bluetooth is very low bandwidth.
It’s still a classic Apple “the open standard sucks so build a proprietary one that’s great but only on iPhone”
You could do it even before phones came with Bluetooth via Infrared. Granted, the two phones had to be placed perfectly for the IR sensors to connect, if you moved them the file transfer would break.
Bluetooth was a huge upgrade because you no longer needed to do that.
i think microsoft really messed up. windows phone could have been huge. i thought they were going to be. i guess things like this didn't help. they really didn't play their cards right.
Yes. When my mom got her first Android phone, she wanted to transfer all her photos from her Motorola Razr flip phone. She said the guy at the AT&T store had a device that would plug in to the data ports of various phones and transfer stuff between them, but it wouldn't do it, so he declared it impossible.
My mom was upset that she would lose her photos, so I puzzled over it for a long time trying to figure out a way. Finally, I realized I was being stupid and missing the obvious: both phones had Bluetooth! I paired them with each other, dug through Razr menus, selected the photos, and did a Bluetooth file send. As expected, the photos went right over. Well, I shouldn't say right over because it was very slow, but it worked just as it should.
When I was in high school we chatted exchanging notes/txt files between Nokias, LGs, Samsungs and Sony Ericsson feature phones and Windows Mobile (I had an HP one) and Symbian (two friends who had a N95) smartphones.
This was just as broadband was getting popular, so those who had it usually downloaded MP3s and then distributed them at school through Bluetooth. I remember one friend using her phone as a bridge to copy files from me using Bluetooth and sending to another friend's phone using IR.
This was across all the classroom, this definitely wasn't restricted to the nerdy clique. We found out that chatting through notes exchange worked pretty well and then it spread like wildfire. SMSes were expensive in my country!
This was like 20 years ago. Maybe 2006-2007. Twenty years later we're commemorating that Bluetooth File Exchange over WiFi is now interoperable between the only two major mobile OS as if it were a revolutionary technology. How backwards it is.
Phones other than iPhones can still share files with each other and with computers using Bluetooth. But people instead use apps like WhatsApp or e-mail for file transfers, even in places where iPhone's market penetration is near zero.
In the year of our lord 2007, my classmates would send (often explicit) videos via bluetooth from their phones (of any manufacturer/model/platform) to teachers' laptops when they were plugged into the projector. They would usually auto-play.
Until reading this thread, I had no idea that iPhones did not support Bluetooth for file transfer. I had expected comments like "we can do this with an entry-level phone via Bluetooth already".
On the other hand, with the ubiquity of always-on Internet access and cheap data plans, in most situations where Bluetooth would have been used, I now see WhatsApp being used instead.
We used to be able to send files over Bluetooth before the iPhone came out.