Benjamin Lerner

C3: An Experimental, Extensible, Reconfigurable Platform for HTML-based Applications

copyright notice

Benjamin Lerner, Brian Burg, Herman Venter and Wolfram Schulte

Abstract

The common conception of a (client-side) web application is some collection of HTML, CSS and JavaScript (JS) that is hosted within a web browser and that interacts with the user in some non-trivial ways. The common conception of a web browser is a monolithic program that can render HTML, execute JS, and gives the user a portal to navigate the web. Both of these are misconceptions: nothing inherently confines webapps to a browser’s page-navigation idiom, and browsers can do far more than merely render content. Indeed, browsers and web apps are converging in functionality, but their underlying technologies are so far largely distinct.

We present C3, an implementation of the HTML/CSS/JS platform designed for web-client research and experimentation. C3’s typesafe, modular architecture lowers the barrier to webapp and browser research. Moreover, C3 explores the role of extensibility throughout the web platform for customization and research efforts, by introducing novel extension points and generalizing existing ones. We discuss and evaluate C3’s design choices for flexibility, and provide examples of various extensions that we and others have built.

Links

Contact

download vcard icon
Email (essential):
Location (likely):
West Village H, Office 326
Post (possible):
Northeastern University
Khoury College of Computer Sciences
360 Huntington Ave, 2nd floor
Boston, MA 02115
work Lecturer Office 326