developing for google glass - amazon s3€¦ · developing for google glass @louielouie devignition...
TRANSCRIPT
P RE SENTED BY
LU IS DE LA ROSAD IREC T OR OF T EC HNOLOGY
DEVELOPING FORGOOGLE GLASS
@louielouie
DevIgnition 2013
- MASS-MARKET GENERAL COMPUTING WEARABLE
- ROUGHLY 40,000 BETA TESTERS (EXPLORERS)
-CHECK YOUR EMAIL FOR INVITE
-TWO WAYS TO DEVELOP FOR IT: MIRROR API AND GDK
GLASS
- 640X360 LANDSCAPE DISPLAY- APPEARS LARGE BUT IN PERIPHERY- 5MP CAMERA WITH 720P VIDEO, MIC, SPEAKER- LOCATION- SENSORS- TETHERS TO ANDROID OR IPHONE- WIFI + BLUETOOTH
GLASS HARDWARE
- TAP - BRING UP MENU / EXECUTE MENU ITEM- SWIPE DOWN - GO BACK / EXIT IMMERSION- TWO-FINGER - SLEEP- SWIPE BACK - GO LEFT IN TIMELINE- SWIPE FORWARD - GO RIGHT IN TIMELINE- SWIPE FASTER TO GO FARTHER
GLASS GESTURES
- LAUNCHES GLASSWARE FROM HOME CARD
VOICE RECOGNITION
- REPLACES KEYBOARD
- LOOK UP - WAKE FROM SLEEP
- HOME CARD TRACKS TO SCROLL VOICE MENU
- CAN TRACK VIA SENSORS WITH GDK
HEAD MOVEMENT
- EVERYTHING IS A CARD- HOME CARD IS WHERE YOU START- RIGHT OF HOME CARD IS THE HISTORY- EX: PICTURES YOU TOOK- LEFT OF HOME CARD IS CURRENT + FUTURE- EX: WEATHER, UPCOMING GAMES
TIMELINE
- STATIC CARD
- LIVE CARD - LOW FREQUENCY
- LIVE CARD - HIGH FREQUENCY
- IMMERSION
TYPES OF GLASSWARE
COMMON CARD LAYOUT
COMMON CARD LAYOUT WITH IMAGE
- DISPLAY INFO WITH NO INTERACTION- EXCEPT FOR CONTEXT MENU- NO GESTURES AVAILABLE- CAN’T MAKE VIA GDK CURRENTLY- USE MIRROR API
STATIC CARD
- SUPPLY TEXT TO BE READ ALOUD
- ATTACH AUDIO, IMAGE, VIDEO
- PAGINATE LONG TEXT
- BUNDLE MULTIPLE CARDS
- CUSTOM MENU ITEMS
MORE ABOUT STATIC CARDS
- CREATE GOOGLE API PROJECT- AUTHORIZE WITH OAUTH
INSERTING A STATIC CARD WITH MIRROR API
mirror = MirrorClient.new(get_stored_credentials(user_id))
mirror.insert_timeline_item({ text: 'Welcome to the Mirror API Ruby Quick Start'})
- ACCESS LOCATION
- SHARE OTHER CARDS WITH YOUR GLASSWARE SERVER (LIKE ANDROID SHARE.. . MENU ITEM)
- HANDLE CUSTOM MENU ITEMS
MIRROR API CAN ALSO
- GLASS DEVELOPMENT KIT
- BUILT ON ANDROID 4.0.3 ( ICE CREAM SANDWICH)
- ALLOWS OFFLINE, SENSORS, MORE UI CONTROL UNLIKE MIRROR
- NO EMULATOR
GDK
- LIVE CONTENT, SOME USER INTERACTION- SWIPE DOWN, LEFT AND RIGHT NOT AVAILABLE- CONTENT UPDATED AT LOW FREQUENCY (EVERY FEW SECOND AT MOST)- SERVICE- USE SUBSET OF AVAILABLE ANDROID UI VIA REMOTEVIEW
LIVE CARD - LOW FREQUENCY
- LIVE CONTENT, SOME USER INTERACTION- SWIPE DOWN, LEFT AND RIGHT NOT AVAILABLE- CONTENT UPDATED AT HIGH FREQUENCY- SERVICE- USE SURFACE TO DO CUSTOM DRAWING
LIVE CARD - HIGH FREQUENCY
- TAKE OVER ENTIRE SCREEN- ALL GESTURES AVAILABLE- DOES NOT LIVE IN TIMELINE- USE REGULAR ANDROID UI- USE REGULAR ACTIVITY CLASS- CAN ACT LIKE A MINI-TIMELINE VIA CARD + CARDSCROLLVIEW
IMMERSION
- LET’S MAKE A GLASS APP WITH THE GDK!
- I MEAN.. . GLASSWARE!
HELLO GLASS (IMMERSION)
- SDK MANAGER
INSTALLING GDK
NEW PROJECT WIZARD
- PROJECT PROPERTIES
TARGET THE GDK
HMM... THAT DOESN’T LOOK RIGHT
GETTING THE GLASS THEMEIn AndroidManifest.xml, delete:
android:theme="@style/AppTheme">
USE THE LIBRARY, LUKE!
In AndroidManifest.xml, add:
<uses-‐library android:name="com.google.android.glass"
android:required="true" />
VOICE ACTIVATE!
• <intent-‐filter> <action android:name="com.google.android.glass.action.VOICE_TRIGGER"/></intent-‐filter><meta-‐dataandroid:name="com.google.android.glass.VoiceTrigger"android:resource="@xml/glass_voice_trigger"/>
In AndroidManifest.xml, add:
VOICE ACTIVATE! (PART 2)
•<?xml version="1.0" encoding="utf-‐8"?>
<trigger keyword="@string/glass_voice_trigger"/>
Create a res/xml/glass_voice_trigger.xml:
VOICE ACTIVATE! (PART 3)
<string name="glass_voice_trigger">say hello</string>
Add to res/values/strings.xml:
- USE REGULAR ANDROID UI CLASSES FOR AN IMMERSION- REMEMBER TO UTILIZE GESTURES, SINCE IT IS NOT A TOUCH SCREEN- GESTUREDETECTOR
- FINGER COUNT- SCROLL- TWO FINGER SCROLL
BUILDING OUT THE UI
- USE REGULAR ANDROID MENU METHODS:
TO SHOW A MENU
onCreateOptionsMenu()onOptionsItemSelected()onOptionsMenuClosed()
- HTTPS://DEVELOPERS.GOOGLE.COM/GLASS/COMMUNITY
- TAG [GOOGLE-GDK] ON STACK OVERFLOW
- PUBLIC BUG / ISSUE TRACKER
- SAMPLE PROJECTS VIA WIZARD OR GITHUB
FURTHER RESOURCES
QUESTIONS
?Luis de la RosaDirector of Technology, savvy appsh!p://savvyapps.com
Google+: google.com/+luisdelarosaTwi!er: @louielouieEmail: [email protected]
Presentation, notes and links:luisdelarosa.com/glass
HTTP://SAVVYAPPS.COM/
COME DO THE BEST WORK OF YOUR CAREER
luisdelarosa.com/glass