
Fun with Unicode!įlickr has, from the very beginning, been an international place.
#FLICKR UPLOADR LOG HOW TO#
There are JavaScript implementations out there but (just for kicks), here’s how to take advantage of Mozilla’s built-in hashing library. MD5 is built right into PHP but is conspicuously missing from JavaScript. The Flickr API requires developers to sign calls with MD5. Uploadr uses a background thread for event queuing and this is a stripped down example of that same pattern. The thread primitives made available in 1.9 are much nicer than in Gecko 1.8. I’ve been developing against XULRunner 1.9 (and therefore Gecko 1.9) which are the underpinnings of Firefox 3. I never found the crystal clear example of overlays that I wanted, so after I trial-and-errored my way out of the corner, I wrote out this common use case that Uploadr uses in several places.

XUL overlays demystifiedĪs apps grow you naturally need to break files up to save your sanity.
#FLICKR UPLOADR LOG CODE#
The code has evolved quite a bit since then but this process got me on my feet. Working from Mark Finkle’s crash course for Windows got me halfway and some other scattered resources helped to piece together the skeleton of an app that will run on both Windows and OS X. Crash course follows: Cross-platform XPCOM (a howto) I documented many of the more exciting problems on my blog ( ) as I went. Since the project began I’ve jumped more than a few hurdles.

The main advantages of XULRunner were the ability to link in outside code libraries (like GraphicsMagick) and the availability of real multithreading. I ended up choosing to work with Mozilla’s XULRunner, which is what makes up the guts of Firefox and Thunderbird. Java Swing? Adobe AIR? XULRunner? So many choices, each with advantages and disadvantages. And while we didn’t explicitly talk about it at the time, better meant open source. It meant new features that would make uploading easier and encourage people to add metadata to their photos. It meant localized in all of Flickr’s languages without hackery.

It meant cross-platform so we could move forward with one codebase. Starting at Flickr a short nine months ago, I was given the state of the Flickr Uploadr and told to make it better.
