I bought my iPad knowing that without owning a machine capable of running iTunes there would be certain things I wouldn’t be able to do. Thanks to friends with such machines, I managed to do the initial activation and recent upgrade to 4.2. But there are plenty of day-to-day tasks that I have foregone.
It was never going to be a music-listening device for me, so the current lack of support for music syncing in libimobiledevice is not a problem. The library’s support for mounting the iPad as an external drive lets me copy off photos, which means it has become a part of my photo work flow.
Putting photos back on the iPad isn’t currently possible – more specifically being able to push them back into the Photos app. Generally, pushing documents into whatever app might be registered to handle them isn’t possible.
The Dropbox app solves a lot of these getting-files-on-to-the-iPad issues, with the added benefit of ensuring the documents are also available on my laptop and wherever else I have Dropbox running.
What the Dropbox app is missing is the ability to add files from the iPad itself; for example, saving a copy of a pdf from Safari. As the app isn’t registered to handle any file types, it doesn’t appear as an option to save files to.
To work around this, I’ve built a site that lets me submit a url which is then downloaded, or ‘slurped’, by the server and pushed to my Dropbox account, at which point it is available on the iPad. For those who care, the site was built using django and was a good lesson in doing proper oauth against the Dropbox API. As it currently stands, it looks like this:
I even had the domain name picked – although this time around I didn’t rush out and buy it.
You’ll notice I’m not linking to the site; for which there is a good, but unfortunate, reason. In order to connect to the Dropbox API, I got myself an API key. This key is tied to my user name and can only be used when connecting as me. To allow other people to use it, I have to apply for ‘production status’. Currently, Dropbox are only looking at apps that are run natively on mobile devices – they are not approving web apps.
It is a pain, but I’m not complaining; if this is how they have choosen to focus their resources, I’d rather they did that then overreach what they can support.
Even with my non-production status, I can use it myself when I need to. Hopefully at some point I’ll be able to get proper production status and make it more widely available – although whether this will still be an issue then, I don’t know.