If you look at my stream over on Google+, you may notice that I’ve been uploading a bunch of old photos recently. They were all previously on Flickr, and while I plan to continue uploading single photos there, I prefer G+ as a venue for albums of photos.
The transition across wasn’t as simple as I would have liked. Even though I keep a backup of all my photos, I haven’t been good about keeping titles, meta-data, and sets in sync over the years. So I wanted a way to download a set of photos from Flickr and re-upload elsewhere. There were a few existing ways to do this, but they were either hacky scripts, installable apps, or required plug-ins. I wanted something web based. So in the end I wrote my own tool.
The result is Flixtractr, a little web app for downloading sets of photos from Flickr as a zip file.
Since the original photos can end off being quite large doing the zip building server side would have required a large amount of transient storage for any moderate number of concurrent users. I decided instead to build the zip on the client. I tried several different paths, but ended off using the new Blob and BlobBuilder APIs available in the latest builds of Chrome and Firefox.
Using Chrome 16 I’ve managed to generate a 650MB zip file containing a set of 97-photos ranging in size from 3MB to 11MB (some older versions of Chrome are known to crash when the zip exceeds 128MB). I’d probably recommend you avoid such big sets though :)
If you try it, let me know how it goes. If there are problems or you have feature requests, post about it on the Google Group.
[Update: if Flickr says “oops” when you try to connect. Wait about 15s then refresh the flickr page. There seem to be some reasonably wide-spread problems with Flickr OAuth. There’s a thread on the Flickr API group discussing the problem.]