Brett van Zuiden

Why Files Exist

Many conversations about the future of computing revolve around the eventual fate of the “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 1) explicitly decide to do so, 2) decide upon a shared representation, and 3) manually integrate. This creates a high barrier to interoperability, encouraging applications to try to build everything themselves. To the end user, this results in big applications with lots of mediocre features rather than lots of specialized applications that each do one thing really well. We are starting to see this on mobile platforms, particularly iOS.

Note that the existence of a File does not necessitate the existence of a full, user-facing filesystem. Steve Jobs articulately stated in 2005 that a full blow filesystem with folders and all the rest might not be necessary, and I agree with him, 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 O.K.

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

Discussion on Hacker News