Back in January, I challenged the Seaside community to implement a dynamic FTP server. The idea isn't to get Squeak to serve out the filesystem, but to have a way to use the FTP protocol as an interface to any data you want, in the same way that dynamic web servers let you use HTTP for applications far beyond serving static HTML files. Well, Ian Prince wrote a couple of weeks ago that he and Lukas Renggli had started to tackle it at Camp Smalltalk in Brussels. Since then, Lukas has been hacking away, and he just let me know that he had support for passive clients done - which means that, among others, the Mac OS X Finder now works. So here's a shot of a Finder window browsing the class hierarchy of my Squeak image:
Each method is represented as a separate text file, and if you edit and save one, it'll be immediately recompiled and the image updated. Ever wanted to use emacs to edit your Squeak code? Here's your chance.
But browsing Smalltalk method source is just the beginning. Any number of databases and domain models could be usefully exposed as a hierarchical file system. Lukas says he's already working on an FTP view for SmallWiki2, turning BBEdit into a dedicated wiki editor. What other web apps could benefit from an FTP dimension? This is, in my opinion, very cool stuff.