2014-04-18 06.37.37

It seems like forever since we did our last teardown for Google Glass, but that doesn't mean there aren't a lot of things happening for the former Google[x] project. XE16 brought the first ever change in OS version, taking Glass from 4.0.4 (Ice Cream Sandwich) all of the way to 4.4.2 (KitKat). A minor hotfix from build followed with an undisclosed set of changes and a minor bump in build number.

Since this is such a massive update to Glass and the changes are so substantial, this teardown is going to come in multiple parts. I'll start with the GlassSettings.apk and we'll hit some more over the next few days. Trust me, this one deserves a post all to itself.

New Languages

It's safe to say that a lot of people are displeased with Google for launching most of its products on home turf before expanding outside of the United States. Whether this is always a fair or reasonable criticism is a debate for another time. While there was never any doubt that Glass (or a consumer variant) would eventually make its way around the world, there have been questions about where it would be headed first. It looks like we might have some answers.

In XE12, Glass only supported US English, there weren't even localization folders for other languages. XE16 includes fairly complete translations to German, UK English, and Japanese. There is also a folder for Ukrainian, but it's only about 20% complete.

Screen Shot 2014-04-17 at 3.14.34 AM

In addition to the language files, the other necessary support elements seem to also be present. There is a layout named language_settings_item.xml and a LanguageSettingsItemView class which includes code further supporting this list.

PSEUDO_LOCALE_ACCENT = new Locale("en", "xa");

SUPPORTED_LOCALES = com.google.common.collect.ImmutableList.of(java.util.Locale.US, java.util.Locale.UK, java.util.Locale.JAPANESE, PSEUDO_LOCALE_ACCENT);


Photo: Jeremy

The evidence is pretty overwhelming, but it doesn't tell us anything about when new languages will be enabled or the Explorer Program might be opening up to new countries. This could all simply be in preparation for an eventual consumer release.

Glass Is Watching You Watching It

Glass has had an on-and-off relationship with the Wink gesture, with it first being usable only through an unofficial app called Winky, and later gaining official support in XE12. We've long known that there is a small sensor pointed directly at the wearer's eye, but until now it has only been used for the Wink gesture and detecting that Glass is actually being worn (ie. Head-on detection). It looks like that sensor is about to gain a new trick - it can detect when you're focusing on the Glass display instead of your surroundings.

2014-04-17 04_03_25.prp2014-04-17 04_04_452014-04-17 04_05_10

The feature is partially functional in a new calibration activity. The wearer is asked to look away from the screen for about 2 seconds, then look directly at the screen. It's clear this is still a work in progress because the process is supposed to also include a video behind the instructions, but the screen remains black and there is no appropriate video included with the firmware. This setup process doesn't have an entry point from the Glass interface yet, but you can start it up by connecting to a computer and entering this command:

adb shell am start -n com.google.glass.settings/.ui.LookAtScreenCalibrationActivity

The calibration process can only be run once. Subsequent attempts will immediately kick up the message "Failed to calibrate," as seen in the third screenshot. Rebooting Glass resets the activity and allows it to go through the setup again, but it still only allows a single run. If you're feeling particularly drawn to experimentation and you've rooted Glass, it's possible to enable access to the calibration feature directly through Settings by modifying the apk to turn on debug mode and enabling LASER_RLU.


Credit: Jeremy for discovering the hack

This feature doesn't seem to be in use yet, but Glass will probably use this to turn the display on and off with the wearer's gaze. The end result would be faster, more intuitive, and considerably less awkward than the nod gesture we currently have.

    <string name="look_at_screen_enable_title">Look At Screen</string>

    <string name="look_at_screen_menu_calibrate">Calibrate</string>

    <string name="look_at_screen_card_footer">Experimental feature</string>

    <string name="look_at_screen_menu_turn_off">Turn off</string>

    <string name="look_at_screen_turning_off">Turning off</string>

    <string name="look_at_screen_turned_on">Turned on</string>

    <string name="look_at_screen_turned_off">Turned off</string>

    <string name="look_at_screen_off_status">is OFF</string>

    <string name="look_at_screen_on_status">is ON</string>

    <string name="look_at_screen_menu_setup">Calibrate</string>

    <string name="look_at_screen_menu_help">Help</string>

    <string name="look_at_screen_toggle_failure">Failed to toggle state</string>

    <string name="look_at_screen_calibration_instruction">Look down away from screen then look back.</string>

    <string name="look_at_screen_calibration_failure">Failed to calibrate</string>

    <string name="look_at_screen_calibrated_confirmation">Calibrated</string>

    <string name="look_down_tts">Look Down</string>

    <string name="look_at_screen_tts">Now Look At Screen</string>

New Iconography

Every update to Glass includes some new icons and this one is no exception. This time around, quite a few icons were moved from the framework libraries to the individual apks, so some of these are going to be familiar to anybody who has used Glass. I've left out a few completely innocuous additions, like WiFi and Bluetooth indicators. It's known that the Glass team occasionally adds resources at the behest of 3rd-party app developers, so it's quite possible that some of these will never actually find their way into the UI of Google's own software.


This group is oriented towards location-based activities of some kind or another. There are icons for different types of conveyance, finding and sharing your location, and initiating searches for specific types of places and services. The one that peaks my interest is find_product, which I hope to see used in a feature where the user asks Glass to find a nearby store to purchase a product they need.


Here we can see several of the more operational functions, icons for things that are specific to the device or consuming information. Utility functions run across the top and camera-related material is in the bottom left. The option to send money is really interesting, because it's something that hasn't been explored all that much before.

The three icons in the bottom right are a bit random. The tuner has been floating around since XE11, but it has never been used. Danger is easy to understand, but it's not really obvious what it will be used in. And then there's the flashlight... There is a string in GlassVoice to turn off the flashlight, so this might add to the evidence of a new hardware feature in the consumer release.

Battery Duration

Battery life has always been a fairly contentious subject with Android, but it's an undeniable problem for most Glass users. After all, if you're listening to music or recording video, it's actually fair to measure rundown in minutes. Of course, knowing what percentage remains doesn't always translate to how much longer you've got left until the dreaded low battery warning appears. It looks like the Settings app will account for this by showing an estimate of time remaining.

    <string name="battery_duration_unknown">Duration unknown</string>

    <string name="battery_duration_hours_minutes" formatted="false">%s hr %s min</string>

    <string name="battery_duration_minutes">%s min</string>

This is all driven by a new BatteryHelper class that can ask the system how long it should take for Glass to discharge. Naturally, this will just be a best guess based on usage patterns, but it will be helpful. Unfortunately, it looks like this feature is still waiting to make an appearance.

Sync Settings

Glass is definitely meant to be an Internet-connected device; almost anything of substance that can be done with it relies on calling out to a server somewhere. The camera functionality is one of the few meaningful exceptions. Even though a connection isn't required, it still automatically syncs photos and video to your Google+ account once a viable connection is established. However, it looks like there are going to be a few configuration options to control how syncing works. In a sub-menu named Auto Backup, there will be options to turn on sync for everything, just photos, or nothing at all.

There are also new error and status messages that should make it more obvious when syncing is happening and when it has completed or failed. So far, these things have been a bit of a guessing game. None of this is currently available through the interface, but everything looks fairly complete and ready for action. It's possible Google could flip a switch on a server to enable this stuff at any time.


<menu xmlns:android="http://schemas.android.com/apk/res/android">;

<item android:icon="@drawable/ic_sync_50" android:id="@id/sync_item_all" android:title="@string/sync_action_all" />

<item android:icon="@drawable/ic_sync_50" android:id="@id/sync_item_photos" android:title="@string/sync_action_photos" />

<item android:icon="@drawable/ic_delete_50" android:id="@id/sync_item_clear" android:title="@string/sync_action_clear" />



<string name="sync_settings_header">Auto Backup</string>

<string name="sync_action_all">Back up all</string>

<string name="sync_action_clear">Clear</string>

<string name="sync_action_confirm">Confirm</string>

<string name="sync_action_photos">Back up photos</string>

<string name="sync_message_scanning">Scanning…</string>

<string name="sync_message_all_synced">Photos and videos have been backed up to Google+</string>

<string name="sync_message_auto_wifi_charging_long">Photos and videos back up when charging and on wifi</string>

<string name="sync_message_cleared">Cleared</string>

<string name="sync_message_clearing">Clearing</string>

<string name="sync_message_connectivity_required">Connectivity is required</string>

<string name="sync_message_progress">%d items backing up to Google+</string>

<string name="sync_message_progress_one">1 item backing up to Google+</string>

<string name="sync_message_some_not_synced_full_res">Some items were not backed up in full-res</string>

<string name="sync_message_started">Started</string>

<string name="sync_message_starting">Starting</string>

<string name="sync_message_unsynced_items">%d items ready for back up to Google+</string>

<string name="sync_message_unsynced_items_one">1 item ready for back up to Google+</string>

<string name="sync_message_pending_work" formatted="false">%d items at %s will be backed up</string>

<string name="sync_message_pending_work_one">1 item at %s will be backed up</string>

<string name="sync_message_pending_work_zero">0 items will be backed up</string>

<string name="sync_message_clear_will_remove">%d backed up items will be removed from device</string>

<string name="sync_message_clear_will_remove_one">1 backed up item will be removed from device</string>


That's it for the Settings app. There's some pretty nifty stuff here, especially the look detection and the likely expansion into other countries. There's still plenty more to come, so I'll be back with more teardown goodness really soon!

Cody Toombs
Cody is a Software Engineer and Writer with a mildly overwhelming obsession with smartphones and the mobile world. If he’s been pulled away from the computer for any length of time, you might find him talking about cocktails and movies, sometimes resulting in the consumption of both.

  • Primosz

    @Cody Toombs
    How do you run XE16 as a Android emulator?

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      You don't :(

      The Glass team still doesn't include an emulator image with the GDK. While I would hate to try to do much Glass development through an emulator, I think this would be a good thing for them to address now that the current OS release is 4.4.2.

      • Primosz

        So how did you got those or it is just a layout file? http://cdn.androidpolice.com/wp-content/uploads/2014/04/nexusae0_2014-04-17-04_04_45_thumb.png
        I got Glass for one week for dev. from a friend and it was totally awesome, but now I would like to continue writing and improving code, but without devices it is impossible - that why I was so curious is there any way to do that).
        BTW. I find you G+ profile awesome, keep good work man!

        • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

          I used the screencast feature to mirror it onto a phone, then I used a screen recorder. The recording actually came out pretty badly, but there were enough good frames that I took screencaps of them. I'm sure there's a better way to do it, but I'm not sure what it is.

          Actually, now that I think about it. If Glass is running 4.4.2, I wonder if it now has the built-in screen recording feature. I'll try that in a bit, because that would be amazing.

          • Fatal1ty_93_RUS

            do you think the hardware would allow the screen recording?

  • remister

    That is totally my head position when I "turn Japanese"

  • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

    Having Glass turn on when you looked at it would be huge. I've never been able to find a power solution for it. Touching it is dumb and no matter what I set the nod to it would randomly turn on or never turn on unless I started wildly whipping my head around.

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      Yes, this is driving me nuts. Almost anytime I'm wearing Glass, just regular head movement turns it on constantly. It's mildly distracting and definitely not good for battery life.

    • NF

      It's also frustrating when it times out right before you say something and you have to wake it again.

  • Fatal1ty_93_RUS

    2 questions:

    Why doesn't Google roll out all the languages Android supports today for Glass?


    Why is there a navbar on the calibration process screenies?

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      1. Glass isn't ready to go worldwide, if for no other reason that the infrastructure and services probably aren't tuned for it yet. Also, the strings are constantly changing, which means new translations have to be done with each iteration, and that's kinda pointless if you're not even shipping to any other locale yet. I imagine these new languages are either an experiment or the first steps towards hitting a wider audience.

      2. I used the screencast feature to mirror to my Nexus 5, then screenshots were based off of that. Those are just the software buttons. Honestly, I just forgot to crop them out.

      • Fatal1ty_93_RUS

        The question is, is Glass EVER will go worldwide? Even now a device that costs a couple thousand bucks looks a kind of a BETA hardware..

        • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

          This exact hardware won't. It's based on a dead SoC. I wouldn't be surprised to see a hardware refresh that becomes the first consumer edition. It may not launch to every country that gets a Nexus, but it'll surely expand beyond the US.

          • Fatal1ty_93_RUS

            Let's hope it will, Glass is like the scouter from DBZ but much more futuristic, I hope it will receive the prosperity it deserves

        • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

          My biggest disappointment with Glass is that it turns out it's run by a small team that appears to be developing the platform much, much slower than I expected.

          They don't seem to be in a rush to do much of anything, especially when compared to the break-neck pace of Android development.

          • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

            It might not be entirely plausible, but I'm hoping Glass and Wear eventually join forces. Both teams have a lot of stuff that the other could use, and they're both contending with very similar problems. That would also inject some extra man power into both projects.

          • Fatal1ty_93_RUS

            Isn't that actually a good thing that they are taking their time and, while slowly, bringing much more sufficent updates to Glass than constant point-point releases Android receivces every sevral months?

            Also less rushing in terms of development = less bugs. I am yet to see a single article that states that Glass %update_code% has %bug_name%

          • Matthew Fry

            This may have a lot to do with the privacy issues involved. As with any controversial opinions that eventually gain widespread adoption, this will probably take time for minds to process and to work with local governments to protect both those that wear Glass and those that fear being invaded by Glass.

  • Slawootsky

    Really surprised about presence of Ukrainian language, especially given the absence of Russian. Guess this was done by one sympathetic Googler.

  • Josh Brown

    I think this pretty much confirms new hardware on the way. Between the flashlight and the look detector I'm convinced. It would explain why the calibration gives you a black screen: it's expecting another (IR?) camera feed to display.

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      I'm pretty sure the Look detection is possible with the current hardware, the code just hasn't been finished and the video will be added once the feature is ready to go live.

  • MowMow

    Waiting for the time where I money and the glass itself to join this almost sacred Glass conversation on AP.

  • hhualjfpoagag

    ☆ Most cost-effective website, factory direct delivery, all kinds of luxury brands, safe and efficient http://WWW.SOGARED..COM i página web. Mi sitio web es: http://www.sogared..com tienen marcas: Nike, Adidas, Puma, Gucci, LouisVuitton, Armani, Burberry, Moncler, Ralph Lauren, Lacoste, Dolce & Gabbana, Hugo Boss, Abercrombie & Fitch, CalvinKlein, Dsquared2, Yves Saint Laurent, Tommy Hilfiger sitio: http://www.SOGARED..com
    ◥◤◥◤◥◤◥◤ We are not the usual Chinese wholesalers