Google Glass Explorer Edition V2: Week 1 Initial Impressions

Last Wednesday, I got an invite to the Google Glass Explorer program. I ordered the Shale color with Mono earbud and the Active Shade. Google overnighted Glass to me and I’ve been using it for a week. Here’s some of my thoughts on Glass Explorer Edition V2.

Shale Glass

Physical Design

  • Build quality is solid. It feels like it I can take it with me safely on any daily routine.
  • Weight is light. I didn’t weigh it but, it doesn’t feel much different than a pair of sunglasses. The right side has the equipment and battery, but it doesn’t cause any unbalanced feel at all.

The Experience

  • There are no glaring bugs. Everything I tried generally worked well.
  • Tilt your head up or tap on the touchpad to turn on Glass. Once on, you navigate through a Timeline, which is a series of Live Cards. This is done by swiping forward or backward on the touch pad. It scrolls through Live Cards and is very intuitive to use. As you navigate through the LiveCards, you can tap once for further action. Of course, there’s the main Google card that constantly listens for you to say “OK, GLASS”.
    card
  • The current primary functions are: Navigation, Googling random stuff, Google Now, Messaging/Calling Contacts, and Photos/Videos
  • The entire experience is highly integrated with Google+. Anytime you plug in Glass, it auto syncs with your profile, backing up photos, pictures, Vignettes, etc. Any media you’ve taken can be Shared to G+ or Facebook, or simply Messaged to a contact.

Limitations

  • You have to install the MyGlass app to manage/control/tether Glass to your phone. The app itself feels like the least mature part of the Glass Explorer experience.
  • MyGlass currently only lets you add 10 total Contacts. This means all your direct shares, sends, etc can only work with 10 people. I expect this will change as Glass matures, but I’m not even sure why you have to “add” contacts. You should just be able to create a Group or Circle on the web and Glass should connect to everyone in it.
  • The biggest limitation is you have to set a default Messaging method for any contact. When you ask Glass to message/call that person, it will use that method only. For example, I set my friend Mike to Hangouts. All messages to him goto Hangouts – I can’t SMS or Email him until I change it in the My Glass app.
    Mike

Future

  • Google is on XE12 – version 12 of the monthly release cycle. I haven’t been through another release, but it seems each release brings massive features and improvements.
  • I started learning the Glass Development Kit (GDK). It’s still in preview mode release, but I’ll report back next week on my results.
  • Overall, $1500 is probably a tough sell for 90% of people. But, the experience is something that is so completely new and different, both on the social and technology aspects. I cannot wait to Explore more.

My personal favorite feature is the Vignette option. It overlays what you see in Glass so you can show people what your perspective is.

Here’s a few:
Vinette
Google

Thats it! Feel free to send me any questions about Glass XE. Next up will be Development / GDK stuff …

Google Translate Recap

I’ve been implementing a Java API that can interact with Google Translate for integration into a 3rd party application. I wanted to share some thoughts on the process and see if anyone can provide some feedback.

  1. As far as I can tell, Google does not provide a prebuilt API for interacting with the service
  2. Google expects you to query the service via simple URL parameters and parse a JSON response
  3. All you need to do is Post a request to the following URL: https://ajax.googleapis.com/ajax/services/language/translate?v=1.0
  4. Then attach 2 parameters with their values: q (The text to translate) and langpair (The languages to and from, separated by a | character)

An example URL looks like this: https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en|fr. Building the Java API was actually pretty easy.

  1. We used the Java class: HttpURLConnection to handle the actual URL query and response
  2. Google responds with a JSON encoded string, so we needed an API to parse and create Java Objects out of the string. I chose GSON because I figured it would work best to use Google’s own products.
  3. The JSON returned by Google looks something like this:

         "responseData": {
              "translatedText": "Hola, mi amigo!"
         },
         "responseDetails": null,
         "responseStatus": 200
    }
    
  4. Next, you need to turn the JSON string into GSON / Java objects. This process is called deserialization. A pretty simple example from my API is below:
  5. JSONResponse data = new Gson().fromJson(rawJSONString, JSONResponse .class);
    

    The JSONResponse object is a custom POJO that will hold the data from the JSON string. Gson is the Google implementation of JSON and you simply call the fromJson() function to deserialize the JSON string, rawJSONString, and construct the object.

  6. Once you have the final GSON object, you can treat it like any Java POJO and ask it for properties. Note, we could have simply proceeded without the String -> GSON object step and parsed the String. However, that approach can get complex and can be very tedious.

Overall, I found the process really easy and quick to implement. I’m not sure why Google doesn’t just provide a downloadable API. Maybe its because they want to push the lightweight REST and JSON formats or remain language agnostic? Most likely, I think they meant the service to be used in a Javascript/Ajax environment and embedded into a Web application.

Contact me if you would like to know more or have ideas on a better way to do this 🙂

You can check out their online documentation for more information.