json-rpc

New Project: XULFolio

This XULRunner-based application will be used for managing an online photography portfolio.

Overview

Currently supports Zenfolio's API. I may add Flickr and SmugMug support in the future, I am striving to keep the interfaces abstract so that it will be easy to plug in to other sites by writing a simple API Compatibility Layer.

Update: SmugMug isn't allowing anyone to obtain an api key at this time. This puts them indefinitely out of consideration for this project. Also, Flickr could end up owned by Microsoft. I am strongly apposed to this acquisition and I do not intend to develop anything for a Microsoft-owned site. As long as this is a possibility, I won't be working on Flickr support.

Interesting Developments

  • I developed a simple JSON-RPC library in javascript which uses Mozilla's new native JSON support.
  • ZenFolio uses SHA-256 hashes for their challenge-response authentication scheme. This took quite a while to work out but once I figured out how to use nsICryptoHash then it all went pretty smoothly.
  • I created a CRYPTO.jsm module to wrap up the hash generation functionality. In the process I got to play with the awesome new JavaScript code modules feature in XULRunner. This is similar to creating an XPCOM singleton component, however, it's much easier to implement.
More...