C3 – An Extensible Research Browser
In areas of research that require software it is common for researchers to experiment and extend research software via runtime extensions or by hacking and recompiling project sources. Neither of these are palatable for web researchers: most web browsers consist of mountains of highly-optimized C++ code, and provide only a few ad-hoc extension mechanisms.
I helped build C3, an experimental HTML platform for web-related research, during an internship at Microsoft Research. C3 is built from the ground-up for flexibility: it is written in managed C#, it generalizes several existing extension mechanisms and adds new extension points in a systematic way. Several architectural features encourage modularity and experimentation.