Gearing Up Google Glass Development - August 2013

118
max(imiliano) (@firt)man GEARING UP WITH GOOGLE GLASS DEVELOPMENT Zürich, Aug 29th, 2013 ¡) Thursday, August 29, 13

description

Slides for the talk given at Frontend Conference Zurich, Switzerland

Transcript of Gearing Up Google Glass Development - August 2013

Page 1: Gearing Up Google Glass Development - August 2013

max(imiliano) (@firt)man

GEARING UP

WITH GOOGLE GLASS

DEVELOPMENT

Zürich, Aug 29th, 2013

¡-­‐)Thursday, August 29, 13

Page 2: Gearing Up Google Glass Development - August 2013

mobile+web developer

maximiliano @firt

Thursday, August 29, 13

Page 3: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 4: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 5: Gearing Up Google Glass Development - August 2013

we’ll talk about glass

1- Experience2- Glassware3- Timeline 4- Browser5- Code!

Thursday, August 29, 13

Page 6: Gearing Up Google Glass Development - August 2013

questions

yes, please

At the end or during the conference

Thursday, August 29, 13

Page 7: Gearing Up Google Glass Development - August 2013

DISCLAIMER

Thursday, August 29, 13

Page 8: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 9: Gearing Up Google Glass Development - August 2013

HOLES

Thursday, August 29, 13

Page 10: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 11: Gearing Up Google Glass Development - August 2013

1- glass experience

Thursday, August 29, 13

Page 12: Gearing Up Google Glass Development - August 2013

quick video( )

Thursday, August 29, 13

Page 13: Gearing Up Google Glass Development - August 2013

MYTHS

Thursday, August 29, 13

Page 14: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 15: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 16: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 17: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 18: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 19: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 20: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 21: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 22: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 23: Gearing Up Google Glass Development - August 2013

Noti!cations on your head

Thursday, August 29, 13

Page 24: Gearing Up Google Glass Development - August 2013

Noti!cations on your head

Thursday, August 29, 13

Page 25: Gearing Up Google Glass Development - August 2013

Your content is not so important

Thursday, August 29, 13

Page 26: Gearing Up Google Glass Development - August 2013

specs

nHD transparent 640x36025" - 2.5m / 8 away

Thursday, August 29, 13

Page 27: Gearing Up Google Glass Development - August 2013

specs

Sensors

Thursday, August 29, 13

Page 28: Gearing Up Google Glass Development - August 2013

specs

Camera

Thursday, August 29, 13

Page 29: Gearing Up Google Glass Development - August 2013

specs

Multi-touch panel

Thursday, August 29, 13

Page 30: Gearing Up Google Glass Development - August 2013

specs

wi!bluetooth

Thursday, August 29, 13

Page 31: Gearing Up Google Glass Development - August 2013

specs

Android 4.0

Thursday, August 29, 13

Page 32: Gearing Up Google Glass Development - August 2013

specs

bone conductiontransducer

Thursday, August 29, 13

Page 33: Gearing Up Google Glass Development - August 2013

quick demo( )

Thursday, August 29, 13

Page 34: Gearing Up Google Glass Development - August 2013

the experience

- different device- not transparent apps - limited AR

Thursday, August 29, 13

Page 35: Gearing Up Google Glass Development - August 2013

2- glassware

Thursday, August 29, 13

Page 36: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 37: Gearing Up Google Glass Development - August 2013

nativevs

web

Thursday, August 29, 13

Page 38: Gearing Up Google Glass Development - August 2013

today =cloud

Thursday, August 29, 13

Page 39: Gearing Up Google Glass Development - August 2013

today =cloud

Mirror API

Thursday, August 29, 13

Page 40: Gearing Up Google Glass Development - August 2013

tomorrow =native

vscloud

Thursday, August 29, 13

Page 41: Gearing Up Google Glass Development - August 2013

tomorrow =native GDK

vscloud Mirror API

Thursday, August 29, 13

Page 42: Gearing Up Google Glass Development - August 2013

quick demo( )

Thursday, August 29, 13

Page 43: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 44: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 45: Gearing Up Google Glass Development - August 2013

https

Thursday, August 29, 13

Page 46: Gearing Up Google Glass Development - August 2013

httpscontent

Thursday, August 29, 13

Page 47: Gearing Up Google Glass Development - August 2013

httpscontent

actions

Thursday, August 29, 13

Page 48: Gearing Up Google Glass Development - August 2013

https

http(s)

content

actions

Thursday, August 29, 13

Page 49: Gearing Up Google Glass Development - August 2013

glassware

Thursday, August 29, 13

Page 50: Gearing Up Google Glass Development - August 2013

glassware

Thursday, August 29, 13

Page 51: Gearing Up Google Glass Development - August 2013

glassware

- today vs tomorrow- Mirror API- GDK- create a new architecture

Thursday, August 29, 13

Page 52: Gearing Up Google Glass Development - August 2013

3- timeline

Thursday, August 29, 13

Page 53: Gearing Up Google Glass Development - August 2013

timeline

past, now, future

Thursday, August 29, 13

Page 54: Gearing Up Google Glass Development - August 2013

quick demo( )

Thursday, August 29, 13

Page 55: Gearing Up Google Glass Development - August 2013

timeline

timeline items = card

Thursday, August 29, 13

Page 56: Gearing Up Google Glass Development - August 2013

timeline

card

Thursday, August 29, 13

Page 57: Gearing Up Google Glass Development - August 2013

timeline

standard cardpinned card

system card pastpastfuture

Thursday, August 29, 13

Page 58: Gearing Up Google Glass Development - August 2013

httpscontent

Thursday, August 29, 13

Page 59: Gearing Up Google Glass Development - August 2013

it's probable that the user will never see ourcard

(

)

Thursday, August 29, 13

Page 60: Gearing Up Google Glass Development - August 2013

timeline

content type

Thursday, August 29, 13

Page 61: Gearing Up Google Glass Development - August 2013

timeline

textcontent type

Thursday, August 29, 13

Page 62: Gearing Up Google Glass Development - August 2013

timeline

imagevideo

content type

Thursday, August 29, 13

Page 63: Gearing Up Google Glass Development - August 2013

timeline

htmlcontent type

Thursday, August 29, 13

Page 64: Gearing Up Google Glass Development - August 2013

timeline

card actions = menu items

Thursday, August 29, 13

Page 65: Gearing Up Google Glass Development - August 2013

timeline

menu items 1011 or 2 words & iconno argumentssystem vs custom

Thursday, August 29, 13

Page 66: Gearing Up Google Glass Development - August 2013

How can I listen to actions?

Thursday, August 29, 13

Page 67: Gearing Up Google Glass Development - August 2013

http(s)actions

Thursday, August 29, 13

Page 68: Gearing Up Google Glass Development - August 2013

How to reply?

Thursday, August 29, 13

Page 69: Gearing Up Google Glass Development - August 2013

httpscontent

Thursday, August 29, 13

Page 70: Gearing Up Google Glass Development - August 2013

timeline

contextual eventsgeolocation

Thursday, August 29, 13

Page 71: Gearing Up Google Glass Development - August 2013

timeline

contextual eventsgeolocationshare

Thursday, August 29, 13

Page 72: Gearing Up Google Glass Development - August 2013

timeline

contextual eventsgeolocationsharelaunch "ok glass" menu

Thursday, August 29, 13

Page 73: Gearing Up Google Glass Development - August 2013

http(s)actions

Thursday, August 29, 13

Page 74: Gearing Up Google Glass Development - August 2013

timeline

Invocation voice commands

take a notepost an update

Thursday, August 29, 13

Page 75: Gearing Up Google Glass Development - August 2013

timeline

- card is the king- menu items <> endpoint- contextual events - server-side intelligence

Thursday, August 29, 13

Page 76: Gearing Up Google Glass Development - August 2013

4- the browser

Thursday, August 29, 13

Page 77: Gearing Up Google Glass Development - August 2013

browser

invocationgoogle searchcard's action

Thursday, August 29, 13

Page 78: Gearing Up Google Glass Development - August 2013

quick demo( )

Thursday, August 29, 13

Page 79: Gearing Up Google Glass Development - August 2013

browser

interactionscrollpoint and click

Thursday, August 29, 13

Page 80: Gearing Up Google Glass Development - August 2013

browser

responsive web designmobile user agentwidth: 427pxpixel ratio: 1.5

Thursday, August 29, 13

Page 81: Gearing Up Google Glass Development - August 2013

browser

html5video, audiodevicemotionscroll and touch eventsno geo, speech, camera yet

Thursday, August 29, 13

Page 82: Gearing Up Google Glass Development - August 2013

browser

- better than it looks like- experimental- new ideas will come- card + html5

Thursday, August 29, 13

Page 83: Gearing Up Google Glass Development - August 2013

5- code!

Thursday, August 29, 13

Page 84: Gearing Up Google Glass Development - August 2013

code!

Mirror APIOAuth 2.0RESTful servicesJSON

Thursday, August 29, 13

Page 85: Gearing Up Google Glass Development - August 2013

code!

1- Use HTTP2- Use official APIs

Thursday, August 29, 13

Page 86: Gearing Up Google Glass Development - August 2013

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

Page 87: Gearing Up Google Glass Development - August 2013

new card$card = new Google_TimelineItem();$card->setText("Hello World");

$parameters = array();$service->timeline ->insert($card, $parameters);

PHP

code!

Thursday, August 29, 13

Page 88: Gearing Up Google Glass Development - August 2013

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

Page 89: Gearing Up Google Glass Development - August 2013

html!

{ "html": "<h1>Hello world<h1> <p>Sorry, no marquee support</p> " }

JSON

code!

Thursday, August 29, 13

Page 90: Gearing Up Google Glass Development - August 2013

code!

static contentall semantic containerstables, listscustom cssno <script> <link> <iframe>

html5 on cards

Thursday, August 29, 13

Page 91: Gearing Up Google Glass Development - August 2013

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

Page 92: Gearing Up Google Glass Development - August 2013

menu items{ "text": "Hello world", "menuItems": [    {      "action": "REPLY"    }  ] }

JSON

code!

Thursday, August 29, 13

Page 93: Gearing Up Google Glass Development - August 2013

code!

built-in menu items

Thursday, August 29, 13

Page 94: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemsshare

Thursday, August 29, 13

Page 95: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate to

Thursday, August 29, 13

Page 96: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread aloud

Thursday, August 29, 13

Page 97: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread alouddelete

Thursday, August 29, 13

Page 98: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread alouddelete

voice call

Thursday, August 29, 13

Page 99: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread alouddelete

voice callreply

Thursday, August 29, 13

Page 100: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread alouddelete

voice callreplytoggle pin

Thursday, August 29, 13

Page 101: Gearing Up Google Glass Development - August 2013

code!

built-in menu itemssharenavigate toread alouddelete

voice callreplytoggle pinview website

Thursday, August 29, 13

Page 102: Gearing Up Google Glass Development - August 2013

voice callreplytoggle pinview website

code!

built-in menu itemssharenavigate toread alouddeleteYOU CAN CHANGE TITLE AND ICON

Thursday, August 29, 13

Page 103: Gearing Up Google Glass Development - August 2013

code!

bundlesMulti-page card Different cards over time

Thursday, August 29, 13

Page 104: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

Thursday, August 29, 13

Page 105: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

Don't steal one

Thursday, August 29, 13

Page 106: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

Don't steal one

Thursday, August 29, 13

Page 107: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

Playground (official)

Thursday, August 29, 13

Page 108: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!Glasssim.com

Thursday, August 29, 13

Page 109: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

Xenologer for AndroidMirror API Emulator by Scarygami

Thursday, August 29, 13

Page 110: Gearing Up Google Glass Development - August 2013

I don't have a Glass!!!

At the end, you will need onegoogle.com/glass

Thursday, August 29, 13

Page 111: Gearing Up Google Glass Development - August 2013

code!

- mirror API: HTTP & JSON- cards, menu items- experimental emulation

Thursday, August 29, 13

Page 112: Gearing Up Google Glass Development - August 2013

6- what's next

Thursday, August 29, 13

Page 113: Gearing Up Google Glass Development - August 2013

what's next

- GDK - Localization- More Invocation Voice commands

For Glass

Thursday, August 29, 13

Page 114: Gearing Up Google Glass Development - August 2013

what's next

- developers.google.com/glass- youtube.com/user/GoogleDevelopers

For You

Thursday, August 29, 13

Page 115: Gearing Up Google Glass Development - August 2013

wrapping up

Thursday, August 29, 13

Page 116: Gearing Up Google Glass Development - August 2013

glass

- understand the experience- mirror api vs gdk vs browser- Glassware cloud-based- it's just the beginning

Thursday, August 29, 13

Page 117: Gearing Up Google Glass Development - August 2013

Thursday, August 29, 13

Page 118: Gearing Up Google Glass Development - August 2013

you can reach a good experience

Pictures)from)freedigitalphotos.net)

Thanks!

[email protected]@!rt

!rt.mobi/pmw

¡-­‐)Ask me for 50% off

Thursday, August 29, 13