Why Google taught developers how to hack Glass

At Google I/O 2013, Google gave a presentation called 'Voiding Your Warranty: Hacking Glass,' which will ultimately benefit Google as much as third-party developers.

Where end-users fear to tread, developers are called. Drawn to the challenge of rooting Android devices that would scare end-users, developers could not resist an invitation to the Google I/O session Voiding Your Warranty: Hacking Glass.

Developers got what they were looking for: ultimately cool demonstrations and an explanation of how to root Glass. Rooting simply means getting “root” level access to the top-level directory structure and super user capability to add, change and delete system software and change permissions. Most often in the case of Android, this capability is used to overwrite Android with a newer or modified Android version.

And Google will get what it is looking for: Google needs expert developers to help specify the Glass SDK that they have yet to build. By rooting Glass, developers can now experiment with Glass and provide important insights into building a Glass SDK so follow-on developers don’t need to root to build apps for the device.

The risks of rooting is not a big threat for good developers. Most have “bricked” an Android phone in the past, meaning the firmware on the phone was corrupted and the phone all but stopped functioning. But if they’re good developers, they were able to recover.

Glass runs Android Jelly Bean 4.0.4 with API Level 15, so it’s really like a reconfigured smartphone without the touchscreen interface. With a bricked smartphone, one needs to supply a clean copy of the Android image via SD Card or USB and simultaneously press two or three keys and the phone will reload a fresh “stock” image. At I/O last week, Google promised a “stock” image for developers who brick Glass, so Google expects bricking and unbricking to be a common occurrence for Glass developers.

There are currently two limited ways that one can develop for Glass, one of which involves using a cloud-based API that the New York Times, CNN and Facebook used to develop their Glass apps. At I/O, Google engineer P.Y. Laligand demonstrated a second way to develop for Glass using the “adb” tool to load standard Android apps to run on Glass. The apps really can’t be too functional because Android apps are built for a touchscreen interface and Glass has a slide, tap, head gesture and voice recognition interface. But Laligand’s installed a bootloader and then ran Ubuntu and emacs to demonstrate the extent to which a developer can install apps on Glass before root access is needed.

Google has a comprehensive set of application programming interfaces (API) for Android phones and tablets because the use case and touchscreen interface is well understood. Each API, for example, has a set of methods for using a resource, such as the gyroscope and a set of permissions that the app needs to register and execute. Given a similar use case, Glass has inherited the normal Android gyroscope API so apps that use the gyroscope can be developed for Glass without root access. Overall, the use case of Glass has not been fully realized because only a few thousand units have been produced, compared to the 900 million Android smartphones and tablets. Most of the Glass code has been produced inside Google, and the use cases won’t be understood until innovative external developers root Glass and build prototype apps.

Google chose its developer candidates from last year’s attendees at Google I/O who were willing to provide credit cards for the advanced purchase of Glass to demonstrate that they are early adopters. Many of the developers received Glass at this I/O after a year-long wait. In fact, one of the most active Google Developer Group threads during I/O was the one with where developers who did not sign up for Project Glass last year made their impassioned pleas to be added to the list.

It was a smart move by Google because it needs to build an SDK for software developers to create a vibrant Glass app ecosystem. This large, passionate group of early adopters will root Glass, build apps of all types, and, from the best, Google’s Glass engineering team will get a template from which they can build the Glass SDK and APIs. Follow-on developers will be able to build extreme Glass apps without root access.

Editors' Picks
Join the discussion
Be the first to comment on this article. Our Commenting Policies