@conference {300596,
	title = {Gibraltar: Exposing Hardware Devices to Web Pages Using AJAX},
	booktitle = {USENIX WebApps},
	year = {2012},
	address = {Boston, MA},
	abstract = {Gibraltar is a new framework for exposing hardware devices\&nbsp;to web pages. Gibraltar{\textquoteright}s fundamental insight is that JavaScript{\textquoteright}s AJAX facility can be used as a hardware access protocol.\&nbsp;Instead of relying on the browser to mediate device interactions,\&nbsp;Gibraltar sandboxes the browser and uses a small\&nbsp;device server to handle hardware requests. The server uses\&nbsp;native code to interact with devices, and it exports a standard\&nbsp;web server interface on the localhost. To access hardware,\&nbsp;web pages send device commands to the server using\&nbsp;HTTP requests; the server returns hardware data via HTTP\&nbsp;responses.
Using a client-side JavaScript library, we build a simple\&nbsp;yet powerful device API atop this HTTP transfer protocol.\&nbsp;The API is particularly useful to developers of mobile web\&nbsp;pages, since mobile platforms like cell phones have an increasingly\&nbsp;wide array of sensors that, prior to Gibraltar, were\&nbsp;only accessible via native code plugins or the limited, inconsistent\&nbsp;APIs provided by HTML5. Our implementation of\&nbsp;Gibraltar on Android shows that Gibraltar provides stronger\&nbsp;security guarantees than HTML5; furthermore, it shows that\&nbsp;HTTP is responsive enough to support interactive web pages\&nbsp;that perform frequent hardware accesses. Gibraltar also supports\&nbsp;an HTML5 compatibility layer that implements the\&nbsp;HTML5 interface but provides Gibraltar{\textquoteright}s stronger security.},
	url = {http://scholar.harvard.edu/files/mickens/files/gibraltar.pdf},
	author = {Kaisen Lin and David Chu and James Mickens and Li Zhuang and Feng Zhao and Jian Qiu}
}
