Hacker News new | past | comments | ask | show | jobs | submit login

In 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.”






Hiding 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/upl... (Well, it’s now three clicks in Windows 11 it seems.)

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


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


Files have big downsides for both users and developers, which is why they have largely been phased out other than for specialised pro use cases:

1. Many users find recursive data structures like trees to be confusing. Recursion is the place where a lot of students fall off the train when learning programming. Trees are fundamental to file systems and explorers, but they aren't intuitive to a lot of people. That's why every app now starts with a screen that highlights recent documents and search.

2. Developers hate files because files suck. They're just flat arrays of bytes. You have to define file formats and that is really hard work many programmers have never done. Databases are where it's at but RDBMS tech never standardised file formats, hence the appeal of SQLite's "use an rdbms as your file format" elevator pitch. Apple/NeXT tried to partly fix this with the concept of bundles, but our industry never standardised a way to transmit directories that works better than PKZIP so bundles hardly work and Apple had to give up on them in most cases. None of the protocols we use understand how to move directories around.


If recursion is confusing to people then files are a great weeding out function for folks studying computer science. We have too many clueless people in the industry, why add more?

Bundles are just folders with a bunch of files in them. How does that invalidate the concept of files?


We're talking about why smartphones and tablets are designed without emphasizing files, and why students start CS courses without knowing what filesystems are. That's the reason. By all means, weed out everyone who isn't already self taught in desktop computing skills, that's a different discussion.

Bundles are an attempt to simplify file format development, or can be seen that way, but it failed exactly because they are folders not files, and therefore aren't really usable because they can't be easily transmitted. You can't drag a bundle onto an email, or upload it to a file sharing platform, or send it via Bluetooth. Apple used to use bundles for iLife word processor documents, spreadsheets etc. They had to give up because it caused too many problems. Nowadays they use ZIPs like everyone else.


The structure of the files an app uses internally is undocumented and not intended to be a user-facing API. Who wants to be responsible for handling every insane thing the users decide to do to those files?

File name extensions aren’t an inherent or necessary part of the desktop metaphor. They can be stored as metadata in the file system. Mac OS used to do this.

Because having the Reddit app store and load its configuration and such in iCloud, which almost every iOS user has an account for, is a much more seamless experience for most people.

Intricacies of file systems have always been a means to an end for regular computer users.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: