This project is best explained in the form of a screencast. This is the first screencast I have ever made and I’m not sure if I have done it right, or if my humble server will cope with serving FLV files. If the server doesn’t manage to keep up, I’ll probably Youtube it.
Update: If for any reason the above player doesn’t work, you can view the screencast on Youtube.
The back-end is a Django application that serves the content and the API that is used by the front-end JS. I’ve put together a nice simple mechanism for exposing an AJAX API in Django, that removes virtually all the boiler plate; the API views are inspected, and the URLs created automatically. I’ll probably blog about that at in the future.
Most of my recent experimentation in to caching has been with this project in mind; I’ve planned for large capacity, if it ever becomes really popular. Virtually all the data can be moved to memcached and I can manage the browser cache with ETags.
Please leave a comment if you would like to be one of the beta testers, or have any other suggestions. I’m particularly interested in ideas for monetizing!