4 ms·
The concept of files and file systems is useful to regular computer users, even when they have no interest in knowing how things work under the hood. The issue
by layer8 2y ago
The concept of files and file systems is useful to regular computer users, even when they have no interest in knowing how things work under the hood. The issue is with mobile OSs, and that software companies like their apps to be a walled garden for your data as much as possible, and therefore resist exposing your data as files living in a normal shared file system. Even if you already work with files, they have you “import” your existing data into their storage system, and you have to manually “export” (or “share”) any modifications as a new, separate copy.
- recursivedoubts 2y agoYes, also the curse of modern desktop os’s trying to trick people into storing data in the cloud. The notion of just having files somewhere accessible and organized in a reasonable manner isn’t clear to many (most?) of my students.
- dismalaf 2y agoLast I checked Google Drive shows everything as files in folders, just like a desktop OS. And as someone who had their house (whole town actually) burn down recently, cloud storage saved all my data, thousands of baby photos, etc...
- lmz 2y agoWhich is a better security model in these days of untrusted apps vs the desktop "my screensaver can read my chrome passwords file" model.
- layer8 2y agoAccess permissions are orthogonal to having a file system. In fact, mobile apps still use the local file system, they just hide it from the user. And password files should still be encrypted with a master key, e.g. application-private secure enclave key where available.
- lupire 2y agoYour screensaver should be running as an unprivileged user.
- DiggyJohnson 2y agoIn the name of low effort, tangential, golden era HN comments: the decision to hide file format extensions on windows (and maybe other OSs) sucks soooo much. The point about mobile devices breaking the desktop metaphor and file system norms is really interesting. Higher quality discussion question: Files, buffers,file systems, file explorers, and window managers seem like useful abstractions to me for the human computer user. Why did we not end up with something like “every app has a folder with your files” or “if you have a new iPhone, just send or recover your user files from the official Reddit app on your old device and import them to carry on where you left off on your new device. Welcome back to the Reddit app.”
- layer8 2y agoHiding file name extensions is a bad default, but at least it’s just two clicks in the Explorer ribbon to permanently unhide them: https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2017/03/img_58b8a4f84142d.png https://static1.howtogeekimages.com/wordpress/wp-content/upl... (Well, it’s now three clicks in Windows 11 it seems.)
- rjbwork 2y ago> Why did we not end up with something like ... Because that's anti-thetical to control. The biggest sin in a technology business is allowing your customers to stop using your product with no negative consequences for them.
- TheNewsIsHere 2y agoI have spent so much time working with users that I don't agree. I think the lock-in is simply a useful side effect for the MBAs. If you're making software or hardware for millions of users then abstraction becomes your friend in a variety of ways, some of which are immediately obvious and some of which are not. I used to work for a company which sold software for both desktop and mobile. The earliest versions of the mobile software assumed you also had the desktop software: it was more of a companion to the desktop software. That changed over time, and it was a painful migration because we had to build a lot along the way. It was kind of like in a game where you're running through the sky building a walkway in front of you as you go. Over time not having some kind of seamless syncing and handheld migration option became a liability for a variety of reasons, and a big economic one was support overhead. Asking users, at scale, to do things with files on their mobile devices (let alone with both their mobile device and computer) was asking a lot. So much so that we ended up expending an increasingly economically unjustifiable amount of time hand-holding users through very basic steps. Our technical users got it just fine, and we basically just had to provide cover when something unexpected or untested happened, but that was a minority of users. I agree with the general sense here that it's to our detriment generally that basic computer literacy for things like files and folders is decreasing, and that it's made worse by trying to abstract those primitives away. On the flip side, the market is going to serve itself best by meeting people where they are. Businesses aren't going to try to educate people, they're just going to take the path of least resistance which only serves to enable (or you like, underwrite) a continued regression in basic computer literacy.
- immibis 2y agoFiles and directories are just one of many possible abstractions for storing data. You have files and directories. Directories contain files and directories. Your whole device is one big directory. Files are identified by name. There's absolutely no reason to think this is the best possible model. Here's another: Your device contains a bunch of photos and videos. Photos are identified by looking at them. Videos are identified by a still image, or by playing the video within the video chooser. Here's another: Your device contains a bunch of apps. Apps can organize their own data however they see fit. ... Microsoft's OLE really was the most well-integrated document-centric desktop we ever got, wasn't it?
- PaulHoule 2y ago... OLE is one of those things that have been forgotten under POSIX hegemony. What people remember of the Office '95 file formats was that they were 'proprietary' but it was worse than that in the sense that these were really meta file-formats that would let you embed a 'file' inside a file which would be handled by some arbitrary EXE, so to process any Office '95 file you really need a Windows installation with all the EXEs and DLLs required by that file, thus when Microsoft came out with ActiveX [1] I was really terrified that you'd need a Windows computer to browse the web in a year or two. I find the 'app' model to be user-disempowering thing since the app chooses what you can do with the data, but 'photos' and 'videos' are something really different because there is a standard format for those so I can take photos with my DSLR or my tablet or make images with a Python program or edit them with Photoshop or MS Paint or the GIMP and view them with different apps, print them out, upload to a web server, etc. A system could provide a different API for accessing this kind of functionality but I'd say it is fundamentally a step back to have to read data with the same program you wrote it with. [1] https://en.wikipedia.org/wiki/ActiveX https://en.wikipedia.org/wiki/ActiveX
- esseph 2y ago[dead]
- PaulHoule 2y agoI'll argue that files and filesystems, as we know them, aren't such a great API. [1] Before we had the hegemony of Unix, for instance, it was expected that operating systems had richer concepts of files, such as files which a record-oriented or block structure, ISAM [2], Record Management Services [3], etc. What happened was that Unix inspired a generation of microcomputer operating systems, and on top of that, Unix implementation of its own abstractions are poor. For instance, I wouldn't trust any kind of file locking to work on Unix at short of "directory creation being atomic" but even Luu isn't so sure about that one. Contrast that to the Win '95 era in which you could run multiple copies of Microsoft Access on different machines over an SMB file system and expect locking to work properly. Post-2010 or so there has been a bifurcation between distributed systems that implement simpler but more scalable and reliable 'file-like' APIs like S3 (random access writes are like... aspirational, aren't they?) vs libraries that do what old facilities like DEC's DATATRIEVE did for which I'd include SQLite, Apache Arrow and such. It used to be those facilities had some support in the kernel whereas things like that now are almost entirely userspace. [1] https://danluu.com/deconstruct-files/ https://danluu.com/deconstruct-files/ [2] https://en.wikipedia.org/wiki/ISAM https://en.wikipedia.org/wiki/ISAM [3] https://en.wikipedia.org/wiki/Record_Management_Services https://en.wikipedia.org/wiki/Record_Management_Services [4] https://en.wikipedia.org/wiki/DATATRIEVE https://en.wikipedia.org/wiki/DATATRIEVE