My new five-year prediction is that we will see the end of the traditional computer file system, at least as a user-visible component. Having to manually keep track of what files to save data in, and where to put them (local hard disks and network shares) is just not something a user wants to be troubled with.
If I create some document, I want it to be immediately available on all my devices. I do not want to have to worry about backups and encryption. I may want to have a version history and unlimited undo. I may want to share it with others. There are already a few applications that more or less work this way, most notably online services like Google Docs. Something like iTunes is also a step in the right direction (although terribly limited in what it can do). All these applications have in common that they let you work with your data while shielding you from the complexities of how and where these files are stored.
This month I switched from a Mac Mini to a MacBook Pro for my primary computer. Thanks to the Time Machine backup, that was very easy: all my data was immediately available on the new computer. But this only works smoothly because I stopped using the Mini completely. If I wanted to simultaneously use both, that would create terrible synchronization headaches.
The Mac Mini is hooked to the TV now and in the process of becoming a media center. Ideally, it would automatically make available all content from other iTunes and iPhoto libraries on the network. There is a feature called Home Sharing, which allows to stream between those libraries, but this only works when both computers (and the respective iApps) are running. So instead I have to copy all my media files to the Mini. Which I am willing to do once, but what about photos and videos taken after that? The copying itself was made more difficult by the conflicting file access permissions of the four different user accounts involved. And what about all the files duplicated between user accounts?
Contrast this to how an iPod works (or an Apple TV for that matter, I wish a Mac Mini could act like one): You buy a new iPod, connect it to your computer, and it will have all your music on there. You listen to a few songs on your iPod, give them a star rating, and it will transmit that information back to your computer. You shoot some more photos, and the next time you connect the player, it will automatically copy them over. Also note that while an iPod is useless without connecting to its master library once in a while, it does not need a constant network connection.
One reason that iPod synching works so well is that it is single-user, master-slave, and single-master. Things get more complicated when your various devices are owned by different people, and act as peers, with each of them being able to add or change documents. And this is exactly the situation that everyone is in ever since we moved from isolated personal computers to a networked gadget world.
There are a number of useful (exciting, frankly) tools to solve these kind of problems on the file system level (DropBox, Mercurial, git all fall in this category), and any application that properly integrates these approaches will be immensely successful.
PS: Apple has this week officialy killed development of its ZFS support, probably due to licensing concerns, now that Oracle runs Sun Microsystems. Too bad. I had high hopes for ZFS to play a big part here.





