KHARMA: KML/HTML Augmented Reality Mobile Architecture

An Open Platform for Delivering Mobile Augmented Reality Experiences

The KML/HTML Augmented Reality Mobile Architecture, KHARMA, is a new open architecture for augmented reality that lets users create content using the HTML and JavaScript web development tools already in widespread use today. In contrast to the proprietary AR browser solutions currently available, this approach allows almost any web-based technology to be deployed in any combination into the surrounding scene, resulting in far richer AR experiences.

The KHARMA architecture allows content developers to create and host content using an extended version of the GoogleEarth markup language (KARML) on standard HTTP servers. The architecture also addresses several practical problems related to mobile AR development and delivery. It creates a framework for aggregation of and interoperability between content developed and delivered by multiple sources. It also addresses the unique role of existing infrastructure as integral to the authoring pipeline both offline and at runtime. And, perhaps most importantly, the framework compensates for both the uncertainties of current tracking technologies and the future widespread use of vision-based tracking through the use of static background scenes and the delivery of pre-processed tracking keys respectively. The platform is built upon several unique contributions to mobile AR experience delivery: channel servers, infrastructure servers, tracking servers and a reference mobile client, Argon, for the iPhone.