A simple web-based chatroom app. Designed as a proof-of-concept for Ben Black’s Riak training at VelocityConf 2010.
Features / Problems
- Everything is stored and served out of Riak. No special abstraction. Take that, couchapps!
- Browser Compatibility:
- WebKit-based (Chrome, Safari)
- Firefox 3.6 and 4.0
- MSIE8, maybe 7 (tested via 8’s IE7 mode)
- Remembers your login credentials via unencrypted cookies (not transmitted).
- Randomizes the polling interval to avoid thundering-herd effects.
- Uses full-bucket map-reduce, so won’t perform well at huge numbers of messages. Future work could change to use key-filters but would still incur the price of list-keys.
- Your email address will be used for Gravatar, should you decide not to remain anonymous.
- Startup Riak locally on the standard HTTP port (8098).
- Join your local node to the cluster, if necessary.
- Run the
- Visit http://127.0.0.1:8098/riak/yak/index.html
Read the source! The majority of the work is in
yak/yakriak.js, and the map and reduce functions in the
Credit where credit’s due
- jQuery 1.4.2 (jQuery team)
- json2.js (Douglas Crockford)
- cookie.js (Maxime Haineault, John W. Long)
- md5.js (Paul Johnston)