SlideShare a Scribd company logo
1 of 61
Download to read offline
Developing for Google Glass
February 4th 2014
Mark Billinghurst, Gun Lee
HIT Lab NZ
University of Canterbury
The Glass Class – Feb 17th – 21st

  Intensive Glass Course
  See http://arforglass.org/
Overview
 
 
 
 
 
 

Introduction to Glass
Concept Design Non-programmers
Rapid Prototyping Simple programming
Mirror API - Server Development
Native Applications - Java/Android Developers
More Resources
Introduction
Google Glass
View Through Google Glass

Always available peripheral information display
Combining computing, communications and content capture
User Interface

  dfasdf
  Hardware
  CPU TI OMAP 4430 – 1 Ghz
  16 GB SanDisk Flash,1 GB Ram
  570mAh Battery

  Input
  5 mp camera, 720p recording, microphone
  GPS, InvenSense MPU-9150 inertial sensor

  Output
  Bone conducting speaker
  640x360 micro-projector display
User Experience
  Truly Wearable Computing
  Less than 46 ounces

  Hands-free Information Access
  Voice interaction, Ego-vision camera

  Intuitive User Interface
  Touch, Gesture, Speech, Head Motion

  Access to all Google Services
  Map, Search, Location, Messaging, Email, etc
Glassware Applications
  https://glass.google.com/glassware
Concept Design Tools
Glass Sim – http://glasssim.com/

  Simulate the view through Google Glass
  Multiple card templates
Glass UI Templates
  Google Glass PSD Templates
  http://glass-ui.com/
  http://dsky9.com/glassfaq/the-google-glass-psd-template/

  UXPin Wireframing Tool
  http://uxpin.com/
Glass Application Storyboard

  http://dsky9.com/glassfaq/google-glass-storyboardtemplate-download/
Glass Application Flow
Rapid Prototyping
Processing
  Programming tool for Artists/Designers
  http://processing.org
  Easy to code, Free, Open source, Java based
  2D, 3D, audio/video support

  Processing For Android
  http://wiki.processing.org/w/Android
  Generates Glass Ready .apk file
Development Environment
Hello World
//called initially at the start of the Processing sketch!
void setup() {!
size(640, 360);!
background(0);!
} !
!
//called every frame to draw output!
void draw() {!
background(0);!
//draw a white text string showing Hello World!
fill(255);!
text("Hello World", 50, 50);!
}!
Demo
Hello World Image
PImage img; // Create an image variable!
!
void setup() {!
size(640, 360);!
//load the ok glass home screen image!
img = loadImage("okGlass.jpg"); // Load the image into
the program !
}!
!
void draw() {!
// Displays the image at its actual size at point (0,0)!
image(img, 0, 0);!
}!
Demo
Touch Pad Input
  Tap recognized as DPAD input
!void keyPressed() {!
!if (key == CODED){!
!
!if (keyCode == DPAD) {!
!// Do something ..!

  Java code to capture rich motion events
  import android.view.MotionEvent;!
Motion Event
//Glass Touch Events - reads from touch pad!
public boolean dispatchGenericMotionEvent(MotionEvent event) {
!
float x = event.getX(); // get x/y coords !
float y = event.getY();!
int action = event.getActionMasked(); // get code for action
!
!
switch (action) { // let us know which action code shows up
!
!case MotionEvent.ACTION_DOWN:!
!
!touchEvent = "DOWN";!
!
!fingerTouch = 1;!
!break; !
!case MotionEvent.ACTION_MOVE:!
!
!touchEvent = "MOVE";!
!
!xpos = myScreenWidth-x*touchPadScaleX;!
!
!ypos = y*touchPadScaleY;!
!break;!
Demo
Sensors
  Ketai Library for Processing
  https://code.google.com/p/ketai/

  Support all phone sensors
  GPS, Compass, Light, Camera, etc

  Include Ketai Library
  import ketai.sensors.*;!
  KetaiSensor sensor;!
Using Sensors
  Setup in Setup( ) function
  sensor = new KetaiSensor(this);!
  sensor.start();!
  sensor.list();

  Event based sensor reading
void onAccelerometerEvent(…)!
{!
accelerometer.set(x, y, z);!
}!
Sensor Demo
Other Tools
  App Inventor – visual programming for Android
  http://appinventor.mit.edu/

  Phone Gap – Android Apps using Javascript
  http://phonegap.com/

  Phone Gap for Glass
  https://github.com/brendajin/googleglass-phonegap-example

  WearScript
  Using Javascript/HTML to develop Glass Applications
  http://www.wearscript.com/
Mirror API + Glass GDK
Timeline Metaphor
Glassware and Timeline
Glassware and Timeline
	
  Static Cards
  Static content with text, HTML, images, and (link to) video.
  e.g. notification messages, news clip

  Live Cards
  Dynamic content updated frequently.
  e.g. compass, timer

  Immersions
  Takes over the whole control, out from timeline.
  e.g. interactive game
Glassware Development
	
  Mirror API
  Server programming, online/web application
  Static cards / timeline management

  GDK
  Android programming, Java (+ C/C++)
  Live cards & Immersions

  https://developers.google.com/glass/
Mirror API
  REST API
  Java servlet, PHP, Go,
Python, Ruby, .NET

  Timeline based apps
  Static cards
-  Text, HTML, media attachment (image & video)
-  Standard and custom menu items

  Manage timeline
-  Subscribe to timeline notifications
-  Sharing with contacts
-  Location based services
Mirror API based Web App
	
Glassware Web app	

3. Insert a static card	

User sees the card
Develop with Mirror API
	
  Create a Google APIs Console project
  Prepare a web server
  https callback for OAuth 2.0
  Minimum storage for credentials

  Create a web application
  Java servlet, PHP, Go, Python, Ruby, .NET
  Implement Oauth 2.0 authentication
  Use Mirror API to make REST API calls
-  Wrapper classes/methods provided
Example
Example
Example
Example
Example
	
On your Glass
GDK

  Glass Development Kit
  Android 4.0.3 ICS + Glass specific APIs
  Use standard Android Development Tools
GDK

  GDK add-on features
  Timeline and cards
  Menu and UI
  Touch pad and gesture
  Media (sound, camera and voice input)
Live Cards vs. Immersions
	
  Live cards display frequently updated
information to the left of the Glass clock.
  Integrate rich content into the timeline
  Simple text/images to full-blown 3D graphics

  Immersions let you build a user
experience outside of the timeline.
  Build interactive experiences
  Extra control, less user input constraints
Live Cards vs. Immersions
Live Cards
Immersions
Develop with GDK
	
  Android 4.0.3 (API 15) SDK and GDK Sneak
Peek from the Android SDK Manager.
  Project settings:
  Minimum and Target SDK Versions: 15
  Compile with: GDK Sneak Peek
  Theme: None (allows the Glass theme to be applied.)

  GDK samples
  File > New Project > Android Sample Project

  On Glass, turn on USB debugging
  Settings > Device Info > Turn on debug
Example
	
  Android App with a full-screen Activity
  Add Voice Trigger to launch
  Handle touch input
  Manipulating timeline
Example
	
  Add Voice Trigger to launch
  Add intent filter to AndroidManifest.xml
Example
	
  Add Voice Trigger to launch (continued)
  Add xml/voice_trigger.xml to res folder

  Add voice_trigger_title string resource
Example
	
  Handle touch input
Example
	
  Adding static cards to timeline
Summary
	
  Use Mirror API if you need ...

  Use GDK if you need ...

  Or use both
Resources
  Main Developer Website
  https://developers.google.com/glass/

  Glass Apps Developer Site
  http://glass-apps.org/glass-developer

  Google Glass Emulator
  http://glass-apps.org/google-glass-emulator

  AR for Glass Website
  http://www.arforglass.org/
Books
  Programming Google Glass
  Eric Redmond

  Rapid Android Development:
Build Rich, Sensor-Based
Applications with Processing
  Daniel Sauter
More Information
	
  Mark Billinghurst
  mark.billinghurst@hitlabnz.org

  Gun Lee
  gun.lee@hitlabnz.org

More Related Content

What's hot

Google glass glasses presentation ppt
Google glass glasses presentation pptGoogle glass glasses presentation ppt
Google glass glasses presentation pptParth Godhani
 
Google Glass Seminar PPT
Google Glass Seminar PPTGoogle Glass Seminar PPT
Google Glass Seminar PPTShashank Naik
 
Google glass, A new innovation leading to new technology
Google glass, A new innovation leading to new technology Google glass, A new innovation leading to new technology
Google glass, A new innovation leading to new technology Ekta Agrawal
 
google glass,latest technology,btech seminar topic
google glass,latest technology,btech seminar topicgoogle glass,latest technology,btech seminar topic
google glass,latest technology,btech seminar topicShubham Gupta
 
Seminar on google glass
Seminar on google glassSeminar on google glass
Seminar on google glassAnju Merin
 
Google glass seminar presentation
Google glass seminar presentationGoogle glass seminar presentation
Google glass seminar presentationAparna Nk
 
google project glass technology
google project glass technologygoogle project glass technology
google project glass technologymahesh b
 
Google glass abstract
Google glass abstractGoogle glass abstract
Google glass abstractteza123
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass pptRaju kumar
 
Project glass ieee document
Project glass ieee documentProject glass ieee document
Project glass ieee documentbhavyakishore
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass pptTheGreatLeo
 
Google Glass: A Futuristic Fashion Failure Gadget
Google Glass: A Futuristic Fashion Failure  GadgetGoogle Glass: A Futuristic Fashion Failure  Gadget
Google Glass: A Futuristic Fashion Failure GadgetMd. Salim Reza Jony
 
GOOGLE GLASS: See the FUTURE
GOOGLE GLASS: See the FUTUREGOOGLE GLASS: See the FUTURE
GOOGLE GLASS: See the FUTUREKANISHK
 

What's hot (20)

Google glass.
Google glass.Google glass.
Google glass.
 
Google glass glasses presentation ppt
Google glass glasses presentation pptGoogle glass glasses presentation ppt
Google glass glasses presentation ppt
 
Google Glass Seminar PPT
Google Glass Seminar PPTGoogle Glass Seminar PPT
Google Glass Seminar PPT
 
Google glass, A new innovation leading to new technology
Google glass, A new innovation leading to new technology Google glass, A new innovation leading to new technology
Google glass, A new innovation leading to new technology
 
google glass,latest technology,btech seminar topic
google glass,latest technology,btech seminar topicgoogle glass,latest technology,btech seminar topic
google glass,latest technology,btech seminar topic
 
Seminar on google glass
Seminar on google glassSeminar on google glass
Seminar on google glass
 
Google glass seminar presentation
Google glass seminar presentationGoogle glass seminar presentation
Google glass seminar presentation
 
google project glass technology
google project glass technologygoogle project glass technology
google project glass technology
 
GOOGLE GLASS
GOOGLE GLASSGOOGLE GLASS
GOOGLE GLASS
 
Google Glasses PPT
Google Glasses PPTGoogle Glasses PPT
Google Glasses PPT
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass ppt
 
Google glass abstract
Google glass abstractGoogle glass abstract
Google glass abstract
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass ppt
 
Project glass ieee document
Project glass ieee documentProject glass ieee document
Project glass ieee document
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass ppt
 
Google Glass: A Futuristic Fashion Failure Gadget
Google Glass: A Futuristic Fashion Failure  GadgetGoogle Glass: A Futuristic Fashion Failure  Gadget
Google Glass: A Futuristic Fashion Failure Gadget
 
Google Glass
Google GlassGoogle Glass
Google Glass
 
GOOGLE GLASS: See the FUTURE
GOOGLE GLASS: See the FUTUREGOOGLE GLASS: See the FUTURE
GOOGLE GLASS: See the FUTURE
 
Google Glass
Google GlassGoogle Glass
Google Glass
 
Google glass
Google glassGoogle glass
Google glass
 

Viewers also liked

Google Glass and its Features
Google Glass and its FeaturesGoogle Glass and its Features
Google Glass and its FeaturesRishikese MR
 
MOT Hands-on Training Workshops
MOT Hands-on Training WorkshopsMOT Hands-on Training Workshops
MOT Hands-on Training Workshopscparksbi
 
Medical marketing Workshop 17 Maggio 2012-
Medical marketing  Workshop 17 Maggio 2012-Medical marketing  Workshop 17 Maggio 2012-
Medical marketing Workshop 17 Maggio 2012-Merqurio
 
Cátedra sobre emprendimiento y discapacidad.
Cátedra sobre emprendimiento y discapacidad.Cátedra sobre emprendimiento y discapacidad.
Cátedra sobre emprendimiento y discapacidad.José María
 
Ejemplo de trabajo Colaborativo
Ejemplo de trabajo Colaborativo Ejemplo de trabajo Colaborativo
Ejemplo de trabajo Colaborativo gracielalf
 
Twilio con2012 v2
Twilio con2012 v2Twilio con2012 v2
Twilio con2012 v2malmckay
 
Seminarflyer wissensmanagement mit share point
Seminarflyer wissensmanagement mit share pointSeminarflyer wissensmanagement mit share point
Seminarflyer wissensmanagement mit share pointIPI GmbH
 
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und Seleção
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und SeleçãoKommunikation und PR in Brasilien: Mehr als Rio, Samba und Seleção
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und SeleçãoMSL Germany
 
Pepperandsalt 2011 Image Brochure
Pepperandsalt  2011 Image BrochurePepperandsalt  2011 Image Brochure
Pepperandsalt 2011 Image BrochureSteven Palmaers
 
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkDönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkZaliha Terk
 
Nscc230 lean6 cbt training_printedmaterials r4
Nscc230 lean6 cbt training_printedmaterials r4Nscc230 lean6 cbt training_printedmaterials r4
Nscc230 lean6 cbt training_printedmaterials r4Tori Wolf, CMP
 
Chaves seccionadoras ABB sem base fusível - OT16...3150 A
Chaves seccionadoras ABB sem base fusível - OT16...3150 AChaves seccionadoras ABB sem base fusível - OT16...3150 A
Chaves seccionadoras ABB sem base fusível - OT16...3150 Asafetycontrol
 
Historia de la banca en honduras
Historia de la banca en honduras Historia de la banca en honduras
Historia de la banca en honduras Eduardo Sosa
 

Viewers also liked (20)

Google Glass
Google GlassGoogle Glass
Google Glass
 
google glass
google glassgoogle glass
google glass
 
Google Glass and its Features
Google Glass and its FeaturesGoogle Glass and its Features
Google Glass and its Features
 
MOT Hands-on Training Workshops
MOT Hands-on Training WorkshopsMOT Hands-on Training Workshops
MOT Hands-on Training Workshops
 
Medical marketing Workshop 17 Maggio 2012-
Medical marketing  Workshop 17 Maggio 2012-Medical marketing  Workshop 17 Maggio 2012-
Medical marketing Workshop 17 Maggio 2012-
 
Cátedra sobre emprendimiento y discapacidad.
Cátedra sobre emprendimiento y discapacidad.Cátedra sobre emprendimiento y discapacidad.
Cátedra sobre emprendimiento y discapacidad.
 
Happy birthday ate Jac! =)
Happy birthday ate Jac! =)Happy birthday ate Jac! =)
Happy birthday ate Jac! =)
 
Mays 2
Mays 2Mays 2
Mays 2
 
Ejemplo de trabajo Colaborativo
Ejemplo de trabajo Colaborativo Ejemplo de trabajo Colaborativo
Ejemplo de trabajo Colaborativo
 
Twilio con2012 v2
Twilio con2012 v2Twilio con2012 v2
Twilio con2012 v2
 
Guia practica apafev_ac
Guia practica apafev_acGuia practica apafev_ac
Guia practica apafev_ac
 
Seminarflyer wissensmanagement mit share point
Seminarflyer wissensmanagement mit share pointSeminarflyer wissensmanagement mit share point
Seminarflyer wissensmanagement mit share point
 
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und Seleção
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und SeleçãoKommunikation und PR in Brasilien: Mehr als Rio, Samba und Seleção
Kommunikation und PR in Brasilien: Mehr als Rio, Samba und Seleção
 
Hp 2100
Hp 2100Hp 2100
Hp 2100
 
Pepperandsalt 2011 Image Brochure
Pepperandsalt  2011 Image BrochurePepperandsalt  2011 Image Brochure
Pepperandsalt 2011 Image Brochure
 
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha TerkDönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
Dönüşüm Optimizasyonu Uygulamaları ve Growth Hacking - Zaliha Terk
 
Nscc230 lean6 cbt training_printedmaterials r4
Nscc230 lean6 cbt training_printedmaterials r4Nscc230 lean6 cbt training_printedmaterials r4
Nscc230 lean6 cbt training_printedmaterials r4
 
Chaves seccionadoras ABB sem base fusível - OT16...3150 A
Chaves seccionadoras ABB sem base fusível - OT16...3150 AChaves seccionadoras ABB sem base fusível - OT16...3150 A
Chaves seccionadoras ABB sem base fusível - OT16...3150 A
 
Historia de la banca en honduras
Historia de la banca en honduras Historia de la banca en honduras
Historia de la banca en honduras
 
Presentación Proempleo xalapa
Presentación Proempleo xalapaPresentación Proempleo xalapa
Presentación Proempleo xalapa
 

Similar to Developing for Google Glass

The Glass Class - Tutorial1 - Introduction to Glassware Development
The Glass Class - Tutorial1 - Introduction to Glassware DevelopmentThe Glass Class - Tutorial1 - Introduction to Glassware Development
The Glass Class - Tutorial1 - Introduction to Glassware DevelopmentGun Lee
 
Google Glasses Integration with SAP
Google Glasses Integration with SAPGoogle Glasses Integration with SAP
Google Glasses Integration with SAPGh14Cc10
 
The Glass Class: Rapid Prototyping for Wearable Computers
The Glass Class: Rapid Prototyping for Wearable ComputersThe Glass Class: Rapid Prototyping for Wearable Computers
The Glass Class: Rapid Prototyping for Wearable ComputersMark Billinghurst
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Oswald Campesato
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User ExperienceMahbubur Rahman
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Starting Native Development on Google Glass
Starting Native Development on Google GlassStarting Native Development on Google Glass
Starting Native Development on Google GlassLance Nanek
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumAxway Appcelerator
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAJeff Haynie
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 
Android Development Overview
Android Development OverviewAndroid Development Overview
Android Development OverviewIgor Birman
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKGun Lee
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklum Ukraine
 

Similar to Developing for Google Glass (20)

The Glass Class - Tutorial1 - Introduction to Glassware Development
The Glass Class - Tutorial1 - Introduction to Glassware DevelopmentThe Glass Class - Tutorial1 - Introduction to Glassware Development
The Glass Class - Tutorial1 - Introduction to Glassware Development
 
Google Glasses Integration with SAP
Google Glasses Integration with SAPGoogle Glasses Integration with SAP
Google Glasses Integration with SAP
 
The Glass Class: Rapid Prototyping for Wearable Computers
The Glass Class: Rapid Prototyping for Wearable ComputersThe Glass Class: Rapid Prototyping for Wearable Computers
The Glass Class: Rapid Prototyping for Wearable Computers
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Starting Native Development on Google Glass
Starting Native Development on Google GlassStarting Native Development on Google Glass
Starting Native Development on Google Glass
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
CV - Jaspreet Singh
CV - Jaspreet SinghCV - Jaspreet Singh
CV - Jaspreet Singh
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android Development Overview
Android Development OverviewAndroid Development Overview
Android Development Overview
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDK
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
 

More from Mark Billinghurst

Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented RealityMark Billinghurst
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesMark Billinghurst
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseMark Billinghurst
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationMark Billinghurst
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseMark Billinghurst
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VRMark Billinghurst
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR SystemsMark Billinghurst
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR PrototypingMark Billinghurst
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR InteractionMark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR TechnologyMark Billinghurst
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: PerceptionMark Billinghurst
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XRMark Billinghurst
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsMark Billinghurst
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseMark Billinghurst
 
Research Directions in Transitional Interfaces
Research Directions in Transitional InterfacesResearch Directions in Transitional Interfaces
Research Directions in Transitional InterfacesMark Billinghurst
 
Comp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsComp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsMark Billinghurst
 

More from Mark Billinghurst (20)

Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented Reality
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the Metaverse
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader Metaverse
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
ISS2022 Keynote
ISS2022 KeynoteISS2022 Keynote
ISS2022 Keynote
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR Systems
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive Analytics
 
Metaverse Learning
Metaverse LearningMetaverse Learning
Metaverse Learning
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole Metaverse
 
Research Directions in Transitional Interfaces
Research Directions in Transitional InterfacesResearch Directions in Transitional Interfaces
Research Directions in Transitional Interfaces
 
Comp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsComp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research Directions
 

Recently uploaded

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Developing for Google Glass

  • 1. Developing for Google Glass February 4th 2014 Mark Billinghurst, Gun Lee HIT Lab NZ University of Canterbury
  • 2. The Glass Class – Feb 17th – 21st   Intensive Glass Course   See http://arforglass.org/
  • 3. Overview             Introduction to Glass Concept Design Non-programmers Rapid Prototyping Simple programming Mirror API - Server Development Native Applications - Java/Android Developers More Resources
  • 6.
  • 7.
  • 8. View Through Google Glass Always available peripheral information display Combining computing, communications and content capture
  • 10.   Hardware   CPU TI OMAP 4430 – 1 Ghz   16 GB SanDisk Flash,1 GB Ram   570mAh Battery   Input   5 mp camera, 720p recording, microphone   GPS, InvenSense MPU-9150 inertial sensor   Output   Bone conducting speaker   640x360 micro-projector display
  • 11. User Experience   Truly Wearable Computing   Less than 46 ounces   Hands-free Information Access   Voice interaction, Ego-vision camera   Intuitive User Interface   Touch, Gesture, Speech, Head Motion   Access to all Google Services   Map, Search, Location, Messaging, Email, etc
  • 14. Glass Sim – http://glasssim.com/   Simulate the view through Google Glass   Multiple card templates
  • 15. Glass UI Templates   Google Glass PSD Templates   http://glass-ui.com/   http://dsky9.com/glassfaq/the-google-glass-psd-template/   UXPin Wireframing Tool   http://uxpin.com/
  • 16. Glass Application Storyboard   http://dsky9.com/glassfaq/google-glass-storyboardtemplate-download/
  • 19. Processing   Programming tool for Artists/Designers   http://processing.org   Easy to code, Free, Open source, Java based   2D, 3D, audio/video support   Processing For Android   http://wiki.processing.org/w/Android   Generates Glass Ready .apk file
  • 20.
  • 22. Hello World //called initially at the start of the Processing sketch! void setup() {! size(640, 360);! background(0);! } ! ! //called every frame to draw output! void draw() {! background(0);! //draw a white text string showing Hello World! fill(255);! text("Hello World", 50, 50);! }!
  • 23. Demo
  • 24. Hello World Image PImage img; // Create an image variable! ! void setup() {! size(640, 360);! //load the ok glass home screen image! img = loadImage("okGlass.jpg"); // Load the image into the program ! }! ! void draw() {! // Displays the image at its actual size at point (0,0)! image(img, 0, 0);! }!
  • 25. Demo
  • 26. Touch Pad Input   Tap recognized as DPAD input !void keyPressed() {! !if (key == CODED){! ! !if (keyCode == DPAD) {! !// Do something ..!   Java code to capture rich motion events   import android.view.MotionEvent;!
  • 27. Motion Event //Glass Touch Events - reads from touch pad! public boolean dispatchGenericMotionEvent(MotionEvent event) { ! float x = event.getX(); // get x/y coords ! float y = event.getY();! int action = event.getActionMasked(); // get code for action ! ! switch (action) { // let us know which action code shows up ! !case MotionEvent.ACTION_DOWN:! ! !touchEvent = "DOWN";! ! !fingerTouch = 1;! !break; ! !case MotionEvent.ACTION_MOVE:! ! !touchEvent = "MOVE";! ! !xpos = myScreenWidth-x*touchPadScaleX;! ! !ypos = y*touchPadScaleY;! !break;!
  • 28. Demo
  • 29. Sensors   Ketai Library for Processing   https://code.google.com/p/ketai/   Support all phone sensors   GPS, Compass, Light, Camera, etc   Include Ketai Library   import ketai.sensors.*;!   KetaiSensor sensor;!
  • 30. Using Sensors   Setup in Setup( ) function   sensor = new KetaiSensor(this);!   sensor.start();!   sensor.list();   Event based sensor reading void onAccelerometerEvent(…)! {! accelerometer.set(x, y, z);! }!
  • 32. Other Tools   App Inventor – visual programming for Android   http://appinventor.mit.edu/   Phone Gap – Android Apps using Javascript   http://phonegap.com/   Phone Gap for Glass   https://github.com/brendajin/googleglass-phonegap-example   WearScript   Using Javascript/HTML to develop Glass Applications   http://www.wearscript.com/
  • 33. Mirror API + Glass GDK
  • 36. Glassware and Timeline   Static Cards   Static content with text, HTML, images, and (link to) video.   e.g. notification messages, news clip   Live Cards   Dynamic content updated frequently.   e.g. compass, timer   Immersions   Takes over the whole control, out from timeline.   e.g. interactive game
  • 37. Glassware Development   Mirror API   Server programming, online/web application   Static cards / timeline management   GDK   Android programming, Java (+ C/C++)   Live cards & Immersions   https://developers.google.com/glass/
  • 38. Mirror API   REST API   Java servlet, PHP, Go, Python, Ruby, .NET   Timeline based apps   Static cards -  Text, HTML, media attachment (image & video) -  Standard and custom menu items   Manage timeline -  Subscribe to timeline notifications -  Sharing with contacts -  Location based services
  • 39. Mirror API based Web App Glassware Web app 3. Insert a static card User sees the card
  • 40. Develop with Mirror API   Create a Google APIs Console project   Prepare a web server   https callback for OAuth 2.0   Minimum storage for credentials   Create a web application   Java servlet, PHP, Go, Python, Ruby, .NET   Implement Oauth 2.0 authentication   Use Mirror API to make REST API calls -  Wrapper classes/methods provided
  • 46. GDK   Glass Development Kit   Android 4.0.3 ICS + Glass specific APIs   Use standard Android Development Tools
  • 47. GDK   GDK add-on features   Timeline and cards   Menu and UI   Touch pad and gesture   Media (sound, camera and voice input)
  • 48. Live Cards vs. Immersions   Live cards display frequently updated information to the left of the Glass clock.   Integrate rich content into the timeline   Simple text/images to full-blown 3D graphics   Immersions let you build a user experience outside of the timeline.   Build interactive experiences   Extra control, less user input constraints
  • 49. Live Cards vs. Immersions
  • 52. Develop with GDK   Android 4.0.3 (API 15) SDK and GDK Sneak Peek from the Android SDK Manager.   Project settings:   Minimum and Target SDK Versions: 15   Compile with: GDK Sneak Peek   Theme: None (allows the Glass theme to be applied.)   GDK samples   File > New Project > Android Sample Project   On Glass, turn on USB debugging   Settings > Device Info > Turn on debug
  • 53. Example   Android App with a full-screen Activity   Add Voice Trigger to launch   Handle touch input   Manipulating timeline
  • 54. Example   Add Voice Trigger to launch   Add intent filter to AndroidManifest.xml
  • 55. Example   Add Voice Trigger to launch (continued)   Add xml/voice_trigger.xml to res folder   Add voice_trigger_title string resource
  • 57. Example   Adding static cards to timeline
  • 58. Summary   Use Mirror API if you need ...   Use GDK if you need ...   Or use both
  • 59. Resources   Main Developer Website   https://developers.google.com/glass/   Glass Apps Developer Site   http://glass-apps.org/glass-developer   Google Glass Emulator   http://glass-apps.org/google-glass-emulator   AR for Glass Website   http://www.arforglass.org/
  • 60. Books   Programming Google Glass   Eric Redmond   Rapid Android Development: Build Rich, Sensor-Based Applications with Processing   Daniel Sauter
  • 61. More Information   Mark Billinghurst   mark.billinghurst@hitlabnz.org   Gun Lee   gun.lee@hitlabnz.org