Your current filters are…
The Unhosted project defines a standard for cross-origin storage of user data. The idea is quite simple: write your html5 app without the ajax-backend. Write only the app. Then, the domain where that user's data is stored is discovered based on the user address (user@host) with which the user logs in.
When the need to store user data disappears, the html5 app itself is reduced to a 100% client-side affair. In other words, it is flattened to static content. The idea behind AppTorrent is that packaged static content can be moved around. As long as you don't serve more than one app per port to each client, javascript sandboxing is preserved. And because the app's URL is now <hash>.apptorrent.net, you can easily fork the app, and republish a patched version of it.
whenever.js is a teeny javascript library for wrapping your client side behavior in a loving English-sentence based embrace.
I will talk about why I built whenever, why it's cool, show some examples and show where I've used it in practice.