gearing up google glass development - august 2013
DESCRIPTION
Slides for the talk given at Frontend Conference Zurich, SwitzerlandTRANSCRIPT
max(imiliano) (@firt)man
GEARING UP
WITH GOOGLE GLASS
DEVELOPMENT
Zürich, Aug 29th, 2013
¡-‐)Thursday, August 29, 13
mobile+web developer
maximiliano @firt
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
we’ll talk about glass
1- Experience2- Glassware3- Timeline 4- Browser5- Code!
Thursday, August 29, 13
questions
yes, please
At the end or during the conference
Thursday, August 29, 13
DISCLAIMER
Thursday, August 29, 13
Thursday, August 29, 13
HOLES
Thursday, August 29, 13
Thursday, August 29, 13
1- glass experience
Thursday, August 29, 13
quick video( )
Thursday, August 29, 13
MYTHS
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
Noti!cations on your head
Thursday, August 29, 13
Noti!cations on your head
Thursday, August 29, 13
Your content is not so important
Thursday, August 29, 13
specs
nHD transparent 640x36025" - 2.5m / 8 away
Thursday, August 29, 13
specs
Sensors
Thursday, August 29, 13
specs
Camera
Thursday, August 29, 13
specs
Multi-touch panel
Thursday, August 29, 13
specs
wi!bluetooth
Thursday, August 29, 13
specs
Android 4.0
Thursday, August 29, 13
specs
bone conductiontransducer
Thursday, August 29, 13
quick demo( )
Thursday, August 29, 13
the experience
- different device- not transparent apps - limited AR
Thursday, August 29, 13
2- glassware
Thursday, August 29, 13
Thursday, August 29, 13
nativevs
web
Thursday, August 29, 13
today =cloud
Thursday, August 29, 13
today =cloud
Mirror API
Thursday, August 29, 13
tomorrow =native
vscloud
Thursday, August 29, 13
tomorrow =native GDK
vscloud Mirror API
Thursday, August 29, 13
quick demo( )
Thursday, August 29, 13
Thursday, August 29, 13
Thursday, August 29, 13
https
Thursday, August 29, 13
httpscontent
Thursday, August 29, 13
httpscontent
actions
Thursday, August 29, 13
https
http(s)
content
actions
Thursday, August 29, 13
glassware
Thursday, August 29, 13
glassware
Thursday, August 29, 13
glassware
- today vs tomorrow- Mirror API- GDK- create a new architecture
Thursday, August 29, 13
3- timeline
Thursday, August 29, 13
timeline
past, now, future
Thursday, August 29, 13
quick demo( )
Thursday, August 29, 13
timeline
timeline items = card
Thursday, August 29, 13
timeline
card
Thursday, August 29, 13
timeline
standard cardpinned card
system card pastpastfuture
Thursday, August 29, 13
httpscontent
Thursday, August 29, 13
it's probable that the user will never see ourcard
(
)
Thursday, August 29, 13
timeline
content type
Thursday, August 29, 13
timeline
textcontent type
Thursday, August 29, 13
timeline
imagevideo
content type
Thursday, August 29, 13
timeline
htmlcontent type
Thursday, August 29, 13
timeline
card actions = menu items
Thursday, August 29, 13
timeline
menu items 1011 or 2 words & iconno argumentssystem vs custom
Thursday, August 29, 13
How can I listen to actions?
Thursday, August 29, 13
http(s)actions
Thursday, August 29, 13
How to reply?
Thursday, August 29, 13
httpscontent
Thursday, August 29, 13
timeline
contextual eventsgeolocation
Thursday, August 29, 13
timeline
contextual eventsgeolocationshare
Thursday, August 29, 13
timeline
contextual eventsgeolocationsharelaunch "ok glass" menu
Thursday, August 29, 13
http(s)actions
Thursday, August 29, 13
timeline
Invocation voice commands
take a notepost an update
Thursday, August 29, 13
timeline
- card is the king- menu items <> endpoint- contextual events - server-side intelligence
Thursday, August 29, 13
4- the browser
Thursday, August 29, 13
browser
invocationgoogle searchcard's action
Thursday, August 29, 13
quick demo( )
Thursday, August 29, 13
browser
interactionscrollpoint and click
Thursday, August 29, 13
browser
responsive web designmobile user agentwidth: 427pxpixel ratio: 1.5
Thursday, August 29, 13
browser
html5video, audiodevicemotionscroll and touch eventsno geo, speech, camera yet
Thursday, August 29, 13
browser
- better than it looks like- experimental- new ideas will come- card + html5
Thursday, August 29, 13
5- code!
Thursday, August 29, 13
code!
Mirror APIOAuth 2.0RESTful servicesJSON
Thursday, August 29, 13
code!
1- Use HTTP2- Use official APIs
Thursday, August 29, 13
new cardPOST /mirror/v1/timeline HTTP/1.1Host: www.googleapis.comAuthorization: Bearer {auth token}Content-Type: application/jsonContent-Length: 26
{ "text": "Hello world" }
HTTP
code!
Thursday, August 29, 13
new card$card = new Google_TimelineItem();$card->setText("Hello World");
$parameters = array();$service->timeline ->insert($card, $parameters);
PHP
code!
Thursday, August 29, 13
new card{ "kind": "glass#timelineItem", "id": "1234567890", "created": "2012-09-25", "updated": "2012-09-25", "text": "Hello world"}
(just an example)
code!
Thursday, August 29, 13
html!
{ "html": "<h1>Hello world<h1> <p>Sorry, no marquee support</p> " }
JSON
code!
Thursday, August 29, 13
code!
static contentall semantic containerstables, listscustom cssno <script> <link> <iframe>
html5 on cards
Thursday, August 29, 13
map images{ "html": "<h1>Your wife's location<h1> <img src='glass://map?w=240&h=360&marker=0;42.369590,-71.107132&marker=1;42.36254,-71.08726 height=360 width=240>"
}
JSON
code!
Thursday, August 29, 13
menu items{ "text": "Hello world", "menuItems": [ { "action": "REPLY" } ] }
JSON
code!
Thursday, August 29, 13
code!
built-in menu items
Thursday, August 29, 13
code!
built-in menu itemsshare
Thursday, August 29, 13
code!
built-in menu itemssharenavigate to
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread aloud
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread alouddelete
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread alouddelete
voice call
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread alouddelete
voice callreply
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread alouddelete
voice callreplytoggle pin
Thursday, August 29, 13
code!
built-in menu itemssharenavigate toread alouddelete
voice callreplytoggle pinview website
Thursday, August 29, 13
voice callreplytoggle pinview website
code!
built-in menu itemssharenavigate toread alouddeleteYOU CAN CHANGE TITLE AND ICON
Thursday, August 29, 13
code!
bundlesMulti-page card Different cards over time
Thursday, August 29, 13
I don't have a Glass!!!
Thursday, August 29, 13
I don't have a Glass!!!
Don't steal one
Thursday, August 29, 13
I don't have a Glass!!!
Don't steal one
Thursday, August 29, 13
I don't have a Glass!!!
Playground (official)
Thursday, August 29, 13
I don't have a Glass!!!Glasssim.com
Thursday, August 29, 13
I don't have a Glass!!!
Xenologer for AndroidMirror API Emulator by Scarygami
Thursday, August 29, 13
I don't have a Glass!!!
At the end, you will need onegoogle.com/glass
Thursday, August 29, 13
code!
- mirror API: HTTP & JSON- cards, menu items- experimental emulation
Thursday, August 29, 13
6- what's next
Thursday, August 29, 13
what's next
- GDK - Localization- More Invocation Voice commands
For Glass
Thursday, August 29, 13
what's next
- developers.google.com/glass- youtube.com/user/GoogleDevelopers
For You
Thursday, August 29, 13
wrapping up
Thursday, August 29, 13
glass
- understand the experience- mirror api vs gdk vs browser- Glassware cloud-based- it's just the beginning
Thursday, August 29, 13
Thursday, August 29, 13
you can reach a good experience
Pictures)from)freedigitalphotos.net)
Thanks!
!rt.mobi/pmw
¡-‐)Ask me for 50% off
Thursday, August 29, 13