QMachine (QM) is a web service that can incorporate ordinary web browsers into a World Wide Computer without installing anything. QM contains three main components: an API server, a web server, and a website. The API server provides a message-passing interface between nodes using HTTP and JSON, and the web server exists only to serve the website, which functions as the browser client application. Quanah is used extensively to manage concurrency issues.
Currently, there are two implementations of the server-side components. The original version is written in Node.js and is available for deployment to server environments via NPM. A “teaching version” written in Ruby is also available, and eventually it will be packaged and installable as a gem.
I am now revising the first of several manuscripts I have been preparing for peer-reviewed academic journals. These reports will explain some of the design decisions behind QM, demonstrate the use of QM in scientific workflows, and elaborate on the future directions of QM. I published a few screencasts on YouTube recently, one of which has been featured on the HPCwire and insideHPC news sites. QM has also graced the front page of Hacker News.
For more information, see https://wiki.qmachine.org :-)