Shared publicly  - 
I just released Winky, a way to take pictures with a wink on Google glass. This was a fun project that involved a bit of decompiling of GlassHome to see what was going on. I discovered a few other interesting tidbits that I'll be looking into as I get time. The hard work related to Winking was done by Google engineers, I just did the hard work of exposing that to the rest of the world.

Winking really changes things. You might not think it's hard to say "Ok, Glass Take a Picture" or even just tap a button. But it's a context switch that takes you out of the moment, even if just for a second. Winking lets you lifelog with little to no effort. I've taken more pictures today than I have the past 5 days thanks to this. Sure, they are mostly silly, but my timeline has now truly become a timeline of where I've been.

The big technical hurdle turned out to simply be that at least one spot on Glass does some checking against the build type and disables the wink gesture completely if it's a user build and it ever detects a wink. I was able to get around this by intercepting the wink with a higher priority than anything else.

To provide a little more clarity, this is being released as pure Android source code. It's intended to be compiled and run as an APK. At this point, I'm figuring most of you guys with Glass know how to do thisI'm trying to stay away from providing just APKs since there may be personal information that is less protected than on your average Android device and I don't want there to be any questions about whether I'm touching your data or how much work I've actually done. It isn't much. This is different from the typical Glassware that the NY Times or Path provide.

Grab the source code at

Here's the original video and photo demonstration

Sorry for the terrible layout. You should only ever see this screen once anyway. So here's the UI

+Chris Davies +Derek Ross +Rob Jackson +Jenny Murphy 
Derek Ross's profile photoPeter Meijer's profile photoJason Mow's profile photoMatt Milsap's profile photo
Hey +Mike DiGiovanni I just have one question. Can you clearly distinguish between this and "Glassware?" How are the install processes different? I assume this is similar to the lockscreen we saw the other day.
+Stephen Hall  To provide a little more clarity, this is being released as pure Android source code. It's intended to be compiled and run as an APK. At this point, I'm figuring most of you guys with Glass know how to do thisI'm trying to stay away from providing just APKs since there may be personal information that is less protected than on your average Android device and I don't want there to be any questions about whether I'm touching your data. This is different from the typical Glassware that the NY Times or Path provide. T

his software path is completely undocumented and unsupported at this point. I'm hoping we see a vetted out path towards native apps in the future, but battery life is so important and scarce with Glass, that might just not happen. We've seen how careless many developers can be with your battery on an Android phone.

Glassware is "installed" via the web. The is installed via ADB after being compiled like a normal Android app.
+Mike DiGiovanni That's exactly the information I was looking for, and I'm sure it answered many other non-Glass owners' questions too. Thanks!!
How does the detection of the gesture work? Is there something watching your eye? Or is it a motion sensor that detects the small change in orientation when you blink?
+Joost Naaijen There is a small window inside of Glass aimed towards your eye. I suspect that is the sensor they are using to detect this.
+Mike DiGiovanni Just so I'm clear, the Glasshome app replaces the usual android launcher and your app also answers to launcher intents, so does Glass then throw up a "which launcher do you want to use" dialogue, akin to standard Android or did you have to remove Glasshome to get this to work? I'm curious as to whether there is enough of the standard Android system left to have multiple written-for-glass apk's on a single Glass unit and have them play nicely or whether it's going to be a case of duplicating the Glasshome functionality and replacing it.

One other thing that we may all be interested in, with the display off how long does the battery last when constantly recording video? I can't help but wonder what the main batter draw will be on glass given the exotic display.

Oh and great work BTW
+Mike DiGiovanni +Joost Naaijen  +Iwan Uswak Is this "on-head detection" sensor emitting any Infrared Light ? You can check by looking at it through a digital camera. If it is the case, that would be a good clue indicating eye tracking possibility... 
+Curtis Fletcher Yes, if you popped a new home screen on there, that should happen, it definitely happens with certain other intents.

At this point the Glass OS appears to be full on Android, with nothing removed or slimmed down. I'm not sure that it will stay that way when it hits consumers, but that's the way it is now. MY next project is likely to be one that answers a lot of your questions and opens up new possibilities for any other devs who want to take up the challenge.

That's a good question about video recording. I wonder if you would get significantly better battery life recording if you could with the screen off. I'm weary about heading in that direction though, because of the privacy FUD that the community just can't seem to shut down.
How does it know the difference between an intentional wink and a regular blink?  I imagine since the intention is for lifeloggers, it might make little difference, but it sounds like it might lead to some unintentional social faux pas or, at best, wasting storage space.  I'm a layman to google glass, so forgive my ignorance.
+Andrew Burke deep down in the bowels of Glass, there are some algorithms that differentiate blink from wink. At the very high level, scrunchiness of your face makes it a wink.
my best guess is that your winks are just enough longer to be registered as such and not to be confused with regular blinks
+Mike DiGiovanni Thanks for the answer, are there any other ui-facing APK's in a glass system image or is everything handled by glasshome. E.G. hangouts, video playback, maps/navigation.
+Curtis Fletcher There's a few, but the bulk of the interesting stuff is in GlassHome. I don't know off the top of my head outside of the Photosphere viewer.
+Mike DiGiovanni Ok, so I'd guess the only way to "launch" the other apps would be if Glasshome explicitly calls them or maybe if an incoming mimetype attached to a Mirror API post has a matching handler in a an APK's manifest. So there would be nothing stopping rooted users, say, making a 3d object viewer and having that just work without modifying Glasshome?
man this post made me THAT much more anxious for Saturday to come so I can pick up my Glass!
Very cool - thanks. Looking forward to 'winking' when glass becomes available to the public.
I tip my hat, sir... Question, is it possible that movement of the eyeball can be taken as an input to the Google Glass? I.E. Eye-tracking.
In Memories with Maya - The Dirrogate, the advanced visor (called Wizer) has a female wearer of the visor standing in her bedroom facing a mirror...the cameras on the visor are thus reflected and the resulting live video stream of her face is "texture mapped" to her "Dirrogate" (Digital Surrogate).
Suffice to say, this technique combined with advanced graphics capabilities of AR systems like Vuforia and Unity3D and with Durex's Fundawear... is a recipe for great Augmented sex :-)

Memories with Maya - The Dirrogate a hard science novel on AR :
+Mike DiGiovanni
Thanks for the great info! Does this mean that developers can install any Android (phone) app on Glass? I have a CPU-intensive app for the blind that I'd love to run on Glass, perhaps with a supplemental battery pack to keep the small Glass battery charged over a USB cable while wearing Glass. Ideally I'd like to also use a bluetooth stereo headset with Google Glass to get around the mono bone conduction limitation and lacking audio connector. Unfortunately, being a non-US developer I cannot buy Glass yet to test the possibilities.
+Peter Meijer correct, it might be a terrible experience in most cases. And the usability is definitely hindered by not having an easy way to launch apps, which I'm hoping to have a solution for soon, though.
Awesome work Mike! Not sure if you remember me from BN but I saw your name on the verge and knew it was familiar. Would love ton sync up sometime.
From where I can learn how to make Apps for Google Glass, your App's source is not a good hint as in it is quite similar to Android Programming.
+Peter Meijer  Thanks for that, I am a developer but I can't develop any #glassware  until I get a Google Glass, which in turn will allow me to have access to Google Class API and I will be able to use its API in my PHP or Python Apps.

Its pathetic the API is not available to public yet.
+Ahmad Awais The undocumented way is what I'm exploring and it's pretty scary. You may run into stuff that's hard, impossible, or really different  to do with Glass even though it's basically Android. The Glassware stuff is safe, I believe +Gerwin Sturm has been working on an emulator to help along but I'm not entirely sure about the full details.
The Emulator needs the Client Id it comes with API, I have no access to API :(
Any possible know how about the release date of Google Glass and its price?
how would one go about deploying this on their glass?
+Song Zheng compile it, enable ADB via settings->device info on glass, then use adb to install and execute it.
+Mike DiGiovanni is there a way to simulate google glass on a nexus phone to be able to build some apps without glass?
+Iwan Uswak I suppose something could be put together to translate LocationManager and Voice Recognition to standard android services among other things. 
Alex E
+Mike DiGiovanni Great concept showing what's possible with the platform. Does installation of this (and other) APKs require the Glass to be rooted? If so, I'd be interested to know the method that you used (as there seem to be a few different ways)?
+Alex E nope, just need to enable debug mode in settings on your Glass device. I'm trying to stay away from rooting for now since that would really limit my audience and doesn't really help in the long run.
What recognizes that the user's eye is winking?
Does this work with the latest XE8? I've installed and calibrated it, but the broadcast receiver event never seems to be fired...
Add a comment...