Gtk+ 3.2 HTML5 Backend Allows Any Application To Run In A Browser
GNOME developer, Alexander Larsson, is developing a HTML5 gdk backend, codenamed Broadway, that allows user to run Gtk application either remotely or locally inside the web-browser. The project is right now at an early stage and there are still a lot of issues like keyboard inputs support is still poor and the only supported browser is Firefox 4.0.
Nonetheless, this is a very exciting project and Larsson has made a video of broadway in action:
Gtk+ broadway demo from Alexander Larsson on Vimeo.
For the readers who are more technically inclined, this is how Larsson described it:
Each toplevel window is mapped to a canvas element, and the content in the windows is updated by streaming commands over a multipart/x-mixed-replace XMLHttpRequest that uses gzip Content-Encoding to compress the data. Window data is pushed as region copies (for scrolling) and image diffs. Images are sent as data: uris of uncompressed png data.
Input is gathered via dom events and sent to the server using websockets.
Right now this is Firefox 4 only, but it could be made to work in any browser with websockets.