Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

21
GLASS WITHOUT GLASS Developing native Glass applications without the hardware

description

Presented at SCREENS 2013 in Toronto. Details at fitc.ca/screens There are about 10,000 Google Glass devices in the wild, but only a fraction of those are in the hands of developers. Mike DiGiovanni, creator of Glass apps like Launchy, Winky, and Bulletproof, will guide you through what it takes to create a native Glass app, style it to look Glassy, and get it running on a plain old Android emulator/hardware. You will learn the some of the APIs that work best on Glass, along with a list of APIs to avoid. If the GDK remains unavailable by the time of the presentation, there will be a section on future proofing your software. Mike will be available afterwards to give attendees the opportunity to experience Glass and get some 1-on-1 Q&A time. This is a presentation aimed at beginners to native Glass development. Some Android development experience is a plus.

Transcript of Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Page 1: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

GLASS WITHOUT GLASSDeveloping native Glass applications without the hardware

Page 2: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

About Mike DiGiovanni Mobile developer Why me?

Native Glassware Leader○ Winky○ Launchy○ Bulletproof○ GlassAuth○ Research into audio and sensor APIs

Participated in original Glass hackathonExtensive Android experienceWearables Gold Rush

Page 3: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

A short look at Glass

Page 4: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Why native?

Low latency Control over the user experience Keep data away from Google

Page 5: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Pre-requisites

Android SDK - http://developer.android.com/sdk/ Good understanding of Android development

Page 6: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Glassless

A sample app Plain old Android SDK Basic sensor usage – Google sample Basic interaction usage - Google sample Basic TTS Example of maps static API and location – Jenny

Murphy of Google Examples of menu Examples of theming

Page 7: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Emulator Setup

Page 8: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Menus

XE7 - Google made a change to the underlying platform to present menus in a very Glassy way

Pulls from HDPI bucket Mostly white, subtle shading, hard to describe 70x70 icons

Page 9: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Themes

Page 10: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Touch management – Stop Watch

Touchpad on the side Translate to keystrokes

tab, dpad left – swipe backwardshift+tab, dpad right – swipe forwardback – swipe downdpad center - tap

Generic Motion Events

Page 11: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Sensors - Compass

Not the greatest Typical

registration Typical events

Page 12: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

More sensors - Level

Can be used to balance it on your head straight

Gaming functions Typical registration Typical events

Page 13: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Location – Sugar Glider

Short confusing history NOW Standard location

provider registration and listening

Need maps?

Page 14: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Audio Recording – Wave form

Mono AudioSource mic AudioRecord

class

Page 15: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

What APIs don’t work

Location API Voice Recognition Face detection Google APIs (Maps, +, Play Store)

Page 16: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Final conversion

Remove any usage of non hdpi bitmap based drawables

Likely that a menu will automatically show up and we wont have to do a dance

Evaluate Battery life Final GDK

Page 17: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Comparison app on Device vs Glass

LIVE DEMO!

Page 18: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Tips Screen off = App exit Don’t go out of your way Evaluate whether it’s really worth going native Think inside a timeline Make friends in the community XE10 Limit text, limit depth, limit functionality How can my company's software for Glass change our

customers lives? How can Glass hardware change my company?

Page 19: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Ideas

Second screen for gaming – HUD, Hidden info Pro camera Viewfinder for wifi cameras Presentation helper Think business specific Assistive devices

Page 20: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Resources Mike dg Google+ http://goo.gl/CmC9SH @evilmikedg Mike dg github http://www.github.com/kaze0 Mirror API https://developers.google.com/glass/about GDK https://developers.google.com/glass/gdk Glass Development G+ Community http://goo.gl/ctgLT0 Jenny Murphy - Google Developer https://github.com/mimming/

sugarglider General sensors -

http://developer.android.com/guide/topics/sensors/sensors_overview.html

Page 21: Glass w/o Glass: Developing native Glass applications without the hardware with Mike DiGiovanni

Q&A