The iWork Apps for iPad had very clunky file import/export methods. Emailing the file back and forth to yourself, or connecting your iPad to iTunes were originally the only options. We longed for Dropbox integration. When WebDAV server support was added, we knew we could shoehorn in Dropbox access.
Setting up a WebDAV server using Apache on Linux was straightforward enough for our developers. But the Linux Dropbox client at the time wasn't very robust, and maintaining a whole copy of our Dropbox just for WebDAV access was not very elegant. The death knell to the Apache WebDAV + Dropbox client solution was the difficulty of supporting multiple users / multiple Dropbox accounts. It just wasn't workable.
Enter the Dropbox API and a PHP WebDAV server implementation—
Most of the core and ancillary technologies that make DropDAV possible.
Ruby / Rails (3.2/1.9.3) Heroku
PHP/Python Hybrid Application Linode Self-Managed Cloud Servers
The iWork for iPad Apps could communicate over the WebDAV protocol, and Dropbox supported practically all of its functionality over its new REST API. We just needed something to stand between them and act as a translator.
Based on an open source implementation of the WebDAV specification written in PHP, we filled in the sections of code around file system operations to substitute calls to the Dropbox API.
DropDAV got a lot of traction almost immediately after its release. A lot of the new users were from non-English speaking parts of the world, and they quickly unearthed a bug that eluded our testing: PHP wasn't correctly handling non-Latin characters. Python's native Unicode support gave us an easy win, we just had to wrap all the Dropbox API calls in Python and pass messages about the requests between our PHP and Python components.
About a week before we were to launch DropDAV, while doing some market research, we stumbled upon Nick Farina's "DropDAV". Nick's a super talented developer, had a much larger network, had coincidentally chosen the same name, beat us to launch, was giving it away for free, and had released the source code. His version ran on Google App Engine, so it was limited to 1 MB file transfers. We got in touch, and he graciously renamed his version "DropDAV Limited".
The WebDAV client makes a WebDAV protocol request (GET, POST, DELETE, etc.) to DropDAV's WebDAV server.
Our PHP WebDAV server parses the incoming request to determine which Dropbox API requests are necessary.
Python middle-ware performs the communicates with Dropbox because its support for Unicode is superior to PHP's.
The PHP WebDAV engine parses the response from Dropbox's API, and converts it into a WebDAV-ready format.
To cope with the many idiosyncratic WebDAV clients, known clients receive responses in formats tailored to their expectations.
In the 4+ years since its late 2010 release, DropDAV has reached hundreds of thousands of people all across the globe. It's the gold standard for keeping files synced between Dropbox and half a dozen various iOS applications.
We're most proud of the number of customers that have taken the time to write us letting us know how positively DropDAV has affected their work and life.
We obviously love Dropbox, so more ways to gain access to our Dropboxes is a wonderful thing. DropDAV makes your Dropbox accessible via WebDAV so you do just that.
I'm surprised that Dropbox hasn't added WebDAV support to the service it provides; it's something that many thousands of its users have asked for. But until Dropbox adds built-in WebDAV support, DropDAV is a good workaround.
Personally, I've been waiting for this capability since iWork for iPad came out, and now it's possible. Chances are very good that Apple will never add native support for Dropbox ... so DropDAV will continue to be a super way to shuttle between Dropbox and your iPad.
On iCloud's Fallibility
For Pages, Numbers, Keynote, OmniGraffle, OmniOutliner, iThoughts, and all of them, I'm going to go back to DropDAV for now because I think that's the only way that this is going to work for me to know that it is in the place of truth, which is the server I trust, which is the Dropbox server. ... For what it's worth, I would say that if you like Dropbox, at least have a look at DropDAV, it's a really neat service.Merlin Mann on Back to Work #37