mark nottingham

Why oh why is it so hard?

Thursday, 13 February 2003

One of the goals for me in using computers is to make my data and access to it platform-indenpendent; I’ve switched platforms too many times (Mac->Ultrix/Digital Unix->Linux->SunOS/Solaris->Windows NT->Linux->OSX->Windows2000->WinXP->?); I can’t have my data tied up in proprietary formats or APIs, despite the best efforts of various vendors. Doing so is also a nice complement to the Web.

So, I recently go sick of supporting both Appleshare IP and SMB for getting files to and from my server. I’ve been using HTTP PUT (from to manage my Web pages, so WebDAV
seemed like a natural for the next step - treating the Web space like a filesystem. it’s not very RESTful, but it’s better than the other options.

Getting set up was easy; mod_dav, combined with SSL and HTTP digest authentication works like a dream from the server side.

The problem, of course, is the clients. OSX isn’t too bad; I can mount a DAV server just like any other kind of network filesystem. It understands digest authentication. Unfortunately, it doesn’t understand SSL (duh…) and it won’t store the userauth in the keychain. Annoying.

Windows is MUCH worse, however. “Web Folders,” Microsoft’s excuse for a WebDAV client, is supposed to be integrated into the OS in such a way that it’s indistinguishable from a normal filesystem. Ha. Try to specify a directory (not a file) on a DAV server from a program with one of the tree widgets. Try to double-click a file on a DAV server to open it. Windows seems to want to rewrite the location of everything on DAV servers into the Internet Explorer cache, of all places. Argh.

Seeing that it does this, you’d expect the DAV files to be locally cached, so they’re available offline. Nope, unless you hunt through the cache manually.

I went off searching for other Windows DAV solutions; of the few I found, Xythos’ Web File Client looked like a good bet. Same story; it’s completely unusable for the things that I want to do.

I suspect that the problem is with Windows’ filesystem APIs themselves, rather than the WebDAV implementations. Whatever the reason, I’m back to square one.