This page lists my commercial and closed source projects. Open source projects are here.

Catalyst – OpenGL Accelerator for HTML5 2D Canvas

I prototyped a technique by which existing HTML5 2D games can use OpenGL acceleration transparently without any modification.

On Android, the WebView as of 4.3 has very poor canvas performance. To remedy this situation various approaches such as Ludei’s CocoonJS, AppMobi DirectCanvas are out in the market. However, they employ the usage of two separate javascript contexts – one for rendering and one for DOM. Such an approach requires the user to write non-standard HTML5.

My technique was to redirect all canvas calls to a proxy object. The graphics rendering commands are buffered into typed arrays and the frames are sent to a separate thread using web sockets. The WebSocket server receives frames and renders natively using an OpenGL overlay (or an underlay based on configuration). While this approach worked great, WebSockets support in WebView is available only very specific Android devices. An implementation using XHR consumed too much CPU to be considered useful.

My team built (the link is dead because it’s now used as a service by Intel’s XDK), a cordova build service (equivalent of PhoneGap Build). It was written entirely using node.js and used AWS.

Hyves Photo Uploader

At ForwardBias, Roopesh Chander and I together wrote Hyves Photo Uploader for Hyves.

The application was one of the first to showcase the power of QtWebKit’s “hybrid” approach. The UI of the app is written in HTML and all the business logic is in C++.



I developed the Wifi connectivity UI for the Demy. This involved writing a Network Manager Frontend from scratch.

I also implemented the WiFi and USB syncing support for Mac, Linux and Windows.