Grimwire: A RESTful Browser OS that does Peer-to-peer over WebRTC
blog.grimwire.com
blog.grimwire.com
Is grimserver a hard dependency, or just an implementation of some example APIs? Could one disconnect the client and depend on different providers for auth, email, chat, etc.?
PageForest is another site that lets people create their own javascript applications, hosted on appengine: http://www.pageforest.com/ And other sites that let visitors create and host their own apps or games include http://pixieengine.com/ http://www.playmycode.com/ and http://scratch.mit.edu/
There's some more info about Grimwire here: http://grimwire.github.io/grimwire/
You have it pretty much covered. The intent is to use REST as a unified interface for remote services and local programs, much like Plan9 did using the file-system. The Worker programs should be compact, stateless Webservers that can be reconfigured into multiple use-cases. You can compose by doing things like embedding (UIs should be self-contained) hypermedia discovery (using programmatic link navigation) and proxying. I'd like for it to be possible to take (eg) an inbox interface program and attach it to a bash-piping backend (rather than a webmail host) to create an in-browser CLI. Not sure if that's a good idea or not, but you get the idea - a good grim app can bend.
The other major goal is to detach the Web app frontend from the back - to improve privacy, to let users improve their Web software, and to enable decentralized architectures (which I talk about in the article). A major factor in doing that is the security model, which would have to become more fine-grained than the single-origin policy. Web Workers make it possible to run untrusted code, and privacy policies can be built by monitoring HTTP traffic (all of which go through the document) but I should make it clear that there's a lot of work to do on security still, so stay away from untrusted code when you use grim 0.1.
I've still got about a month of shaping up to do, including doc-writing and getting some pre-freeze feeback from devs. The only documentation that's current is in the build (http://grimwire.github.io/grimwire/) and it's in progress. Please ignore everything else, including the stuff in the GitHub readme and wiki.
If you're in Austin, I'll likely be speaking at next month's JS/Node meetup (http://www.meetup.com/noders/) so please join us.