Hacker News new | ask | show | jobs
by hehetrthrthrjn 2033 days ago
Generally good design and user-centered design (but that's being eroded with every new release) along with attention to detail.

Small examples: you can scroll a window without having to click on it to make it active, applications don't refer to files using paths but file ids instead so you can generally move files around a disk while they are open without things breaking.

2 comments

> you can scroll a window without having to click on it to make it active

This works on Windows, and most sane Linux DEs are either default to that or can be configured to do that.

> applications don't refer to files using paths but file ids instead so you can generally move files around a disk while they are open without things breaking.

Do you mean they hold an opening fd of the file, which is also not special at all? Otherwise it is pretty interesting, please elaborate.

I only really use macOS these days, so they've clearly improved or borrowed features since I last looked, but I guess the point is that those features were implemented long ago.

The ability to implement file access the way is obviously possible on any OS, but on the Mac it's consistently implemented that way in applications, except for a couple of bad actors. On other OSes it's much more mixed. The same can be said for many other small features. There's a just a lot better consistency overall on macOS.

> Do you mean they hold an opening fd of the file, which is also not special at all? Otherwise it is pretty interesting, please elaborate.

Exactly. Special notwithstanding, it’s still a nice feature and not something Windows has to my knowledge, at least not common (i.e. “File is in use” errors). On macOS you can e.g. move a file to trash while it’s being used still by some running program.

Somewhat not consistent though. But I don't know if that is the fault of the application or Windows.
The scrolling behaviour also exists in Windows and in Linux.

I believe (if I understand what you mean correctly) that the file system behaviour is also a Linux thing. Deleting a file that is open is completely fine in Linux.

I think UX between the three OSs is almost completely a matter of habit and familiarity these days. I for one can't see how anyone can be productive with the (what I believe is abysmal) window management on a Mac but millions of people like it so I'd probably get used to it if I wanted to.

file system behaviour is also a Linux thing

It's required by POSIX, so all modern UNIX-like systems have this behavior:

When the file's link count becomes 0 and no process has the file open, the space occupied by the file shall be freed and the file shall no longer be accessible. If one or more processes have the file open when the last link is removed, the link shall be removed before unlink() returns, but the removal of the file contents shall be postponed until all references to the file are closed.

https://pubs.opengroup.org/onlinepubs/9699919799/functions/u...

> the file system behaviour is also a Linux thing

I think the interesting part is being missed here, the behavior is that the file is being identified to apps by a uniquie identifier which is not the path, so referrering apps still find it after it's been moved, even when they didn't have it open already. More like using the inode as the identifier maybe? This is a behavior that goes all the way back through the pre-OSX macs. It was part of some sort of philosophy for Macs though I forget its name.