Why Files Exist

Whenever there is a conversation about the future of computing, the discussion inevitably turns to the notion of a “File.” After all, most tablets and phones don’t show the user anything that resembles a file, only Apps that contain their own content, tucked away inside their own opaque storage structure.

This is wrong. Files are abstraction layers around content that are necessary for interoperability. Without the notion of a File or other similar shared content abstraction, the ability to use different applications with the same information grinds to a halt, which hampers innovation and user experience. If one application wants to work with the contents of another, they must explicitly decide to do so, decided upon a shared representation, and then manually integrate. This encourages applications to try to build everything themselves, resulting in big applications with lots of mediocre features rather than lots of specialized applications that each do one thing really well. iOS has been the thought leader advocating for a fileless world, but their weaknesses are begining to show. Photoshop Touch is great, but I can’t share or print, because the application hasn’t explictly integrated it.

Interoperability is a great thing (See Joy’s Law, that most of the world’s smartest people work for other companies), but on devices that lack the notion of files, where I can’t take a photo and say “Open with,” application interoperability goes to nil. And if you are a Data Liberation fan, you’re up a creek.

Now, I agree with Steve Jobs saying in 2005 that a full blow filesystem with folders and all the rest might not be necessary, but in every OS there needs to be at least some user-facing notion of a file, some system-wide agreed upon way to package content and send it between applications. Otherwise we’ll just end up with a few monolithic applications that do everything poorly.

And that’s not the future of computing I want to see.

Discussion on Hacker News

Read More →