Transcript
Page 1: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Photo credit: TheVerge.com

Page 2: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

About myself

Chua Zi Yong

Developing Android for about 5 years

Founder of Stream Media

Founder of CodeAndroid Singaporehttps://www.facebook.com/groups/codeandroid/

Page 3: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What we will cover today on Glass

This session will cover more on high level development consideration – less emphasis on design and technical discussions

Introduction FrameworkConstraints

and Possibility

Resources

Page 4: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Basics of Google Glass

Introduction FrameworkConstraints

and Possibility

Resources

What is Glass? How to use Glass?

How it Feels [through Google Glass]_hd720.mp4 Google Glass How to use Glass hands-free_hd720.mp4

Page 5: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Getting Started: https://developers.google.com/glass/

1) Take note of the design principles (very small screen!)

2) Choose your poison: Mirror API or GDK

3) Check out the samples and demos

Introduction FrameworkConstraints

and Possibility

Resources

Page 6: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Developing with GDK

1) Run from Glass itself (offline!) unlike Mirror API

2) Based on Android 4.0.2, apps compiled as APK

3) Download using ADT (GDK Sneak Peak)

Introduction FrameworkConstraints

and Possibility

Resources

Page 7: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

How is GDK related to Android development?

Introduction FrameworkConstraints

and Possibility

Resources

You can port your Android code and redesign the interface for Glass, supposedly - At this stage, not everything works, e.g. Play Services, default Share API

Page 8: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

How is your app triggered?

Introduction FrameworkConstraints

and Possibility

Resources

- Command line (that’s how it was done in XE11)

- Voice trigger

Page 9: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Voice trigger

Introduction FrameworkConstraints

and Possibility

Resources

- Voice trigger is used to launch your app

- You can use any commands during development

- Glassware only support standard set of voice commands (https://developers.google.com/glass/develop/gdk/input/voice)

- You can submit new commands for approval (which you will hear back in around 2 weeks)

Page 10: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Contextual voice commands

Introduction FrameworkConstraints

and Possibility

Resources

- Sometimes, voice commands is more than “Take a Picture”

- Add voice prompt in voicetrigger.xml (“Ok glass, get directions to, home”)

<?xml version="1.0" encoding="utf-8"?><trigger keyword="@string/glass_voice_trigger"> <input prompt="@string/glass_voice_prompt" /></trigger>

Page 11: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

3 types of interfaces

Introduction FrameworkConstraints

and Possibility

Resources

Page 12: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Static Cards – appear to the right of Timeline

Right now it does nothing except “show you something”- Please help upvote issue 320 https://code.google.com/p/google-glass-api/issues/detail?id=320

Introduction FrameworkConstraints

and Possibility

Resources

Static cards

Page 13: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Live Cards – appear to the left of Timeline - “live” interaction and card can update itself- User can interact with other cards while active

Introduction FrameworkConstraints

and Possibility

Resources

Live cards

Page 14: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Immersions – takes over the whole screen- Like a normal Android app- Outside of Timeline- User cannot interact with cards unless they close your app

Introduction FrameworkConstraints

and Possibility

Resources

Page 15: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

How to use the Interfaces- Immersion – standard Android app architecture

- Static Card – use TimelineManager from either running app or service (insert, update, query, delete)

- Live Card – will talk more next slide

Introduction FrameworkConstraints

and Possibility

Resources

Page 16: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Live Card Architecture- Unlike an app, your default launch is a Live Card Service- Keeps on running- Need to create pendingintent to launch menu activity to

close the live card- 2 types of rendering – Low and Hi Frequency

Introduction FrameworkConstraints

and Possibility

Resources

Page 17: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Live Card Architecture – Low Frequency Rendering- Small set of views and low update rate- For example, match score

Introduction FrameworkConstraints

and Possibility

Resources

Launch live card service

User says “Ok Glass, <trigger>

Remote View

Live Card

Page 18: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Live Card Architecture – High Frequency Rendering- Dynamic rendering- For example, timer

Introduction FrameworkConstraints

and Possibility

Resources

Launch live card service

User says “Ok Glass, <trigger>

Drawing Logic, other services

SurfaceView

Live Card

Page 19: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Other things to take note of- You can specify touch gestures (like a D-Pad)- Sensors: Voice Input, GPS, Accelerometer,, Camera- Glass heats up very fast and have low battery life

- Design your app to be as light weight as possible to reduce load

- Continuous video recording is about 45-60 minutes

Introduction FrameworkConstraints

and Possibility

Resources

Page 20: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

See some code?

Introduction FrameworkConstraints

and Possibility

Resources

Page 21: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What is available by default- Google Search- Call/SMS/Hangout- Get Directions/POI Searches- Take Picture/Video- Google Music- Gmail- Google Now….

Introduction FrameworkConstraints

and Possibility

Resources

Page 22: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What interesting apps developers are building- Wolframalpha - “OK Glass, Compute, Population of

Finland”

Introduction FrameworkConstraints

and Possibility

Resources

Page 23: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What interesting apps developers are building- DriveSafe – Detects if you are dozing while driving and

give directions to nearest rest area

Introduction FrameworkConstraints

and Possibility

Resources

Page 24: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What interesting apps developers are building- WeMoGlass – Control Belkin WeMo devices at home

Introduction FrameworkConstraints

and Possibility

Resources

Page 25: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What limits developers right now?- Band-Aid everywhere – check issues often on the project

page, may take time to fix- E.g. mediascanner only works on reboot, share not working,

no GCM

- Certain features are Mirror API only, notification, action for static cards

- No emulator

Introduction FrameworkConstraints

and Possibility

Resources

Page 26: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Resources for developers- Main Page https://developers.google.com/glass/- Project Home (https://code.google.com/p/google-glass-api/) for

list of bugs and upcoming enhancements- Stackoverflow (http://

stackoverflow.com/questions/tagged/google-gdk)- Unofficial Glassware list (http://

glass-apps.org/google-glass-application-list)

Introduction FrameworkConstraints

and Possibility

Resources

Page 27: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Getting Glass- USD$1500 + tax- Must be over 18 and resident of United States- Must self collect at Google Office either in NYC or SF

- Choose color- Go through fitting process- Setup on your phone

- Need to get invite from Google (Register your interest through http://www.google.com/glass/)

Introduction FrameworkConstraints

and Possibility

Resources

Page 28: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

What if I can’t get Glass?- You can emulate Glass on your Android device with the

instructions from http://www.elekslabs.com/2013/11/google-glass-development-without-glass.html (Or search “Glass development without Glass”, 3rd result)

- You can emulate the screen resolution on your device (caution: please get familiar with adb commands before you try)- Above 4.3: adb shell wm size 640x360- Below 4.3: adb shell am display-size 640x360

Introduction FrameworkConstraints

and Possibility

Resources

Page 29: Getting Started: Google Glass Apps with GDK

Developing Glass Apps Using GDK (XE12 Update) Follow me @chuazy

Questions?

Introduction FrameworkConstraints

and Possibility

Resources


Recommended