Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because Apple realised that phone users are interested in photos, videos, contacts, documents, appointments etc. not files


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.

/var/run/user/<uid>/ ?

Or what do you mean?


/run isn't for¹ application data, and it's also not persistent (it's often on a tmpfs).

But sure, an OS could in theory use something like /var/cache/<uid> instead of ~/.local/cache. I'm not aware of anything that does, though.

----

https://specifications.freedesktop.org/fhs/latest/run.html


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.


> so users have to go farther out of their way to screw things up, especially depending on your audience.

I think on most desktop distros users only have writing access to their home directory and maybe /tmp.


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.


> .docx

goes in ~/Documents

> photos

go in ~/Pictures

> downloads

go in ~/Downloads

> Not auto generated configs.

No Linux applications ever put configuration data in any of the aforementioned locations...

> it's easy to not know where your stuff is.

?????


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.)

----

1: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s08.htm...

2: https://www.theiphonewiki.com/wiki//private/var/mobile


Weird story...people open up their gallery app and there are the pictures.

Never have been different. What did your relatives doing?


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.

It's absolutely pathetic.


But what they own is files. Most users aren't interested in mutual funds, but that doesn't mean they don't want them in their retirement portfolio.


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.


You are not Apple's target audience, and there is nothing wrong with that.


The problem is that because fleecing dummies is so profitable, it encourages the same scummy behavior by other companies.


Calling an extremely broad user segment dummies is unreasonably condescending.


Did I say they were all dummies?

You said there's nothing wrong with how Apple exploits their target market.

Scummy behavior being normalized is what's wrong with it.


And files…


... This is a joke... Right?


"Dad, download the PDF and then email it to me."

"The file disappeared. I can't find it."

"Look in the download folder."

"How do I get to that?"


iOS isn't just a phone OS.


It is. The other OSes have different names.


Only so they could pretend that iPhones and iPadas are separate platforms under DMA


I generally agree that iOS/iPadOS aren't two different operating systems, but "iPadOS" predates the DMA.


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.


So Apple preemptively split the names because they knew exactly how the unreleased DMA was going to affect them?


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.


Steve Jobs, 2007: "iPhone runs OS X"


And it indeed was running a fork of OSX… which was later renamed.


lots of things have happened since then.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: