Current Projects:

Qt for Google Native Client

The Qt Quick Web Runtime (source)
The Qt Quick Playground (source)

Post Morten

Many software research projects end up in the great virtual desk drawer once interst is lost/the key techincal issues has been solved/a general lack of practical utility has been demonstrated.

I'm documenting some of my projects here, as a record for myself and others that might be intersted. Reach me at msorvig at gmail.com.

Current
Git Project History Statistics
Past
QWebClient

Git Project History Statistics

Created by parsing the output of "git log", running that through SQL, and then vizualizing 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 developet in the "master" branch at some point but is charted as "4.7".

QWebClient

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 highligts includes duplicating Qt's widget hiearachy with DOM nodes, and representing each widget with an image or a real DOM node of the correct type (ex. 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 was calcuted on the server, but the actual size of the rendered text on the client would often not match.

Trivia: