Developing the Flickr Uploader Bar
Getting the source
- Make sure you've uninstalled the extension - restart firefox and make sure it's not on the extensions list
- Grab a copy of the source package
- Unzip it on your local machine
- Edit the file 'email@example.com' to point to the location you unzipped the files in. Ensure you leave the trailing slash intact.
- Open up your Firefox profile folder. On windows you can do this by typing this in the 'Run' box: "%APPDATA%\Mozilla\Firefox\Profiles". There'll be a weirdly named folder (or two) there - inside that, there's a folder called 'extensions' (if not, create it).
- Copy the 'firstname.lastname@example.org' file into the extensions folder.
- Restart firefox - the extension should now be 'installed'.
- Any changes made to the source are now availabale in Firefox without reinstalling.
Tips and tricks
- Download the Extension Developer Extension - it lets you reload chrome without restarting. That means no more restarting Firefox when you make a change to the source.
- Set up these debugging preferences (through about:config):
- browser.dom.window.dump.enabled = true
- nglayout.debug.disable_xul_cache = true
- nglayout.debug.disable_xul_fastload = true
Packaging the extension
I currently do this with an ant script - i'm going to try and automate this a little better before sharing it.
Known bugs / obviously missing features
- Drag and drop doesn't seem to work on OSX - no idea why
- Error conditions are handled badly, when they're handled at all
- We should copy dragged files to a temp folder to avoid them being deleted out from under us
- We should persist the photo queue between browser restarts
- Styling of the hover state for the thin bar is awful
- The main bar current has no good drag state / drop indicator
- Settings dialog looks like ass on OSX - the headers don't render
- 'Auto clear' option should explain that it doesn't delete the source file
- Sometimes thumbnail generation hangs, blocking the thumb queue
- Logout link should probably log you out of flickr too
- 'Off' state graphic for scrolling arrows look like ass
- Need a greyed-out version of the status icon from when the uploader is hidden
- Need a preference for a toolbar button and to completely hide the bar when not in use (toolbar or status bar icon triggers the whole thing)