Many software research projects end up in the great virtual desk drawer once interest is lost, the key technical issues have been solved, or a general lack of practical utility has been demonstrated.
I'm documenting some of my projects here as a record for myself and others who might be interested. Reach me at msorvig at gmail.com.
The Qt Quick Web Runtime (source)
The Qt Quick Playground (source)
Created by parsing the output of "git log", running that through SQL, and then visualizing with jqPlot.
Commits are counted against the first branch they appear in. Patch size is not accounted for. The branch names are from the perspective of today — Qt 4.7 was of course developed in the "master" branch at some point but is charted as "4.7".
QWebClient was a thin client for Qt programs, implemented in pure JavaScript that ran in any modern [2009] browser. No plugins were required.
Blog: qt-in-the-cloud-with-qwebclient
Source code: qt.gitorious.org/qt-labs/webclient/
Technical highlights include duplicating Qt's widget hierarchy with
DOM nodes, and representing each widget with an image or a real DOM
node of the correct type (e.g. QLineEdit → <input type=text>). Event
handling was implemented via long polling: dual XmlHttpRequests were
made to a QTcpSocket-based event dispatcher on the server. One
request/socket was always kept open on the server, allowing it to push
events to the client.
Main issues were performance (lots of image data going out) and subtle text layout issues. Layout metrics were calculated on the server, but the actual size of the rendered text on the client would often not match.
Trivia: