ExpanDrive/TextMate for editing remote files
# posted June 12th, 2008 in You Can't Spell "Recommendations" Without "Me"
As a webmaster, I do a lot of work on whole directories of files, usually over a remote connection to an NFS share. The advantages of this are obvious, but unfortunately the disadvantages are equally so - the biggest one is that live editing is so slow that you are much better off just pulling the files down to edit locally. I don’t like doing this for many reasons, but mostly because I’m lazy - I want to eliminate the extra step or moment of latency when the file is transferred up or down. I also want to take full advantage of TextMate and just open the whole folder as a project so I can easily move between the files I’m working on. Try this on a remote directory and you might as well suit up for a day at the beach.
Enter ExpanDrive (MagnetK, $29). This nifty little app is built on the MacFUSE core (but uses its own proprietary file system) and allows you to mount any directory as a drive over SFTP, and it looks and behaves like one with the help of some aggressive and intelligent caching. I set it up to point to my home directory and created a TextMate project for a good 1,000+ files and it worked like a dream - I never noticed any lag and it didn’t beachball like crazy when I switched focus off the app.
What I love most about it is how invisible it is. It was clearly designed to make me forget that I’m working on a remote drive, and allow me to interact with it as though it were on my local computer. It succeeds beautifully at this, and after only a week of use I already can’t live without it.
You might ask what it has over MacFusion, a free open-source app that allows you to interact with SSHFS in much the same way. MacFusion is also a great piece of software, but it doesn’t do any caching or automatic connection management. The result is an experience that is a lot less invisible, and you will still see plenty of beachballing apps if you try to do a lot of live editing. Still, MacFusion will definitely do the trick for many different kinds of work, and it’s worth trying out both to see what works for you.
As an interesting side note, ExpanDrive is written in Python with only the GUI in Objective-C.