Google Glassware

35
GOOGLE GLASSWARE September 12, 2013 Google Glassware. 1

description

An introduction to Google Glass and Glassware design and development. It includes a prototype built by Nurun SF using the Google Mirror and Fitbit APIs. A few notes on the slides: Slide 2: video URL http://bit.ly/125gztQ. This video shows the basics of navigating and reading content. It’s a good introduction, but there are a few more things to know... Slide 4: An a advantage of Glass as a wearable device is hands free operation. For example, when a new card arrives, an audio chime is played and the user can open the card either by touching the temple or by tilting your head back. Slide 5: In addition to gestures, voice commands are sometimes available to support hands free use. Speaking to Google Glass is entirely optional, all voice commands are also available through the touch pad. Slide 8: The form-factor has great potential to present content without pulling you out of context. It is readily available, not in your bag or pocket. It overlays image and audio over the environment. Slide 9: The Mirror API is the standard way to develop applications today. The interaction model strictly follows the core UX of Glass (timeline cards and actions). Web applications offer a way to break through the boundaries of the Mirror API and Native Android applications (API level 15) are useful for prototyping more extensive Glassware experiences. It is currently unknown how native apps will be discovered, installed and launched on the device. Slide 11: A Glassware server sends content to Glass via Google servers. Google also manages responses from the user, posting data back to the Glassware server based on specifics provided in a subscription created using the API. Slide 12: These cards are in the Mirror API documentation as examples of typical layout and information density. Slide 17: video URL http://vimeo.com/74146772 Slide 19: The dashboard is inserted when you install the prototype. A pinned card is easier to find in the future (it appears to the left of the home screen). The card cannot be pinned by default, the user must pin it themselves. Slide 21: When a card is shared, a copy is made and inserted into the Glass timeline, Google+ is given ownership and updates it as needed to work with their Glassware application. Slide 28: Rather than inserting multiple dashboard cards, we update a single card. We can also use it to prompt the user to do different things (such as pin the card, or link their Fitbit account). Slide 29: In our prototype, we confirm that water has been logged by updating the status screen. An alternative would be to insert a card with the confirmation, but that would be unnecessarily noisy. Google Glass and the Mirror API is ideal for delivering glanceable displays of data at key moments throughout the day, adding a layer of feedback and encouragement to the Fitbit experience. Thank you.

Transcript of Google Glassware

Page 1: Google Glassware

GOOGLE GLASSWARE

September 12, 2013

Google Glassware.

1

Page 2: Google Glassware

Introduction to the Glass UXhttp://bit.ly/125gztQ

2

Page 3: Google Glassware

GOOGLE GLASSWARE

Nested cards

3

A white dog-ear in the corner of a card indicates that additional cards are bundled with it.

Touching the temple displays a nested timeline of cards.

Page 4: Google Glassware

GOOGLE GLASSWARE

Head gestures

4

Tilt head back to wake Glass, nudge head up to sleep Glass.

Provide basic hands-free control for user initiated actions and opening new cards.

Page 5: Google Glassware

GOOGLE GLASSWARE

Voice Commands

5

“Ok Glass” appears when voice commands are available and saying it will open a list of the commands.

Currently “Ok Glass” appears on the home screen and on newly arrived Cards.

Voice commands accessible by saying “OK Glass” on the home screen.

Page 6: Google Glassware

GOOGLE GLASSWARE

The basics of the Glass UX

6

• The display is typically off• The right temple is a touch pad• Activate Glass with a touch or a head tilt• The clock is the home screen• Information is displayed as cards in a timeline• Left of home is Google Now• Right of home are items from the past• Cards can be bundled• New cards trigger an audio chime• Voice control starts with “Ok Glass”

Page 7: Google Glassware

GOOGLE GLASSWARE 7

Glassware Development.

Page 8: Google Glassware

GOOGLE GLASSWARE 8

Glassware should take advantage of its unique wearable form factor.

Experiences should be lightweight, timely, and whenever possible hands-free.

Page 9: Google Glassware

GOOGLE GLASSWARE 9

Mirror APIServer applications can use the Mirror API to interact with a user’s Glass timeline.

Glassware using the API can create and update cards and subscribe to user actions.

The Mirror API is well suited to delivering timely information and common Glass interactions.

WebGlass includes a modern web browser.

By linking to browser based applications, cards can extended the standard interactivity of the timeline.

Standard HTML, CSS and JS development techniques are supported.

NativeGlass runs the Android OS and standard Android applications are supported.

Native apps provide the most flexibility for Glassware, but are not yet integrated into the overall Glass experience.

A Glass specific SDK (GDK) will be released by Google in the future.

Three options for Glassware development

Page 10: Google Glassware

GOOGLE GLASSWARE 10

Mirror API.

Page 11: Google Glassware

GOOGLE GLASSWARE 11

Mirror API

Web-based services can use the Mirror API to send and receive content from the user’s Glass.

No code runs on the device, all updates and interactions are mediated by the API.

Google

Glass

Mirror API HTTP (REST)

Glassware

Glass sync.

Page 12: Google Glassware

GOOGLE GLASSWARE 12

Card layouts use HTML and CSS

A selection of recommended card layouts leveraging default CSS.

Page 13: Google Glassware

GOOGLE GLASSWARE 13

What can a card do?

Each card that does not contain a bundle can include options for further interaction.

The following standard actions are available:• Reply

• Reply All

• Delete

• Share

• Read Aloud

• View Website

• Call (voice)

• Navigate

• Pin/Unpin

Additionally, custom actions can be defined.

Card actions menuActions for a card are scrolled through much like a timeline.

Page 14: Google Glassware

GOOGLE GLASSWARE 14

What can the server do?

The Mirror API supports the following interactions between the server application and the Glass user’s timeline:

• Submit cards and bundles to the user's timeline• Attach media to cards• Subscribe to notifications that the user has done something with the card• Get last known location or a list of recent locations• Generate maps formatted for display on Glass (with points and polylines)• Read, edit, delete and add contacts

Page 15: Google Glassware

GOOGLE GLASSWARE 15

Fitbit Glassware Prototype.

Page 16: Google Glassware

GOOGLE GLASSWARE 16

The Fitbit Glassware prototype delivers Fitbit data to the Glass timeline using the Mirror API and Fitbit's public API.

It is designed to help users reach their personal goals with timely, easily accessible microinteractions.

Page 17: Google Glassware

GOOGLE GLASSWARE 17

Video Demohttp://vimeo.com/74146772

Page 18: Google Glassware

GOOGLE GLASSWARE 18

Two types of cards in the video

Dashboard Daily badges

Page 19: Google Glassware

GOOGLE GLASSWARE 19

The dashboard

The dashboard includes key data points and is updated as content is synched to Fitbit (but no more than once an hour).

Users are able to log water consumption using a custom action.

The card can be pinned into the Now section of the timeline for easy access.

Page 20: Google Glassware

GOOGLE GLASSWARE 20

Badge cards

Badges are inserted into the timeline as they are earned.

Two standard actions are included in the card: “Read aloud” and “Share.”

If you share a Badge, the user’s Glass presents contacts registered – by this and other Glassware apps – to receive text content.

Page 21: Google Glassware

GOOGLE GLASSWARE 21

Shared badge card (Google+)

Once a card is shared the receiving Glassware owns the card and updates it to the appropriate format.

Page 22: Google Glassware

GOOGLE GLASSWARE 22

A few technical details.

Page 23: Google Glassware

GOOGLE GLASSWARE 23

Fitbit Glassware architecture

The application is a servlet based Java application running on AppEngine and communicating to the Mirror and Fitbit APIs through REST calls.

Data related to the application is stored in the AppEngine datastore.

Google

Glass

Mirror API HTTP (REST) Glass sync.

Glassware (AppEngine)

Fitbit

HTTP (REST)

Page 24: Google Glassware

GOOGLE GLASSWARE 24

Mirror API Basics

The API is a simple REST based set of services for managing timeline cards for our application.

The API allows us to do CRUD operations on cards and manage their menu items.

Wrappers are available in Java, Python and other languages.

Raw HTTP

Java

Page 25: Google Glassware

GOOGLE GLASSWARE 25

Subscriptions

The API supports subscription to the standard (delete, share, etc.) and custom actions (log water).

User actions cause the Google servers to make an HTTP post to an endpoint in the Glassware server app defined in the subscription.

The post contains information required to identify the user, card and action.

{   "collection":"timeline",   "itemId":"----",   "operation":"UPDATE",   "userToken":"----",   "userActions":[      {         "type":"CUSTOM",         "payload":"drink_water"      }   ]}

JSON object for the custom “drink water” action

Page 26: Google Glassware

GOOGLE GLASSWARE 26

An example, installing and logging water.

• The user installs our glassware• Our app inserts a card (e.g. the dashboard) with actions using

the Mirror API• Our app subscribes to user actions using the Mirror API,

defining an endpoint to receive notifications• User triggers the “log water” action on their Glass device• Google sends a JSON document to our server• Our app updates the user’s Fitbit account • Our app confirms action by updating the dashboard card in

their Glass timeline

Page 27: Google Glassware

GOOGLE GLASSWARE 27

Lessons Learned.

Page 28: Google Glassware

GOOGLE GLASSWARE 28

Take advantage of the update API

Cards within a particular Glassware's collection (cards it inserts or that are shared to it) can be updated.

Updates can be partial or complete. They can add children cards, creating a bundle.

We use a single card for the dashboard, updating it over time.

Page 29: Google Glassware

GOOGLE GLASSWARE 29

All feedback is provided via cards

The only way for an app to give feedback to the user is by inserting a card or updating an existing card.

Installation and other key interactions should be confirmed by inserting new cards or updating existing ones.

The Elle Glassware sends a card to confirm installation before sending any content.

https://www.elleforglass.com/

Page 30: Google Glassware

GOOGLE GLASSWARE 30

The playground facilitates design iteration

Previewing designs in the playground makes iterations easy.

JSON defining the layout is generated and can be copied to application templates.

https://developers.google.com/glass/playground

Page 31: Google Glassware

GOOGLE GLASSWARE 31

The web plays a key role in Glassware

App installation happens online and the process finishes on a page served by the Glassware.

At a minimum, this page should confirm installation and set expectations.

Elle is a good example of how the website can extend the Glassware experience. It includes settings and provides access to content bookmarked while reading cards.

https://www.elleforglass.com/

Page 32: Google Glassware

GOOGLE GLASSWARE 32

Extra.

Page 33: Google Glassware

GOOGLE GLASSWARE 33

What can not be done?

To protect privacy and improve quality, Google will be reviewing applications.

Google’s terms of service restrict what a developer can do with Glassware, most notably (at this time):

• You can’t show ads• You can’t use or resell data collected for ad selling purposes• You can’t charge for Glassware• You can’t use the camera or microphone to recognize anyone

other than the registered Glassware user

Page 34: Google Glassware

GOOGLE GLASSWARE 34

Some Glass FAQs

• Screen size? 640×360 -- equivalent to a 25” TV screen from 8 feet away.• How does it get online? WiFi and via paired Android phone (bluetooth).• How does it text and place calls? via paired Android or iOS phone (bluetooth).• Sensors? Camera, Mic, Light, Proximity, Gyroscope, Magnetometer, and Accelerometer.• Warby Parker partnership? Potentially, according to NYTimes.• Scrolling within a card/screen? In general no. The “Ok Glass” menu does scroll and pages in

the web browser scroll. Cards do not scroll, they paginate.• Augmented Reality? Conventional, real-time AR use-cases are possible within Native apps,

but not the mirror API.• Cost? Currently $1500 (invite only), the media and tech pundits expect it will be less at launch.

Page 35: Google Glassware

GOOGLE GLASSWARE 35

Thank You.