Google Glassware: How Developers Can Build Apps For Google Glass

Google Glass just got a little bit more real. If you were worried that Google’s augmented reality glasses were a pie-in-the-sky concept that might not ever become a real product, you can relax. That is not going to happen to Google Glass.

Google released the tech details to Glass this week - along with everything that developers need to know to build apps for the specs. Called “Glassware,” the Google Mirror API is designed to let developers create innovative, useful and fun apps for the forthcoming Glasses.

What can you build and how do you build it? Let’s break it down.

Java Or Python

Google recommends two programming languages for building apps for Glassware: Java and Python. For Java, developers will need Java 1.6 capability, Apache Maven for part of the build process and the App Engine SDK for Java. Apps can then be built in Eclipse, an integrated developer environment (IDE) for app building. Developers will need to create an OAuth verification and tie their Google account to their Glasses and allow access to Google’s Glassware API and access the SDKs. 

It is essentially the same for Python, except you do not need Maven or Eclipse. Developers use the App Engine SDK for Python to start. 

Add A Cat: User Interaction

Users of Google Glass interact with apps on a timeline. These items, or “cards” display information to users (like weather, business information, search results and so forth). Glassware is accessed from the cloud, not locally on the device, and developers call upon a RESTful endpoint to carry out actions such as creating new cards, updating cards, receiving input or subscribing to Glass push notifications.

Google uses the example of a cat to show off examples of the Mirror API. For instance, a user could automatically composite a picture they have taken with a random picture of a cat accessed through the API. Here is a work chart from Google on how a developer could "add a cat to that.

Since the user is so fond of cute little kitties, she might decide to find the nearest pet store after adding a cat to her most recent picture. Glass can do that as well. Glass will fetch the user's location, run the search and “pin” a card to the user’s interface as they move around in search of a pet store. 

Timeline + Cards

This timeline + card interaction is the primary method of building apps and functionality for Glass and for users to interact with the hardware. Timeline cards can be text, images, HTML or video. Essentially, anything you can create on the Web can be created as a timeline card in Glass. 

If you add the capabilities of Glass to what we know of the timeline cards, we begin to get a clearer picture of exactly what can be done with Glassware. The primary hardware features of Glass will be location ability, photos with a 5-megapixel camera, videos shot in 720p, Wi-Fi, Bluetooth, 12GB of usable memory synced with Google cloud storage (16GB Flash memory total) and a full-day battery for “typical use.”

So a user could take a picture, search the contents of it, save the picture to a Google+ profile. If a user subscribes to a service, that service can send push notifications through Glassware tied to location. Examples could go on and on. Thoughtful and innovative developers will have a field day with Glass capabilities, extending what a smartphone can do to a device specifically designed for augmented reality. 

Glass can be tied to a smartphone through an app called MyGlass. To enable GPS or SMS, Glass will need to be tethered to a smartphone through MyGlass.

Guidelines For Glass

Google has four primary guidelines for developing for Glass:

    1. Design for Glass: Do not design for another device, like a smartphone, and import to Glass. Because Glass is unique in how users interact with it, Google suggests that you developer directly for it.
    2. Don’t get in the way: Apps should be for users, not for developers. Don’t be pushy with notifications and other information.
    3. Timely: The goal is to provide users with up-to-date information with Glass. Make sure your app responds with correct information in a timely manner.
    4. Avoid the unexpected: Imagine walking down the street and Glass sends you an unexpected notification. This can be annoying or even dangerous. Make sure the user has given explicit permission to be notified in Glass.

What Google Won’t Let You Do

Google does not want developers placing their own advertising in their Glassware. Part of this is likely because Google wants the user interaction to be free from clutter and pleasing to the user. Another reason may be that Google would rather be the one monetizing the data collected from Glass through its own apps and services - like Google Now. 

Google prohibits developers from gathering data of any kind for advertising purposes and will not allow developers to charge fees or collect payments for downloaded apps. Developers may not tie payment to virtual goods or upgraded functionality.

Essentially, Google has made it impossible for developers to make money from Glassware apps. No ads, no in-app payments or “freemium” functions will be allowed. This should help protect the user experience, but may slow developer participation past a certain point. Why would developers bother to create Glassware timelines and cards if they can't make any money from it?

Are you going to build apps for Google Glass? Let us know your plans in the comments.