I've written before about the blurring of offline and online worlds and here is a great example of the concept in action; an interesting program that allows you to integrate your Flickr account into the file system of your Linux-powered computer, making it as easy to upload and download files as copying and pasting between folders. This is continuing the idea of merging a web experience with the desktop experience rather than the web being confined to your web browser. The program that makes this possible is called flickrfs and is available as a package for Ubuntu systems and is worth setting up as it is interesting and useful in itself, but also because offers an idea of what it would be like to use a filesystem based on tagging rather than one based on rigid structure or classification.
The basic idea of flickrfs is that it makes the Flickr look like a file system to Linux, thus enabling you to interact with files on the Flickr site just like any other file on your computer. The speeds are of course slower, but there is an ease of use benefit there and it potentially makes transferring batches of files more straightforward. It is written in Python, a language suitable for desktop, web, server and mobile applications, and uses the FUSE library which allows special userspace file systems to be built that can have file system-like usage and properties but also the flexibility to integrate with many types of services.
On top of this idea is a way to handle files being free tagged (much like the posts are in this blog), being a regular user of services like del.icio.us I find tagging a much more natural way to organise resources then trying to pin everything down to folder structure. It would be great to be able to apply this methodology to all files on a computer (though it is often possible with applications for photos and audio files). Flickrfs is not alone in trying to implement this feature, the Tagsistant project is trying to implement a tagged file system in a more general way, be sure to check out their demonstration of how this concept would work. In Tagsistant, instead of having to search, or remember where you filed photos of animals for example, you could go to the directory path of "tags/animals/AND/image". The advantage of providing a file system in this way is that it means all software that runs on Linux can work with it, no special changes are needed. If you loaded in a photo into a program using the path above, that program would just think it was looking at a normal directory location. This brings you the flexibility of free tagging without breaking existing software or ways of working with the file system.
I got flickrfs working on my machine though the following steps:
Install the package:
sudo apt-get install flickrfs
Once it is installed you should make a directory where you want the pictures from Flickr to appear, e.g. if you wanted them to appear under "flickr" in your home directory make a directory like this (the tilde ~ character is a shortcut for your home directory):
mkdir ~/flickr
You should check that the Fuse module is loaded, do this by typing:
lsmod | grep -i fuse
If nothing prints out try this to load the Fuse module into Linux:
sudo modprobe fuse
Now to get the Flickr pictures to appear type:
flickrfs ~/flickr
If all goes well you should notice your photo albums under ~/flickr/sets and your tags under ~/flickr/tags, much more information is available on the flickrfs web site. I found that I got some error messages when trying to upload pictures, but these did in fact upload to Flickr correctly, when I get chance I'll play with this more to see if I can find out what the problem is. When you have finished and no longer need your Flickr account available i your filesystem, you should unmount (i.e. unlink) it with the command:
fusermount -u ~/flickrĀ
It would be impractical of course to have a file system driver like this for every Web 2.0 service, but what it does show is a demonstration of how the user experience can be altered away from the traditional boundaries of online and offline activity. You don't need to push a file though a window to get in onto the web, instead you move it to that site in a way that is much more integrated to your system. Hopefully it is providing inspiration for ideas on how this blurring of offline and online worlds can be achieved in future.
(Thanks Keren Mills for the link to flickrfs!)