One Application to Rule Your Files
9 Sep 2008
The Finder has always been by far the most important application on the Mac. It was the entrance to the computer, the Google of the offline. It used to be where your files were. That changed with Apple’s Digital Hub strategy.
As the iPods became a still larger part of Apple’s revenue, the importance of iTunes became clear. From being just another application designed to do one thing well, playing music, it - like the Finder - became the entrance to a certain kind of files, music, and to another computer: The one in your pocket. iPhoto does the same for photos, displaying and organizing media files in a usable way. They are both attempts at managing an increasing number of files, media types and devices.
The situation leaves the Finder in a strange position. With iTunes handling music and movies and iPhoto your photos, the Finder is no longer at the core of finding files. This creates another problem with open and save dialogs that were historically designed to be a minimal version of the Finder (they really should be full featured Finder windows, familiar and easier to use). With iTunes and iPhoto, an iLife Media Browser needed to be tacked on to access their managed content.
It is a fundamental problem of managing the thousands of files each of us keeps on computers (and phones) today. How do we find and organize them? The folder metaphor is time-tested but static by nature. The Spotlight search technology, smart folders and media browsers are first steps toward a solution, but no where near done and currently just patches to an anacronistic design.
It is worth noting that Apple has taken steps to make the data of various applications be more file-like to support Spotlight. Mails are stored as invidiual mails now rather than a single mbox file and contacts and events are browsable from the Finder. A complete overhaul of the Finder to integrate the possibilities of Spotlight, tagging and metadata is very much needed.
The SpotlightFS file system for MacFuse allows for spotlight searches simply by creating a folder with the search terms as name. Leap is also a step in this direction, relying on Spotlight to do the searching and definitely worth a look.
Files, no matter what kind they are (including mails and contacts), should be accessible from anywhere on the computer. They should behave like they were records in a relational database so that they can be displayed, ordered and filtered anyway wanted (this was, in fact, part of the goal with the WinFS filesystem that got pulled from Vista). Smart Folders should be easier to create from search terms or tags and behave like regular folders and support tagging a file simply by dragging it into that folder.
In many ways the Finder would be like a clever webapp, like Flickr with multiple views of the same data. It seems like a good idea to look online for inspiration, particularly since one of the key challenges is how to move data seamlessly between services and allow easy user generated mashups - comparable to moving file data between applications.
iPhoto and iTunes should provide a view to a certain filtered list of files and ad specific functionality, e.g. playback or retouching tools rather than attempting to solve a file system problem. A plugin architecture, much like the one for Spotlight or Quicklook, would allow for new meta data and alternative views: An iCal view displaying photos by date or a people browser showing mails, chats and documents grouped by person.
Apple has created high level APIs like Core Data and Core Animation to help developers leverage new technology. A similar Core Files with a simple but powerful interface to the file system and related metadata would be a giant leap in the right direction, allowing the Finder and third party apps to access files in dynamic groups.
With Apple saying the next version of Mac OS X, code named Snow Leopard, will focus on polishing existing features over adding new ones, I sincerely hope an improved Finder with extra Spotlight magic like described above is considered ‘polish’ :)