SlideShare a Scribd company logo
1 of 320
Download to read offline
The Glass Class
Designing Wearable Interfaces
May 27th, AWE 2014
Mark Billinghurst
HIT Lab NZ
University of Canterbury
mark.billinghurst@canterbury.ac.nz
Rob Lindeman
VIVE Lab
Worcester Polytechnic Institute
gogo@wpi.edu
1: Introduction
Mark Billinghurst
▪  Director of HIT Lab NZ, University
of Canterbury
▪  PhD Univ. Washington
▪  Research on AR, mobile HCI,
Collaborative Interfaces
▪  More than 250 papers in AR, VR,
interface design
▪  Sabbatical in Glass team at
Google [x] in 2013
Rob Lindeman
▪  Director of HIVE Lab, Worcester
Polytechnic Instiute
▪  PhD The George Washington Univ.
▪  Research on 3DUI, VR, Gaming,
HRI since 1993
▪  Been wearing Glass non-stop
(mostly, anayway) since Sept. 2013
▪  Sabbatical at HIT Lab NZ in 2011-12
▪  Program Co-Chair, ISMAR 2014
▪  Love geocaching, soccer, skiing
How do you Design for this?
Course Goals
In this course you will learn
▪  Introduction to head mounted wearable computers
▪  Understanding of current wearable technology
▪  Key design principles/interface metaphors
▪  Relevant human cognition/perception principles
▪  Rapid prototyping tools
▪  Overview of native coding/application development
▪  Areas for future research
▪  Hands on experience with the technology
What You Won’t Learn
▪  Who are the companies/universities in this space
▪  See the AWE exhibit floor
▪  Designing for non-HMD based interfaces
▪  Watches, fitness bands, etc
▪  How to develop wearable hardware
▪  optics, sensor assembly, etc
▪  Evaluation methods
▪  Experimental design, statistics, etc
Schedule
1:30 1. Introduction (Mark + Rob)
1:35 2. History and Technology (Mark)
1:55 3. User Experience and Design Principles (Mark)
2:15 4. Prototyping Tools (Mark)
2:50 Break/Demo
3:15 5. Native Programming (Rob)
4:00 6. Application Case studies (Det)
4:30 7. Technical Q & A (Everyone)
5:00 8. Research Directions (Mark + Rob)
5:30 Finish
Display Demos You Can Try
Google Glass Display
Glass UI, AR demos, Games, multimedia capture
Vuzix M-100 Display
Monocular display
Epson BT-100, Epson BT-200
See through displays
AR Rift
Occulus Rift for AR
Recon Snow
Micro-display integrated into ski goggles
More at the AWE Exhibits
2: History and Technology
A Brief History of Time
▪  Trend
▪  smaller, cheaper, more functions, more intimate
▪  Time pieces moved from public space onto the body
18th Century
20th Century
13th Century
A Brief History of Computing
Trend
▪  Smaller, cheaper, faster, more intimate
▪  Moving from fixed to handheld and onto body
1950’s
1980’s
1990’s
Room Desk Lap Hand Head
What is a Wearable Computer ?
▪  A computer that is:
▪  Portable while operational
▪  Enables hands-free/hands-limited use
▪  Able to get the user’s attention
▪  Is always on, acting on behalf of the user
▪  Able to sense the user’s current context
Rhodes, B. J. (1997). The wearable remembrance agent: A system for
augmented memory. Personal Technologies, 1(4), 218-224.
In Other Words ..
▪  A computer that is ..
▪  Eudaemonic: User considers it part of him/herself
▪  Existential: User has complete control of the system
▪  Ephemeral: System always operating at some level
Mann, S. (1997). Wearable computing: A first step toward personal
imaging. Computer, 30(2), 25-32.
Wearable Computing
▪  Computer on the body that is:
▪  Always on
▪  Always accessible
▪  Always connected
▪  Other attributes
▪  Augmenting user actions
▪  Aware of user and surroundings
The Ideal Wearable
▪  Persists and Provides Constant Access: Designed
for everyday and continuous user over a lifetime.
▪  Senses and Models Context: Observes and models
the users environment, mental state, it’s own state.
▪  Augments and Mediates: Information support for
the user in both the physical and virtual realities.
▪  Interacts Seamlessly: Adapts its input and output
modalities to those most appropriate at the time.
Starner, T. E. (1999). Wearable computing and contextual awareness
(Doctoral dissertation, Massachusetts Institute of Technology).
Wearable Attributes
▪  fafds
Augmented Interaction
Rekimoto, J., & Nagao, K. (1995, December). The world through the computer:
Computer augmented interaction with real world environments. In Proceedings of the
8th annual ACM symposium on User interface and software technology (pp. 29-36).
● Mixed Reality Continuum
Milgram, P., & Kishino, F. (1994). A taxonomy of mixed reality visual displays.
IEICE TRANSACTIONS on Information and Systems, 77(12), 1321-1329.
● Mediated Reality
▪ adsfas
Mann, S., & Nnlf, S. M. (1994). Mediated reality.
● Augmediated Reality (Mann)
▪ sdfa
History of Wearables
▪  1960-90: Early Exploration
▪  Custom build devices
▪  1990 - 2000: Academic, Military Research
▪  MIT, CMU, Georgia Tech, EPFL, etc
▪  1997: ISWC conference starts
▪  1995 – 2005+: First Commercial Uses
▪  Niche industry applications, Military
▪  2010 - : Second Wave of Wearables
▪  Consumer applications, Head Worn
Thorp and Shannon (1961)
▪  Wearable timing device for roulette prediction
▪  Audio feedback, four button input
Ed Thorp
Thorp, E. O. (1998, October). The invention of the first wearable computer. In
Wearable Computers, 1998. Second International Symposium on (pp. 4-8). IEEE.
Keith Taft (1972)
▪  Wearable computer for blackjack card
counting
▪  Toe input, LED in Glasses for feedback
Belt computer Shoe Input Glasses Display
Steve Mann (1980s - )
http://wearcomp.org/
MIT Wearable Computing (1993-)
http://www.media.mit.edu/wearables/
Enabling Technologies (1989+)
▪  Private Eye Display (Reflection Technologies)
▪  720 x 280 dipslay
▪  Red LED
▪  Vibrating mirror
▪  Twiddler (Handykey)
▪  Chording keypad
▪  Mouse emulation
MIT Tin Lizzy (1993)
▪  General Purpose Wearable
▪  Doug Platt, Thad Starner
▪  150 MHz Pentium CPU
▪  32-64 Mb RAM
▪  6 Gb hard disk
▪  VGA display
▪  2 PCMCIA slots
▪  Cellular modem
http://www.media.mit.edu/wearables/lizzy/lizzy/index.html
Thad Starner 1998
Early Wearable Computing
Early Technology
▪  Computing
▪  Belt or Backpack
▪  Displays
▪  Head Mounted, LCD Panel, Audio
▪  Input Devices
▪  Chording Keyboard, Speech, Camera
▪  Networking
▪  Wireless LAN, Infra-Red, Cellular
US Military Wearables (1989- )
▪  Early experimentation
▪  386 computer, VGA display
▪  GPS, mapping software
▪  Land Warrior (1991-)
▪  Integrated wearable system
▪  Camera, colour display, radio
▪  Navigation, reports, photos
Zieniewicz, M. J., Johnson, D. C., Wong, C., & Flatt, J. D. (2002). The evolution of
army wearable computers. IEEE Pervasive Computing, 1(4), 30-40.
CMU Wearables (1991–2000)
▪  Industry focused wearables
▪  Maintenance, repair
▪  Custom designed interface
▪  Dial/button input
▪  Rapid prototyping approach
▪  Industrial designed, ergonomic
http://www.cs.cmu.edu/afs/cs/project/vuman/www/frontpage.html
Early Commercial Systems
▪  Xybernaut (1996 - 2007)
▪  Belt worn, HMD, 200 MHz
▪  ViA (1996 – 2001)
▪  Belt worn, Audio Interface
▪  700 MHz Crusoe
■  Symbol (1998 – 2006)
■  Wrist worn computer
■  Finger scanner
Prototype Applications
▪  Remembrance Agent
▪  Rhodes (97)
▪  Augmented Reality
▪  Feiner (97), Thomas (98)
▪  Remote Collaboration
▪  Garner (97), Kraut (96)
■  Maintenance
■  Feiner (93), Caudell (92)
▪  Factory Work
▪  Thompson (97)
Mobile AR: Touring Machine (1997)
▪  University of Columbia
▪  Feiner, MacIntyre, Höllerer, Webster
▪  Combines
▪  See through head mounted display
▪  GPS tracking
▪  Orientation sensor
▪  Backpack PC (custom)
▪  Tablet input
Feiner, S., MacIntyre, B., Höllerer, T., & Webster, A. (1997). A touring machine: Prototyping 3D mobile
augmented reality systems for exploring the urban environment. Personal Technologies, 1(4), 208-217.
MARS View
▪  Virtual tags overlaid on the real world
▪  “Information in place”
Backpack/Wearable Systems
1997 Backpack Wearables
▪  Feiner’s Touring Machine
▪  AR Quake (Thomas)
▪  Tinmith (Piekarski)
▪  MCAR (Reitmayr)
▪  Bulky, HMD based
Piekarski, W., & Thomas, B. (2002). ARQuake: the outdoor
augmented reality gaming system. Communications of the
ACM, 45(1), 36-38.
PCI 3D Graphics Board
Hard Drive
Serial
Ports
CPU
PC104 Sound Card
PC104 PCMCIA
GPS
Antenna
RTK correction Antenna
HMD
Controller
Tracker
Controller
DC to DC
Converter
Battery
Wearable
Computer
GPS RTK
correction
Radio
Example self-built working
solution with PCI-based 3D graphics
Columbia Touring Machine
Mobile AR - Hardware
HIT Lab NZ Wearable AR (2004)
▪  Highly accurate outdoor AR
tracking system
▪  GPS, Inertial, RTK system
▪  HMD
▪  First prototype
▪  Laptop based
▪  Video see-through HMD
▪  2-3 cm tracking accuracy
2008: Location Aware Phones
Nokia NavigatorMotorola Droid
2009 - Layar (www.layar.com)
•  Location based data
– GPS + compass location
– Map + camera view
•  AR Layers on real world
– Customized data
– Audio, 3D, 2D content
•  Easy authoring
•  Android, iPhone
Wearable Evolution
Backpack+HMD:
…10+ kg
Handheld + HMD
… Separate sensors
.... UMPC 1.1GHz
…1.5kg
…still >$5K
Scale it down more:
Smartphone…$500
…Integrated
…0.1kg
…billions of units
1997 2003 2007
Google Glass (2011 - )
▪  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
Google Glass Specs
Other Wearables
▪  Vuzix M-100
▪  $999, professional
▪  Recon Jet
▪  $600, more sensors, sports
▪  Opinvent
▪  500 Euro, multi-view mode
▪  Motorola Golden-i
▪  Rugged, remote assistance
Ex: Recon Instruments Snow
Ski display/computer
▪  Location, speed, altitude, phone headset
http://www.reconinstruments.com/
Projected Market
● Wearables Market Size
dsfh
● Samsung Galaxy Gear
▪ Watch based wearable
● Nike Fuelband
▪ Activity/sleep tracking
Summary
Wearables are a new class of computing
Intimate, persistent, aware, accessible, connected
Evolution over 50 year history
Backpack to head worn
Custom developed to consumer ready device
Enables new applications
Collaboration, memory, AR, industry, etc
Many head worn wearables are coming
Android based, sensor package, micro-display
Wearable Technologies
Wearable System
Display Technologies
Key Properties of HMD
▪  Field of View
▪  Human eye 95 deg. H, 60/70 deg. V
▪  Resolution
▪  > 320x240 pixel
▪  Refresh Rate
▪  Focus
▪  Fixed/manual
▪  Size, Weight
▪  < 350g for long term
▪  Power
Types of Head Mounted
Displays
Occluded
See-thru
Multiplexed
Optical see-through HMD
Virtual images
from monitors
Real
World
Optical
Combiners
Optical See-Through HMD
Epson Moverio BT-200
▪  Stereo see-through display ($700)
▪  960 x 540 pixels, 23 degree FOV, 60Hz, 88g
▪  Android Powered, separate controller
▪  VGA camera, GPS, gyro, accelerometer
Strengths of optical see-through
▪  Simpler (cheaper)
▪  Direct view of real world
▪  Full resolution, no time delay (for real world)
▪  Safety
▪  Lower distortion
▪  No eye displacement
▪  see directly through display
Video see-through HMD
Video
cameras
Monitors
Graphics
Combiner
Video
Video See-Through HMD
Vuzix Wrap 1200DXAR
▪  Stereo video see-through display ($1500)
■ Twin 852 x 480 LCD displays, 35 deg. FOV
■ Stereo VGA cameras
■ 3 DOF head tracking
Strengths of Video See-Through
▪  True occlusion
▪  Block image of real world
▪  Digitized image of real world
▪  Flexibility in composition
▪  Matchable time delays
▪  More registration, calibration strategies
▪  Wide FOV is easier to support
▪  wide FOV camera
Multiplexed Displays
▪  Above or below line of sight
▪  Strengths
▪  User has unobstructed view of real world
▪  Simple optics/cheap
▪  Weaknesses
▪  Direct information overlay difficult
•  Display/camera offset from eyeline
▪  Wide FOV difficult
Vuzix M-100
▪  Monocular multiplexed display ($1000)
■ 852 x 480 LCD display, 15 deg. FOV
■ 5 MP camera, HD video
■ GPS, gyro, accelerometer
Display Types
▪  Curved Mirror
▪  off-axis projection
▪  curved mirrors in front of eye
▪  high distortion, small eye-box
▪  Waveguide
▪  use internal reflection
▪  unobstructed view of world
▪  large eye-box
See-through thin displays
▪  Waveguide techniques for thin see-through displays
▪  Wider FOV, enable AR applications
▪  Social acceptability
Opinvent Ora
Waveguide Methods
See: http://optinvent.com/HUD-HMD-benchmark#benchmarkTable
Holographic
Hologram diffracts light
Limited FOV
Colour bleeding
Diffractive
Slanted gratings
Total internal reflection
Costly, small FOV
Waveguide Methods
See: http://optinvent.com/HUD-HMD-benchmark#benchmarkTable
Clear-Vu Reflective
Several reflective elements
Thinner light guide
Large FOV, eye-box
Reflective
Simple reflective elements
Lower cost
Size is function of FOV
Input Technologies
Input Options
▪  Physical Devices
▪  Keyboard
▪  Pointer
▪  Stylus
▪  Natural Input
▪  Speech
▪  Gesture
▪  Other
▪  Physiological
Twiddler Input
▪  Chording or multi-tap input
▪  Possible to achieve 40 - 60 wpm after 30+ hours
▪  Chording input about 50% faster than multi-tap
▪  cf 20 wpm on T9, or 60+ wpm for QWERTY
Lyons, K., Starner, T., Plaisted, D., Fusia, J., Lyons, A., Drew, A., & Looney, E. W. (2004, April).
Twiddler typing: One-handed chording text entry for mobile phones. In Proceedings of the SIGCHI
conference on Human factors in computing systems (pp. 671-678). ACM.
Virtual Keyboards
▪  In air text input
▪  Virtual QWERTY keyboard up to 20 wpm
-  On real keyboard around 45-60+ wpm
▪  Word Gesture up to 28 wpm
-  On tablet/phone Word Gesture up to 47 wpm
▪  Handwriting around 20-30 wpm
A. Markussen, et. al. Vulture: A Mid-Air Word-Gesture Keyboard (CHI 2014)
Unobtrusive Input Devices
▪  GestureWrist
▪  Capacitive sensing
▪  Change signal depending on hand shape
Rekimoto, J. (2001). Gesturewrist and gesturepad: Unobtrusive wearable interaction devices. In
Wearable Computers, 2001. Proceedings. Fifth International Symposium on (pp. 21-27). IEEE.
Unobtrusive Input Devices
▪  GesturePad
▪  Capacitive multilayered touchpads
▪  Supports interactive clothing
Skinput
Using EMG to detect muscle activity
Tan, D., Morris, D., & Saponas, T. S. (2010). Interfaces on the go. XRDS:
Crossroads, The ACM Magazine for Students, 16(4), 30-34.
Issues to Consider
▪  Fatigue
▪  “Gorrilla” Arm from free-hand input
▪  Comfort
▪  People want to do small gestures by waist
▪  Interaction on the go
▪  Can input be done while moving?
Interaction on the Go
▪  Fitt’s law still applies while interacting on the go
▪  Eg: Tapping while walking reduces speed by > 35%
▪  Increased errors while walking
Lin, M., Goldman, R., Price, K. J., Sears, A., & Jacko, J. (2007). How do people tap when walking? An
empirical investigation of nomadic data entry.International Journal of Human-Computer Studies, 65(9),
759-769.
3: User Experience and
Design Principles
●  Early prototyping
● View Through Google Glass
Always available peripheral information display
Combining computing, communications and content capture
Google Glass User Interface
• dfasdf
Google Glass Demo
Timeline Metaphor
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
Living Heads Up vs. Heads Down
Sample Applications
• https://glass.google.com/glassware	
Glassware Applications
Virtual Exercise Companion
• GlassFitGames
– http://www.glassfitgames.com
Vipaar Telemedicine
• Vipaar + UAB - http://www.vipaar.com
• Endoscopic view streamed remotely
• Remote expert adds hands – viewed in Glass
● CityViewAR
▪ Using AR to visualize Christchurch city buildings
▪ 3D models of buildings, 2D images, text, panoramas
▪ AR View, Map view, List view
▪ Available on Android/iOS market
● CityViewAR on Glass
▪ AR overlay of virtual buildings in Christchurch
Design Principles
Last year Last week NowForever
The Now machine
Focus on location, contextual
and timely information, and
communication.
It's	
  like	
  a	
  rear	
  view	
  mirror	
  
	
  
Don't	
  overload	
  the	
  user.	
  S7ck	
  to	
  the	
  
absolutely	
  essen7al,	
  avoid	
  long	
  
interac7ons.	
  Be	
  explicit.	
  
	
  
	
  
Micro-Interactions
▪  On mobiles people split attention
between display and real world
● Time Looking at Screen
Oulasvirta, A. (2005). The fragmentation of attention in mobile
interaction, and what to do with it. interactions, 12(6), 16-18.
● Dividing Attention to World
▪ Number of times looking away from mobile screen
Design for MicroInteractions
▪  Design interaction less than a few seconds
▪  Tiny bursts of interaction
▪  One task per interaction
▪  One input per interaction
▪  Benefits
▪  Use limited input
▪  Minimize interruptions
▪  Reduce attention fragmentation
● Design for Cognitive Load
Cognitive continuums (a) Input, (b) Output
Increase cognitive load from left to right
Design for Interruptions
▪  Gradually increase engagement and attention load
▪  Respond to user engagement
Receiving SMS on Glass
“Bing”
Tap
Swipe
Glass
Show Message Start Reply
User
Look
Up
Say
Reply
Nomadic Radio (2000)
▪  Spatial audio wearable interface
Sawhney, N., & Schmandt, C. (2000). Nomadic radio: speech and audio interaction for contextual
messaging in nomadic environments. ACM transactions on Computer-Human interaction (TOCHI),
7(3), 353-383.
Spatial Audio Metaphor
Messages/Events arranged depending on time of day
Notification Interruptions
▪  Dynamic scaling of incoming message
based on interruptibility of the user
▪  Busy = silence
▪  Availble = preview
Layered Audio Notifications
Background ambient audio
Notification scale depending on priority
● 1. Design For the Device
▪ Simple, relevant information
▪ Complement existing devices
● 2. Don’t Get in the Way
▪ Enhance, not replace, real world interaction
● 3. Keep it Relevant
▪ Information at the right time and place
● 4. Avoid the Unexpected
▪ Don’t send unexpected content at wrong times
▪ Make it clear to users what your application does
● 5. Build for People
▪ Use imagery, voice interaction, natural gestures
▪ Focus on fire and forget interaction model
Other Guidelines
▪  Don’t design a mobile app
▪  Design for emotion
▪  Make it glanceable
▪  Do one thing at a time
▪  Reduce number of information chunks
▪  Design for indoor and outdoor use
●  As technology becomes more
personal and immediate, it can
start to disappear.
Distant Intimate
4: Prototyping Tools
How can we quickly
prototype Wearable
experiences with
little or no coding?
Why Prototype?
▪  Quick visual design
▪  Capture key interactions
▪  Focus on user experience
▪  Communicate design ideas
▪  “Learn by doing/experiencing”
Prototyping Tools
▪  Static/Low fidelity
▪  Sketching
▪  User interface templates
▪  Storyboards/Application flows
▪  Screen sharing
▪  Interactive/High fidelity
▪  Wireframing tools
▪  Mobile prototyping
▪  Native Coding
Important Note
▪  Most current wearables run Android OS
▪  eg Glass, Vuzix, Atheer, Epson, etc
▪  So many tools for prototyping on Android
mobile devices will work for wearables
▪  If you want to learn to code, learn
▪  Java, Android, Javascript/PHP
Typical Development Steps
▪  Sketching
▪  Storyboards
▪  UI Mockups
▪  Interaction Flows
▪  Video Prototypes
▪  Interactive Prototypes
▪  Final Native Application
Increased
Fidelity &
Interactivity
Sketched Interfaces
▪  Sketch + Powerpoint/Photoshop/Illustrator
GlassSim – http://glasssim.com/
▪  Simulate the view through Google Glass
▪  Multiple card templates
GlassSim Card Builder
▪  Use HTML for card details
▪  Multiple templates
▪  Change background
▪  Own image
▪  Camera view
GlassSim Samples
Screen Sharing
▪  Android Design Preview
▪  Tool for sharing screen content onto Glass
▪  https://github.com/romannurik/
AndroidDesignPreview/releases
Mac Screen
Glass
Glass UI Templates
▪  Google Glass Photoshop Templates
▪  http://glass-ui.com/
▪  http://dsky9.com/glassfaq/the-google-glass-psd-template/
Sample Slides From Templates
Application Storyboard
▪  http://dsky9.com/glassfaq/google-glass-
storyboard-template-download/
ToolKit for Designers
▪  Vectoform Google Glass Toolkit for Designers
▪  http://blog.vectorform.com/2013/09/16/google-glass-
toolkit-for-designers-2/
▪  Sample cards, app flows, icons, etc
Application Flow
Limitations
▪  Positives
▪  Good for documenting screens
▪  Can show application flow
▪  Negatives
▪  No interactivity/transitions
▪  Can’t be used for testing
▪  Can’t deploy on wearable
▪  Can be time consuming to create
Transitions
▪ Series of still photos in a movie format.
▪ Demonstrates the experience of the product
▪ Discover where concept needs fleshing out.
▪ Communicate experience and interface
▪ You can use whatever tools, from Flash to
iMovie.
Video Sketching
See https://vine.co/v/bgIaLHIpFTB
Example: Video Sketch of Vine
UI
UI Concept Movies
Interactive Wireframes
Interactive Wireframing
▪  Developing interactive interfaces/wireframes
▪  Transitions, user feedback, interface design
▪  Web based tools
▪  UXpin - http://www.uxpin.com/
▪  proto.io - http://www.proto.io/
▪  Native tools
▪  Justinmind - http://www.justinmind.com/
▪  Axure - http://www.axure.com/
UXpin - www.uxpin.com
▪  Web based wireframing tool
▪  Mobile/Desktop applications
▪  Glass templates, run in browser
https://www.youtube.com/watch?v=0XtS5YP8HcM
Proto.io - http://www.proto.io/
▪  Web based mobile prototyping tool
▪  Features
▪  Prototype for multiple devices
▪  Gesture input, touch events, animations
▪  Share with collaborators
▪  Test on device
Proto.io - Interface
Demo: Building a Simple Flow
Gesture Flow
Scr1
Scr2 Scr3
Scr4 Scr5 Scr6
Ta
p
Swipe
Start Transitions
Demo
Justinmind - http://www.justinmind.com/
▪  Native wireframing tool
▪  Build mobile apps without programming
▪  drag and drop, interface templates
▪  web based simulation
▪  test on mobile devices
▪  collaborative project sharing
▪  Templates for Glass, custom templates
User Interface - Glass Templates
Web Simulation Tool
Wireframe Limitations
▪  Can’t deploy on Glass
▪  No access to sensor data
▪  Camera, orientation sensor
▪  No multimedia playback
▪  Audio, video
▪  Simple transitions
▪  No conditional logic
▪  No networking
Processing for Wearables
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
▪  Strong Android support
▪  Generates Android .apk file
Processing - Motivation
▪  Language of Interaction
▪  Sketching with code
▪  Support for rich interaction
▪  Large developer community
▪  Active help forums
▪  Dozens of plug-in libraries
▪  Strong Android support
▪  Easy to run on wearables
http://processing.org/
http://openprocessing.org/
Development Enviroment
Basic Parts of a Processing
Sketch/* Notes comment */
//set up global variables
float moveX = 50;
//Initialize the Sketch
void setup (){
}
//draw every frame
void draw(){
}
Importing Libraries
▪  Can add functionality by Importing
Libraries
▪  java archives - .jar files
▪  Include import code
import processing.opengl.*;
▪  Popular Libraries
▪  Minim - audio library
▪  OCD - 3D camera views
▪  Physics - physics engine
▪  bluetoothDesktop - bluetooth networking
http://toxiclibs.org/
Processing and Glass
▪  One of the easiest ways to build rich
interactive wearable applications
▪  focus on interactivity, not coding
▪  Collects all sensor input
▪  camera, accelerometer, touch
▪  Can build native Android .apk files
▪  Side load onto Glass
Example: 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
Using the Camera
▪  Import camera library
▪  import ketai.camera.*;
▪  KetaiCamera cam;
▪  Setup in Setup( ) function
▪ cam = new KetaiCamera(this, 640, 480, 15);
▪  Draw camera image
void draw() {
//draw the camera image
image(cam, width/2, height/2);
}
Camera Demo
Timeline Demo
▪  Create Card Class
▪  load image, card number, children/parent cards
▪  Timeline Demo
▪  Load cards in order
▪  Translate cards with finger motion
▪  Swipe cards in both directions
▪  Snap cards into position
Timeline Demo
Hardware Prototyping
Fake Display
3D print Thingiverse model
see http://www.thingiverse.com/thing:65706
Have the social impact of Google Glass without the cost
Build Your Own Wearable
▪  MyVu display + phone + sensors
Beady-i
▪  http://www.instructables.com/id/DIY-
Google-Glasses-AKA-the-Beady-i/
Rasberry Pi Glasses
▪  Modify video glasses, connect to Rasberry Pi
▪  $200 - $300 in parts, simple assembly
▪  https://learn.adafruit.com/diy-wearable-pi-near-eye-kopin-video-
glasses
Physical Input Devices
▪  Can we develop unobtrusive input
devices ?
▪  Reduce need for speech, touch pad input
▪  Socially more acceptable
▪  Examples
▪  Ring,
▪  pendant,
▪  bracelet,
▪  gloves, etc
Prototyping Platform
Arduino Kit Bluetooth Shield Google Glass
Example: Glove Input
▪  Buttons on fingertips
▪  Map touches to commands
Example: Ring Input
▪  Touch strip, button, accelerometer
▪  Tap, swipe, flick actions
How it works
Bracelet
Armband
Gloves
1,2,
3,4
Values/
output
Summary
▪  Prototyping for wearables is similar to mobiles
▪  Tools for UI design, storyboarding, wireframing
▪  Android tools to create interactive prototypes
▪  App Inventor, Processing, etc
▪  Arduino can be used for hardware prototypes
▪  Once prototyped Native Apps can be built
▪  Android + SDK for each platform
Other Tools
▪  Wireframing
▪  pidoco
▪  FluidUI
▪  Rapid Development
▪  Phone Gap
▪  AppMachine
▪  Interactive
▪  App Inventor
▪  Unity3D
▪  WearScript
App Inventor - http://appinventor.mit.edu/
▪  Visual Programming for Android Apps
▪  Features
▪  Access to Android Sensors
▪  Multimedia output
▪  Drag and drop web based interface
▪  Designer view – app layout
▪  Blocks view – program logic/control
App Inventor Designer View
App Inventor Blocks View
Orientation Demo
▪  Use wearable orientation sensor
● Unity for Glass Dev
 Unity has built-in support for sensors on Android devices on a low level. Third-party
plugins like GyroDroid provides high-level access to every single sensor.
 rotation vector
 gyroscope
 accelerometer
 linear acceleration
 gravity
 light
 proximity
 orientation
 pressure
 magnetic field
 processor temperature
 ambient temperature
 relative humidity
● Unity for Glass Dev
 Screenshots
● Unity for Glass Dev
 Unity + GDK for Glass Touchpad
 Use the AndroidInput.touchCountSecondary method to
get touch numbers on the Glass touchpad.
 Use the AndroidInput.GetSecondaryTouch() static
method to get a specific touch on the Glass touchpad.
 Use the AndroidInput.GetSecondaryTouch().phase to
detect the touch gesture on the Glass touchpad
● Unity for Glass Dev
 Example
 if(AndroidInput.touchCountSecondary == 2)
…… // if there are two touches
 if(AndroidInput.GetSecondaryTouch(0).phase ==
TouchPhase.Moved)
…… // if the first touch is moving
 float pos1X = AndroidInput.GetSecondaryTouch(1).position.x;
// get the second touch postion x value
● Android API in Unity for Glass
 Support Touchpad Input for Google Glass
 API:
//Indicating whether the system provides secondary touch input.
AndroidInput.secondaryTouchEnabled
//Indicating the height of the secondary touchpad.
AndroidInput.secondaryTouchHeight
//Indicating the width of the secondary touchpad.
AndroidInput.secondaryTouchWidth
//Number of secondary touches..
AndroidInput.touchCountSecondary
//Returns object representing status of a specific touch on a secondary touchpad .
AndroidInput.GetSecondaryTouch
● Android API in Unity for Glass
 Example:
/* Detect touch number on the Glass touchpad*/
Debug.Log("Touchpad", "Touch count: " +
AndroidInput.touchCountSecondary);
if(AndroidInput.touchCountSecondary >= 2) {
......
}
/* Detect touch gesture on the Glass touchpad*/
if(AndroidInput.GetSecondaryTouch(0).phase ==
TouchPhase.Moved
}
http://docs.unity3d.com/Documentation/ScriptReference/TouchPhase.html
http://stackoverflow.com/questions/20441090/how-can-create-touch-screen-android-
scroll-in-unity3d
● Android API in Unity for Glass
 Detect Google Glass in Unity C# Script
 API:
SystemInfo.deviceModel
 Functionality:
Provides the model of the device.
● Android API in Unity for Glass
 Example:
/* Show different GUIs for different devices */
Debug.Log("Android model", SystemInfo.deviceModel);
if(SystemInfo.deviceModel.contains("Glass")) {
Debug.Log("Android", "Google Glass detected");
// Active GUI for Glass
......
} else {
Debug.Log("Android", "Phone or Tablet detected");
// Active GUI for Phone or Tablet
......
}
WearScript
▪  JavaScript development for Glass
▪  http://www.wearscript.com/en/
▪  Script directory
▪  http://weariverse.com/
● WearScript Features
▪ Community of Developers
▪ Easy development of Glass Applications
▪ GDK card format
▪ Support for all sensor input
▪ Support for advanced features
▪ Augmented Reality
▪ Eye tracking
▪ Arduino input
● WearScript Playground
▪ Test code and run on Glass
▪ https://api.wearscript.com/
5: Native Coding
Overview
▪  For best performance need native coding
▪  Low level algorithms etc
▪  Most current wearables based on Android OS
▪  Need Java/Android skills
▪  Many devices have custom API/SDK
▪  Vusix M-100: Vusix SDK
▪  Glass: Mirror API, Glass Developer Kit (GDK)
Mirror API + Glass GDK
Glassware and Timeline
Glassware and Timeline
▪  Static Cards
▪  Static content with text, HTML, images, and 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
▪  See: https://developers.google.com/glass/
▪  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
GDK
▪  Glass Development Kit
▪  Android 4.0.3 ICS + Glass specific APIs
▪  Use standard Android Development Tools
▪  GDK add-on features
▪  Timeline and cards
▪  Menu and UI
▪  Touch pad and gesture
▪  Media (sound, camera and voice input)
GDK
Glass Summary
▪  Use Mirror API if you need ...
▪  Use GDK if you need ...
▪  Or use both
● An Introduction to Glassware
Development
- GDK -
Rob Lindeman
gogo@wpi.edu
Human Interaction in Virtual Environments (HIVE) Lab
Worcester Polytechnic Institute
Worcester, MA, USA
http://www.cs.wpi.edu/~gogo/hive/
* Images in the slides are from variety of sources,
including http://developer.android.com and http://developers.google.com/glass
● Thanks to Gun Lee!
▪ Most of this material was developed by
Gun Lee at the HIT Lab NZ.
▪ He’s a rock star!
Rob Lindeman
▪  Director of HIVE Lab, Worcester
Polytechnic Instiute
▪  PhD The George Washington Univ.
▪  Research on 3DUI, VR, Gaming,
HRI since 1993
▪  Been wearing Glass non-stop
(mostly, anayway) since Sept. 2013
▪  Sabbatical at HIT Lab NZ in 2011-12
▪  Program Co-Chair, ISMAR 2014
▪  Love geocaching, soccer, skiing
● 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
● GDK
▪ Glass Development Kit
▪ Android 4.4.2 + 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)
● Development Environment Setup
▪ JDK (1.6 or above, using 1.8 for the tutorial)
▪ http://www.oracle.com/technetwork/java/javase/
downloads/index.html
▪ ADT Bundle (Eclipse + Android SDK)
▪ http://developer.android.com/sdk/index.html
▪ With Android SDK Manager (select Window>Android
SDK Manager from Eclipse menu) install:
- Tools > Android Build-tools (latest version)
- Android 4.4.2 (API 19) SDK Platform, ARM System Image,
Google APIs, Glass Development Kit Preview
- Extras > Google USB Driver (only for Windows Platform)
● Create an Android App Project
▪ In Eclipse
▪ File > New > (Other > Android>)
Android Application Project
▪ Fill in the Application name, Project name, and Java
package namespace to use
▪ Choose SDK API 19: Android 4.4.2 for all SDK settings
▪ Use default values for the rest
● Virtual Device Definition for Glass
▪ Window > Android Virtual Device Manager >
Device Definitions > New Device
▪ 640x360px
▪ 3 in. (hdpi)
▪ Landscape
● 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, fewer user input constraints
● Live Cards
● Immersions
● Live Cards vs. Immersions
● Develop with GDK
▪ Android 4.4.2 (API 19) SDK and GDK Preview
from the Android SDK Manager.
▪ Project settings:
▪ Minimum and Target SDK Versions: 19
▪ Compile with: GDK Preview
▪ 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
● Hello World - Immersion
▪ App/Activity without theme
▪ Allows the Glass theme to be applied.
▪ Add voice trigger for launching
▪ Touch input and Menu
▪ Voice recognition for text input
● Voice Trigger for Launching
▪ Add intent filter to your main Acivity in
AndroidManifest.xml
▪ Add xml/voice_trigger.xml to res folder
▪ Can use additional follow up voice recognition prompts
if needed
<uses-permission
android:name="com.google.android.glass.permission.DEVELOPMENT" />
…
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data android:name="com.google.android.glass.VoiceTrigger“
android:resource="@xml/voice_trigger" />
<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="hello world" />
https://developers.google.com/glass/develop/gdk/input/voice
● Official Voice Triggers on MyGlass
▪ listen to
▪ take a note
▪ post an update
▪ show a compass
▪ start a run
▪ start a bike ride
▪ find a recipe
▪ record a recipe
▪ check me in
•  start a stopwatch
•  start a timer
•  start a round of golf
•  translate this
•  learn a song
•  tune an instrument
•  play a game
•  start a workout
https://developers.google.com/glass/develop/gdk/input/voice
● Touch Input as Key Input
▪ Touch input translated as DPAD key input
▪ Tap => KEYCODE_DPAD_CENTER
▪ Swipe down => KEYCODE_BACK
▪ Camera button => KEYCODE_CAMERA
@Override
public boolean onKeyDown( int keycode, KeyEvent event ) {
if( keycode == KeyEvent.KEYCODE_DPAD_CENTER ) {
// user tapped touchpad, do something
return true;
}
…
return false;
}
https://developers.google.com/glass/develop/gdk/input/touch
● Touch Input
▪ onGenericMotionEvent( MotionEvent event )
@Override
public boolean onGenericMotionEvent( MotionEvent event ) {
switch( event.getAction( ) ) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onGenericMotionEvent( event );
}
https://developers.google.com/glass/develop/gdk/input/touch
● Touch gestures
▪ GDK provides GestureDetector for Glass
▪ com.google.android.glass.touchpad.GestureDetector
- NOT android.view.GestureDetector
▪ BaseListener, FingerListener, ScrollListener,
TwoFingerScrollListener
▪ Pass MotionEvent from
onGenericMotionEvent( )
▪ gestureDetector.onMotionEvent( event );
https://developers.google.com/glass/develop/gdk/input/touch
https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/touchpad/GestureDetector
● Live Demo
•  Handling Key input
•  Touch input and Detecting gestures
● Menu
▪ Open options menu on tap
▪ openOptionsMenu( )
▪ Add 50x50 pixel icons in the menu resource XML
▪ android:icon="@drawable/icon"
- https://developers.google.com/glass/tools-
downloads/menu_icons.zip
▪ Show/hide/update menu items if needed
▪ onPrepareOptionsMenu( )
https://developers.google.com/glass/develop/gdk/ui/immersion-menus
● Live Demo
•  Menu
● Voice Input
▪ Start activity for result with system action
▪ Customize prompt with intent extra
▪ Recognized strings returned in intent data of
onActivityResult( )
intent = new
Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH );
startActivityForResult( intent, 0 );
intent.putExtra( RecognizerIntent.EXTRA_PROMPT,
"What is your name?” );
intentData.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS );
https://developers.google.com/glass/develop/gdk/input/voice
http://developer.android.com/reference/android/speech/RecognizerIntent.html
● Live Demo
•  Voice Input
● Hello World - Immersion ++
▪ Play Sounds & Text-to-speech
▪ Take a picture with camera
▪ Card based info page
● Playing Sounds & TTS
▪ Glass system sounds
▪ Text-to-speech
▪ Create/destroy TTS in onCreate/onDestroy( )
https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/media/Sounds
AudioManager am =
( AudioManager )getSystemService( Context.AUDIO_SERVICE );
am.playSoundEffect( Sounds.ERROR )
// DISALLOWED, DISMISSED, ERROR, SELECTED, SUCCESS, TAP
TextToSpeech tts = new TextToSpeech( context, ttsOnInitListener );
…
tts.speak( “Hello world!”, TextToSpeech.QUEUE_FLUSH, null );
tts.shutdown( );
http://developer.android.com/reference/android/speech/tts/TextToSpeech.html
● Playing Custom Sounds
▪ Put sound files in res/raw
▪ Load sounds to SoundPool object to play
soundPool = new SoundPool( MAX_STREAM,
AudioManager.STREAM_MUSIC, 0 );
int soundOneID = soundPool.load( context, R.raw.sound1, 1 );
int soundTwoID = soundPool.load( context, R.raw.sound2, 1 );
…
soundPool.play( int soundID, float leftVolume, float rightVolume,
int priority, int loop, float rate )
http://developer.android.com/reference/android/media/SoundPool.html
● Live Demo
•  Playing Sounds and Text-to-Speech
● Camera Input
▪ Calling the Glass built-in camera activity with
startActivityForResult( ) and Action Intent, returned with file
path to image/video through Intent extra data.
▪ Low level access to camera with the Android Camera API.
▪ http://developer.android.com/reference/android/
hardware/Camera.html
https://developers.google.com/glass/develop/gdk/media-camera/camera
● Camera with Action Intent
private void takePicture( ) {
Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE );
startActivityForResult( intent, TAKE_PICTURE );
}
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data ) {
if( requestCode == TAKE_PICTURE && resultCode == RESULT_OK ) {
String picturePath =
data.getStringExtra( CameraManager.EXTRA_PICTURE_FILE_PATH );
// smaller picture available with EXTRA_THUMBNAIL_FILE_PATH
processPictureWhenReady( picturePath ); // file might not be ready for a while
}
super.onActivityResult( requestCode, resultCode, data );
}
● Live Demo
•  Taking a Picture
● Scrolling Cards in Activity
▪ Set a CardScrollView as the content view
▪ Use a custom class extending the CardScrollAdapter
class to populate the CardScrollView
https://developers.google.com/glass/develop/gdk/ui/theme-widgets
https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/package-
summary
CardScrollView cardScrollView = new CardScrollView( this );
cardScrollView.setAdapter( new InfoCardScrollAdapter( ) );
cardScrollView.activate( );
setContentView( cardScrollView );
● Scrolling Cards in Activity
▪ In your custom CardScrollAdapter class
▪ Create a list of cards
▪ Implement abstract methods in your custom
CardScrollAdapter class
- int getCount( ) => return the number of cards (items)
- Object getItem( int position ) => return the card at position
- View getView( int position, View convertView, ViewGroup
parentView ) => return the view of the card at position
- int getPosition( Object item ) => find and return the position
of the given item (card) in the list. (return -1 for error)
https://developers.google.com/glass/develop/gdk/ui/theme-widgets
https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/package-
summary
● Live Demo
•  Scrolling Cards
•  Live Cards
•  Viewforia
•  NyARToolkit
● More Information
▪ Website
▪ https://developers.google.com/glass
▪ http://developer.android.com
▪ http://arforglass.org
▪ http://www.hitlabnz.org
6: Case Studies
BRICKSIMPLE AND GLASS
Introduction
BUILDING GLASS
EXPERIENCES
Development
WEARABLE IS DIFFERENT
Design
“You mustn't be afraid to dream
a little bigger, darling”
THANK YOU
Det Ansinn
President & Founder
BrickSimple LLC
det@bricksimple.com
Twitter: @detansinn
G+: +detansinn
Cell: 215.771.8680
7: Technical Q & A
8: Research Directions
Challenges for the Future (2001)
▪  Privacy
▪  Power use
▪  Networking
▪  Collaboration
▪  Heat dissipation
▪  Interface design
▪  Intellectual tools
▪  Augmented Reality systems
Starner, T. (2001). The challenges of wearable computing: Part 1. IEEE Micro,21(4), 44-52.
Starner, T. (2001). The challenges of wearable computing: Part 2. IEEE Micro,21(4), 54-67.
Interface Design
Gesture Interaction
Capturing Behaviours
▪  3 Gear Systems
▪  Kinect/Primesense Sensor
▪  Two hand tracking
▪  http://www.threegear.com
Gesture Interaction With Glass
▪  3 Gear Systems
▪  Hand tracking
▪  Hand data sent to glass
▪  Wifi networking
▪  Hand joint position
▪  AR application rendering
▪  Vuforia tracking
Performance
▪  Full 3d hand model input
▪  10 - 15 fps tracking, 1 cm fingertip resolution
User Study
▪  Gesture vs. Touch pad vs. Combined input
▪  Gesture 3x faster, no difference in accuracy
● Meta Gesture Interaction
▪ Depth sensor + Stereo see-through
▪ https://www.spaceglasses.com/
Collaboration
Social Panoramas
Ego-Vision Collaboration
▪  Wearable computer
▪  camera + processing + display + connectivity
Current Collaboration
▪  First person remote conferencing/hangouts
▪  Limitations
-  Single POV, no spatial cues, no annotations, etc
Sharing Space: Social Panoramas
▪  Capture and share social spaces in real time
▪  Enable remote people to feel like they’re with you
Key Technology
▪  Google Glass
▪  Capture live panorama (compass + camera)
▪  Capture spatial audio, live video
▪  Remote device (desktop, tablet)
▪  Immersive viewing, live annotation
Awareness Cues
▪  Where is my partner looking?
▪  Enhanced radar display, Context compass
Interaction
▪  Glass Touchpad Input/Tablet Input
▪  Shared pointers, Shared drawing
User Evaluation
▪  Key Results
Visual cues significantly increase awareness
Pointing cues preferred for collaboration
Drawing on Glass difficult, ranked low in usability
Cognitive Models
Resource Competition Framework
▪  Mobility tasks compete for cognitive resources
with other tasks
▪  the most important given higher priority
▪  RCF is a method for analyzing this, based on:
▪  task analysis
▪  modelling cognitive resources
▪  a resource approach to attention
Oulasvirta, A., Tamminen, S., Roto, V., & Kuorelahti, J. (2005, April). Interaction in 4-second bursts: the
fragmented nature of attentional resources in mobile HCI. In Proceedings of the SIGCHI conference on
Human factors in computing systems (pp. 919-928). ACM.
RCF Key Assumptions
Four Key Assumptions
1. Functional Modularity: cognitive system divided into
functionally separate systems with diff. representations
2. Parallel Module Operation: cognitive modules operate
in parallel, independent of each other
3. Limited Capacity: cognitive modules are limited in
capacity with respect to time or content
4. Serial Central Operation: central coordination of
modules (eg monitoring) is serial
Cognitive Interference
▪  Structural interference
▪  Two or more tasks compete for limited
resources of a peripheral system
-  eg two cognitive processes needing vision
▪  Capacity interference
▪  Total available central processing
overwhelmed by multiple concurrent tasks
-  eg trying to add and count at same time
Cognitive Resources & Limitations
asdfasdf
Using RCF
1. Map cognitive faculty to task
2. Look for conflicts/overloads
3. Analyse for competition for attention
4. Look for opportunities for technology to
reduce conflicts/competition
Example: Going to work ..
Which is the most cognitively demanding?
Application of RCF
Busy street > Escalator > Café > Laboratory.
But if you made Wayfinding, Path Planning, Estimating Time
to Target, Collision Avoidance easier?
Social Perception
How is the User Perceived?
TAT Augmented ID
● The Future of Wearables
9: Resources
Online Wearables Exhibit
Online at http://wcc.gatech.edu/exhibition
Glass Resources
▪  Main Developer Website
▪  https://developers.google.com/glass/
▪  Glass Apps Developer Site
▪  http://glass-apps.org/glass-developer
▪  Google Design Guidelines Site
▪  https://developers.google.com/glass/design/
index?utm_source=tuicool
▪  Google Glass Emulator
▪  http://glass-apps.org/google-glass-emulator
Other Resources
▪  AR for Glass Website
▪  http://www.arforglass.org/
▪  Vandrico Database of wearable devices
▪  http://vandrico.com/database
● Glass UI Design Guidelines
▪ More guidelines
▪ https://developers.google.com/glass/design/index
Books
▪  Programming Google Glass
▪  Eric Redmond
▪  Rapid Android
Development: Build Rich,
Sensor-Based Applications
with Processing
▪  Daniel Sauter
▪ Microinteractions:
Designing with Details
▪ Dan Saffer
▪ http://microinteractions.com/
● Conclusions
● Conclusions
▪ Wearable computing represents a fourth generation of
computing devices
▪ Google Glass is the first consumer wearable
▪ Lightweight, usable, etc
▪ A range of wearables will appear in 2014
▪ Ecosystem of devices
▪ Significant research opportunities exist
▪ User interaction, displays, social impact
Contact Details
Mark Billinghurst
▪  email: mark.billinghurst@hitlabnz.org
▪  twitter: @marknb00
Rob Lindeman
▪  email: gogo@wpi.edu
Feedback + followup form
▪  goo.gl/6SdgzA

More Related Content

What's hot

Comp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionComp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionMark Billinghurst
 
A Survey of Augmented Reality
A Survey of Augmented RealityA Survey of Augmented Reality
A Survey of Augmented RealityMark Billinghurst
 
The UX of Mixed Reality
The UX of Mixed RealityThe UX of Mixed Reality
The UX of Mixed RealityAlex Young
 
COSC 426 Lecture 1: Introduction to Augmented Reality
COSC 426 Lecture 1: Introduction to Augmented RealityCOSC 426 Lecture 1: Introduction to Augmented Reality
COSC 426 Lecture 1: Introduction to Augmented RealityMark Billinghurst
 
Augmented Reality presentation 2018 for high schools
Augmented Reality presentation 2018 for high schoolsAugmented Reality presentation 2018 for high schools
Augmented Reality presentation 2018 for high schoolsMinas Pantelidakis
 
426 Lecture 8: Mobile Augmented Reality
426 Lecture 8: Mobile Augmented Reality426 Lecture 8: Mobile Augmented Reality
426 Lecture 8: Mobile Augmented RealityMark Billinghurst
 
Mini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dMini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dAkshetPatel
 
2014 COSC 426 Lecture 2: Augmented Reality Technology
2014 COSC 426 Lecture 2: Augmented Reality Technology2014 COSC 426 Lecture 2: Augmented Reality Technology
2014 COSC 426 Lecture 2: Augmented Reality TechnologyMark Billinghurst
 
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed Reality
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed RealityJohn Howard (LOOOK Inc) UX/UI Design for VR and Mixed Reality
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed RealityAugmentedWorldExpo
 
Mobile AR Lecture 10 - Research Directions
Mobile AR Lecture 10 - Research DirectionsMobile AR Lecture 10 - Research Directions
Mobile AR Lecture 10 - Research DirectionsMark Billinghurst
 
UX & Emerging Technologies - Service Design Salon Tokyo
UX & Emerging Technologies - Service Design Salon TokyoUX & Emerging Technologies - Service Design Salon Tokyo
UX & Emerging Technologies - Service Design Salon TokyoDirk Knemeyer
 
TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9Laura Cortes
 
Virtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensVirtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensRhiannon Monks
 
Designing UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality AppsDesigning UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality AppsrapidBizApps
 
Joy Mountford at BayCHI: Visualizations of Our Collective Lives
Joy Mountford at BayCHI: Visualizations of Our Collective LivesJoy Mountford at BayCHI: Visualizations of Our Collective Lives
Joy Mountford at BayCHI: Visualizations of Our Collective LivesBayCHI
 
Google glass and the wearable revolution - NYCCamp 2013
Google glass and the wearable revolution - NYCCamp 2013Google glass and the wearable revolution - NYCCamp 2013
Google glass and the wearable revolution - NYCCamp 2013Frank Carey
 

What's hot (20)

Comp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionComp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-Perception
 
Easy Virtual Reality
Easy Virtual RealityEasy Virtual Reality
Easy Virtual Reality
 
A Survey of Augmented Reality
A Survey of Augmented RealityA Survey of Augmented Reality
A Survey of Augmented Reality
 
The UX of Mixed Reality
The UX of Mixed RealityThe UX of Mixed Reality
The UX of Mixed Reality
 
COSC 426 Lecture 1: Introduction to Augmented Reality
COSC 426 Lecture 1: Introduction to Augmented RealityCOSC 426 Lecture 1: Introduction to Augmented Reality
COSC 426 Lecture 1: Introduction to Augmented Reality
 
Augmented Reality presentation 2018 for high schools
Augmented Reality presentation 2018 for high schoolsAugmented Reality presentation 2018 for high schools
Augmented Reality presentation 2018 for high schools
 
426 Lecture 8: Mobile Augmented Reality
426 Lecture 8: Mobile Augmented Reality426 Lecture 8: Mobile Augmented Reality
426 Lecture 8: Mobile Augmented Reality
 
2013 Lecture3: AR Tracking
2013 Lecture3: AR Tracking 2013 Lecture3: AR Tracking
2013 Lecture3: AR Tracking
 
Mini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dMini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 d
 
2014 COSC 426 Lecture 2: Augmented Reality Technology
2014 COSC 426 Lecture 2: Augmented Reality Technology2014 COSC 426 Lecture 2: Augmented Reality Technology
2014 COSC 426 Lecture 2: Augmented Reality Technology
 
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed Reality
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed RealityJohn Howard (LOOOK Inc) UX/UI Design for VR and Mixed Reality
John Howard (LOOOK Inc) UX/UI Design for VR and Mixed Reality
 
Mobile AR Lecture 10 - Research Directions
Mobile AR Lecture 10 - Research DirectionsMobile AR Lecture 10 - Research Directions
Mobile AR Lecture 10 - Research Directions
 
2013 Lecture 8: Mobile AR
2013 Lecture 8: Mobile AR2013 Lecture 8: Mobile AR
2013 Lecture 8: Mobile AR
 
UX & Emerging Technologies - Service Design Salon Tokyo
UX & Emerging Technologies - Service Design Salon TokyoUX & Emerging Technologies - Service Design Salon Tokyo
UX & Emerging Technologies - Service Design Salon Tokyo
 
TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9
 
Virtual Reality - Get in the Game
Virtual Reality - Get in the GameVirtual Reality - Get in the Game
Virtual Reality - Get in the Game
 
Virtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensVirtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without Screens
 
Designing UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality AppsDesigning UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality Apps
 
Joy Mountford at BayCHI: Visualizations of Our Collective Lives
Joy Mountford at BayCHI: Visualizations of Our Collective LivesJoy Mountford at BayCHI: Visualizations of Our Collective Lives
Joy Mountford at BayCHI: Visualizations of Our Collective Lives
 
Google glass and the wearable revolution - NYCCamp 2013
Google glass and the wearable revolution - NYCCamp 2013Google glass and the wearable revolution - NYCCamp 2013
Google glass and the wearable revolution - NYCCamp 2013
 

Viewers also liked

The Glass Class Lecture1 - Inroduction
The Glass Class Lecture1 - InroductionThe Glass Class Lecture1 - Inroduction
The Glass Class Lecture1 - InroductionMark Billinghurst
 
Wearables devices market and technology
Wearables devices market and technologyWearables devices market and technology
Wearables devices market and technologyKevin Huang
 
Wearable Technology Report
Wearable Technology ReportWearable Technology Report
Wearable Technology ReportRohini Vaze
 
The Glass Class Lecture 3: Glass User Experience
The Glass Class Lecture 3: Glass User ExperienceThe Glass Class Lecture 3: Glass User Experience
The Glass Class Lecture 3: Glass User ExperienceMark Billinghurst
 
Cory arcangel net art
Cory arcangel net artCory arcangel net art
Cory arcangel net artsoupedrosousa
 
COSC 426 Lect. 8: AR Research Directions
COSC 426 Lect. 8: AR Research DirectionsCOSC 426 Lect. 8: AR Research Directions
COSC 426 Lect. 8: AR Research DirectionsMark Billinghurst
 
Introduction of augmented reality
Introduction of augmented realityIntroduction of augmented reality
Introduction of augmented realityTakashi Yoshinaga
 
Wearable Technology Components Market by 2024- By BIS Research
Wearable Technology Components Market by 2024- By BIS ResearchWearable Technology Components Market by 2024- By BIS Research
Wearable Technology Components Market by 2024- By BIS ResearchShmir
 
Smart Playing Cards A Ubiquitous Computing Game
Smart Playing Cards A Ubiquitous Computing GameSmart Playing Cards A Ubiquitous Computing Game
Smart Playing Cards A Ubiquitous Computing Gameguest218195
 
Sample patent landscaping report-wearable biosensor on whrist
Sample patent landscaping report-wearable biosensor on whristSample patent landscaping report-wearable biosensor on whrist
Sample patent landscaping report-wearable biosensor on whristRay Chu
 
Wearable Tech Market Trends - Q2 2014
Wearable Tech Market Trends - Q2 2014Wearable Tech Market Trends - Q2 2014
Wearable Tech Market Trends - Q2 2014Jen Quinlan
 
Introduction to Optical See-Through HMDs in AR
Introduction to Optical See-Through HMDs in ARIntroduction to Optical See-Through HMDs in AR
Introduction to Optical See-Through HMDs in ARYuta Itoh
 
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...BIS Research Inc.
 
WearAbility = Wearable Computers and Accessibilty
WearAbility =  Wearable Computers and AccessibiltyWearAbility =  Wearable Computers and Accessibilty
WearAbility = Wearable Computers and AccessibiltyTed Drake
 
Patent landscaping report wearable bio sensor on wrist-en_20160407
Patent landscaping report wearable bio sensor on wrist-en_20160407Patent landscaping report wearable bio sensor on wrist-en_20160407
Patent landscaping report wearable bio sensor on wrist-en_20160407Ray Chu
 
Wearable Technology Sep 2013
Wearable Technology Sep 2013Wearable Technology Sep 2013
Wearable Technology Sep 2013Vasily Ryzhonkov
 

Viewers also liked (20)

The Glass Class Lecture1 - Inroduction
The Glass Class Lecture1 - InroductionThe Glass Class Lecture1 - Inroduction
The Glass Class Lecture1 - Inroduction
 
Wearables devices market and technology
Wearables devices market and technologyWearables devices market and technology
Wearables devices market and technology
 
Wearable Technology Report
Wearable Technology ReportWearable Technology Report
Wearable Technology Report
 
The Glass Class Lecture 3: Glass User Experience
The Glass Class Lecture 3: Glass User ExperienceThe Glass Class Lecture 3: Glass User Experience
The Glass Class Lecture 3: Glass User Experience
 
Cory arcangel net art
Cory arcangel net artCory arcangel net art
Cory arcangel net art
 
COSC 426 Lect. 8: AR Research Directions
COSC 426 Lect. 8: AR Research DirectionsCOSC 426 Lect. 8: AR Research Directions
COSC 426 Lect. 8: AR Research Directions
 
Introduction of augmented reality
Introduction of augmented realityIntroduction of augmented reality
Introduction of augmented reality
 
Amyko Teaser
Amyko TeaserAmyko Teaser
Amyko Teaser
 
Design for Women Wearable Technology/Personal Protection 2016
Design for Women Wearable Technology/Personal Protection 2016Design for Women Wearable Technology/Personal Protection 2016
Design for Women Wearable Technology/Personal Protection 2016
 
Wearable Technology Components Market by 2024- By BIS Research
Wearable Technology Components Market by 2024- By BIS ResearchWearable Technology Components Market by 2024- By BIS Research
Wearable Technology Components Market by 2024- By BIS Research
 
Smart Playing Cards A Ubiquitous Computing Game
Smart Playing Cards A Ubiquitous Computing GameSmart Playing Cards A Ubiquitous Computing Game
Smart Playing Cards A Ubiquitous Computing Game
 
Sample patent landscaping report-wearable biosensor on whrist
Sample patent landscaping report-wearable biosensor on whristSample patent landscaping report-wearable biosensor on whrist
Sample patent landscaping report-wearable biosensor on whrist
 
DODO Company IntroductionV2.2
DODO Company IntroductionV2.2DODO Company IntroductionV2.2
DODO Company IntroductionV2.2
 
Wearable Tech Market Trends - Q2 2014
Wearable Tech Market Trends - Q2 2014Wearable Tech Market Trends - Q2 2014
Wearable Tech Market Trends - Q2 2014
 
Introduction to Optical See-Through HMDs in AR
Introduction to Optical See-Through HMDs in ARIntroduction to Optical See-Through HMDs in AR
Introduction to Optical See-Through HMDs in AR
 
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...
WEARABLE ELECTRONICS/ TECHNOLOGY COMPONENTS (Memory, Battery, Display, Connec...
 
The Leader in 2025 | Navigating a Changing Landscape
The Leader in 2025 | Navigating a Changing LandscapeThe Leader in 2025 | Navigating a Changing Landscape
The Leader in 2025 | Navigating a Changing Landscape
 
WearAbility = Wearable Computers and Accessibilty
WearAbility =  Wearable Computers and AccessibiltyWearAbility =  Wearable Computers and Accessibilty
WearAbility = Wearable Computers and Accessibilty
 
Patent landscaping report wearable bio sensor on wrist-en_20160407
Patent landscaping report wearable bio sensor on wrist-en_20160407Patent landscaping report wearable bio sensor on wrist-en_20160407
Patent landscaping report wearable bio sensor on wrist-en_20160407
 
Wearable Technology Sep 2013
Wearable Technology Sep 2013Wearable Technology Sep 2013
Wearable Technology Sep 2013
 

Similar to Designing Wearable Interfaces: A History and Overview

COMP 4026 Lecture 6 Wearable Computing
COMP 4026 Lecture 6 Wearable ComputingCOMP 4026 Lecture 6 Wearable Computing
COMP 4026 Lecture 6 Wearable ComputingMark Billinghurst
 
2016 AR Summer School - Lecture1
2016 AR Summer School - Lecture12016 AR Summer School - Lecture1
2016 AR Summer School - Lecture1Mark Billinghurst
 
The Glass Class Lecture 2: History
The Glass Class Lecture 2: HistoryThe Glass Class Lecture 2: History
The Glass Class Lecture 2: HistoryMark Billinghurst
 
426 lecture1: Introduction to AR
426 lecture1: Introduction to AR426 lecture1: Introduction to AR
426 lecture1: Introduction to ARMark Billinghurst
 
VRCAI 2011 Billinghurst Keynote
VRCAI 2011 Billinghurst KeynoteVRCAI 2011 Billinghurst Keynote
VRCAI 2011 Billinghurst KeynoteMark Billinghurst
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMark Billinghurst
 
COSC 426 Lect. 1 - Introduction to AR
COSC 426 Lect. 1 - Introduction to ARCOSC 426 Lect. 1 - Introduction to AR
COSC 426 Lect. 1 - Introduction to ARMark Billinghurst
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: PerceptionMark Billinghurst
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARMark Billinghurst
 
Ubiquitous Computing: an Introduction
Ubiquitous Computing: an IntroductionUbiquitous Computing: an Introduction
Ubiquitous Computing: an IntroductionAlessandra Agostini
 
Le PC est mort. Vive le PC!
Le PC est mort. Vive le PC!Le PC est mort. Vive le PC!
Le PC est mort. Vive le PC!Giorgio Pauletto
 
ISA11 - Mike Kuniavsky - Designing Smart Things
ISA11 - Mike Kuniavsky - Designing Smart ThingsISA11 - Mike Kuniavsky - Designing Smart Things
ISA11 - Mike Kuniavsky - Designing Smart ThingsInteraction South America
 
Geopaparazzi, state of the art
Geopaparazzi, state of the artGeopaparazzi, state of the art
Geopaparazzi, state of the artHirofumi Hayashi
 
Android slides
Android slidesAndroid slides
Android slides23375174
 

Similar to Designing Wearable Interfaces: A History and Overview (20)

COMP 4026 Lecture 6 Wearable Computing
COMP 4026 Lecture 6 Wearable ComputingCOMP 4026 Lecture 6 Wearable Computing
COMP 4026 Lecture 6 Wearable Computing
 
2016 AR Summer School - Lecture1
2016 AR Summer School - Lecture12016 AR Summer School - Lecture1
2016 AR Summer School - Lecture1
 
The Glass Class Lecture 2: History
The Glass Class Lecture 2: HistoryThe Glass Class Lecture 2: History
The Glass Class Lecture 2: History
 
426 lecture1: Introduction to AR
426 lecture1: Introduction to AR426 lecture1: Introduction to AR
426 lecture1: Introduction to AR
 
VRCAI 2011 Billinghurst Keynote
VRCAI 2011 Billinghurst KeynoteVRCAI 2011 Billinghurst Keynote
VRCAI 2011 Billinghurst Keynote
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introduction
 
COSC 426 Lect. 1 - Introduction to AR
COSC 426 Lect. 1 - Introduction to ARCOSC 426 Lect. 1 - Introduction to AR
COSC 426 Lect. 1 - Introduction to AR
 
2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception2022 COMP4010 Lecture2: Perception
2022 COMP4010 Lecture2: Perception
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile AR
 
Ubiquitous Computing: an Introduction
Ubiquitous Computing: an IntroductionUbiquitous Computing: an Introduction
Ubiquitous Computing: an Introduction
 
Le PC est mort. Vive le PC!
Le PC est mort. Vive le PC!Le PC est mort. Vive le PC!
Le PC est mort. Vive le PC!
 
Wearable Computers
Wearable ComputersWearable Computers
Wearable Computers
 
Wearable computers
Wearable computersWearable computers
Wearable computers
 
ISA11 - Mike Kuniavsky - Designing Smart Things
ISA11 - Mike Kuniavsky - Designing Smart ThingsISA11 - Mike Kuniavsky - Designing Smart Things
ISA11 - Mike Kuniavsky - Designing Smart Things
 
Geopaparazzi, state of the art
Geopaparazzi, state of the artGeopaparazzi, state of the art
Geopaparazzi, state of the art
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Android ppt.
Android ppt.Android ppt.
Android ppt.
 
Android slides
Android slidesAndroid slides
Android slides
 

More from Mark Billinghurst

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark 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 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
 

More from Mark Billinghurst (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
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 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
 

Recently uploaded

Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls KolkataCall Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一ss ss
 
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一Fi sss
 
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证gwhohjj
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Pooja Nehwal
 
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一C SSS
 
萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程1k98h0e1
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一diploma 1
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...srsj9000
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一zul5vf0pq
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一ga6c6bdl
 
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gayasrsj9000
 
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookvip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookmanojkuma9823
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...ranjana rawat
 
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一ga6c6bdl
 
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...Amil baba
 

Recently uploaded (20)

Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
 
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls KolkataCall Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
 
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
 
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证
原版1:1复刻斯坦福大学毕业证Stanford毕业证留信学历认证
 
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
 
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service
(SANA) Call Girls Landewadi ( 7001035870 ) HI-Fi Pune Escorts Service
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一
 
萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
 
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一
定制加拿大滑铁卢大学毕业证(Waterloo毕业证书)成绩单(文凭)原版一比一
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
 
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
 
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookvip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
 
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一
如何办理伦敦大学伯贝克学院毕业证(BBK毕业证) 成绩单留信学历认证原版一比一
 
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...
NO1 Qualified Best Black Magic Specialist Near Me Spiritual Healer Powerful L...
 

Designing Wearable Interfaces: A History and Overview

  • 1. The Glass Class Designing Wearable Interfaces May 27th, AWE 2014 Mark Billinghurst HIT Lab NZ University of Canterbury mark.billinghurst@canterbury.ac.nz Rob Lindeman VIVE Lab Worcester Polytechnic Institute gogo@wpi.edu
  • 3. Mark Billinghurst ▪  Director of HIT Lab NZ, University of Canterbury ▪  PhD Univ. Washington ▪  Research on AR, mobile HCI, Collaborative Interfaces ▪  More than 250 papers in AR, VR, interface design ▪  Sabbatical in Glass team at Google [x] in 2013
  • 4. Rob Lindeman ▪  Director of HIVE Lab, Worcester Polytechnic Instiute ▪  PhD The George Washington Univ. ▪  Research on 3DUI, VR, Gaming, HRI since 1993 ▪  Been wearing Glass non-stop (mostly, anayway) since Sept. 2013 ▪  Sabbatical at HIT Lab NZ in 2011-12 ▪  Program Co-Chair, ISMAR 2014 ▪  Love geocaching, soccer, skiing
  • 5.
  • 6.
  • 7. How do you Design for this?
  • 8. Course Goals In this course you will learn ▪  Introduction to head mounted wearable computers ▪  Understanding of current wearable technology ▪  Key design principles/interface metaphors ▪  Relevant human cognition/perception principles ▪  Rapid prototyping tools ▪  Overview of native coding/application development ▪  Areas for future research ▪  Hands on experience with the technology
  • 9. What You Won’t Learn ▪  Who are the companies/universities in this space ▪  See the AWE exhibit floor ▪  Designing for non-HMD based interfaces ▪  Watches, fitness bands, etc ▪  How to develop wearable hardware ▪  optics, sensor assembly, etc ▪  Evaluation methods ▪  Experimental design, statistics, etc
  • 10. Schedule 1:30 1. Introduction (Mark + Rob) 1:35 2. History and Technology (Mark) 1:55 3. User Experience and Design Principles (Mark) 2:15 4. Prototyping Tools (Mark) 2:50 Break/Demo 3:15 5. Native Programming (Rob) 4:00 6. Application Case studies (Det) 4:30 7. Technical Q & A (Everyone) 5:00 8. Research Directions (Mark + Rob) 5:30 Finish
  • 11. Display Demos You Can Try Google Glass Display Glass UI, AR demos, Games, multimedia capture Vuzix M-100 Display Monocular display Epson BT-100, Epson BT-200 See through displays AR Rift Occulus Rift for AR Recon Snow Micro-display integrated into ski goggles More at the AWE Exhibits
  • 12. 2: History and Technology
  • 13. A Brief History of Time ▪  Trend ▪  smaller, cheaper, more functions, more intimate ▪  Time pieces moved from public space onto the body 18th Century 20th Century 13th Century
  • 14. A Brief History of Computing Trend ▪  Smaller, cheaper, faster, more intimate ▪  Moving from fixed to handheld and onto body 1950’s 1980’s 1990’s
  • 15. Room Desk Lap Hand Head
  • 16. What is a Wearable Computer ? ▪  A computer that is: ▪  Portable while operational ▪  Enables hands-free/hands-limited use ▪  Able to get the user’s attention ▪  Is always on, acting on behalf of the user ▪  Able to sense the user’s current context Rhodes, B. J. (1997). The wearable remembrance agent: A system for augmented memory. Personal Technologies, 1(4), 218-224.
  • 17. In Other Words .. ▪  A computer that is .. ▪  Eudaemonic: User considers it part of him/herself ▪  Existential: User has complete control of the system ▪  Ephemeral: System always operating at some level Mann, S. (1997). Wearable computing: A first step toward personal imaging. Computer, 30(2), 25-32.
  • 18. Wearable Computing ▪  Computer on the body that is: ▪  Always on ▪  Always accessible ▪  Always connected ▪  Other attributes ▪  Augmenting user actions ▪  Aware of user and surroundings
  • 19. The Ideal Wearable ▪  Persists and Provides Constant Access: Designed for everyday and continuous user over a lifetime. ▪  Senses and Models Context: Observes and models the users environment, mental state, it’s own state. ▪  Augments and Mediates: Information support for the user in both the physical and virtual realities. ▪  Interacts Seamlessly: Adapts its input and output modalities to those most appropriate at the time. Starner, T. E. (1999). Wearable computing and contextual awareness (Doctoral dissertation, Massachusetts Institute of Technology).
  • 21. Augmented Interaction Rekimoto, J., & Nagao, K. (1995, December). The world through the computer: Computer augmented interaction with real world environments. In Proceedings of the 8th annual ACM symposium on User interface and software technology (pp. 29-36).
  • 22. ● Mixed Reality Continuum Milgram, P., & Kishino, F. (1994). A taxonomy of mixed reality visual displays. IEICE TRANSACTIONS on Information and Systems, 77(12), 1321-1329.
  • 23. ● Mediated Reality ▪ adsfas Mann, S., & Nnlf, S. M. (1994). Mediated reality.
  • 25. History of Wearables ▪  1960-90: Early Exploration ▪  Custom build devices ▪  1990 - 2000: Academic, Military Research ▪  MIT, CMU, Georgia Tech, EPFL, etc ▪  1997: ISWC conference starts ▪  1995 – 2005+: First Commercial Uses ▪  Niche industry applications, Military ▪  2010 - : Second Wave of Wearables ▪  Consumer applications, Head Worn
  • 26. Thorp and Shannon (1961) ▪  Wearable timing device for roulette prediction ▪  Audio feedback, four button input Ed Thorp Thorp, E. O. (1998, October). The invention of the first wearable computer. In Wearable Computers, 1998. Second International Symposium on (pp. 4-8). IEEE.
  • 27. Keith Taft (1972) ▪  Wearable computer for blackjack card counting ▪  Toe input, LED in Glasses for feedback Belt computer Shoe Input Glasses Display
  • 28. Steve Mann (1980s - ) http://wearcomp.org/
  • 29. MIT Wearable Computing (1993-) http://www.media.mit.edu/wearables/
  • 30. Enabling Technologies (1989+) ▪  Private Eye Display (Reflection Technologies) ▪  720 x 280 dipslay ▪  Red LED ▪  Vibrating mirror ▪  Twiddler (Handykey) ▪  Chording keypad ▪  Mouse emulation
  • 31. MIT Tin Lizzy (1993) ▪  General Purpose Wearable ▪  Doug Platt, Thad Starner ▪  150 MHz Pentium CPU ▪  32-64 Mb RAM ▪  6 Gb hard disk ▪  VGA display ▪  2 PCMCIA slots ▪  Cellular modem http://www.media.mit.edu/wearables/lizzy/lizzy/index.html
  • 34. Early Technology ▪  Computing ▪  Belt or Backpack ▪  Displays ▪  Head Mounted, LCD Panel, Audio ▪  Input Devices ▪  Chording Keyboard, Speech, Camera ▪  Networking ▪  Wireless LAN, Infra-Red, Cellular
  • 35. US Military Wearables (1989- ) ▪  Early experimentation ▪  386 computer, VGA display ▪  GPS, mapping software ▪  Land Warrior (1991-) ▪  Integrated wearable system ▪  Camera, colour display, radio ▪  Navigation, reports, photos Zieniewicz, M. J., Johnson, D. C., Wong, C., & Flatt, J. D. (2002). The evolution of army wearable computers. IEEE Pervasive Computing, 1(4), 30-40.
  • 36. CMU Wearables (1991–2000) ▪  Industry focused wearables ▪  Maintenance, repair ▪  Custom designed interface ▪  Dial/button input ▪  Rapid prototyping approach ▪  Industrial designed, ergonomic http://www.cs.cmu.edu/afs/cs/project/vuman/www/frontpage.html
  • 37.
  • 38. Early Commercial Systems ▪  Xybernaut (1996 - 2007) ▪  Belt worn, HMD, 200 MHz ▪  ViA (1996 – 2001) ▪  Belt worn, Audio Interface ▪  700 MHz Crusoe ■  Symbol (1998 – 2006) ■  Wrist worn computer ■  Finger scanner
  • 39. Prototype Applications ▪  Remembrance Agent ▪  Rhodes (97) ▪  Augmented Reality ▪  Feiner (97), Thomas (98) ▪  Remote Collaboration ▪  Garner (97), Kraut (96) ■  Maintenance ■  Feiner (93), Caudell (92) ▪  Factory Work ▪  Thompson (97)
  • 40. Mobile AR: Touring Machine (1997) ▪  University of Columbia ▪  Feiner, MacIntyre, Höllerer, Webster ▪  Combines ▪  See through head mounted display ▪  GPS tracking ▪  Orientation sensor ▪  Backpack PC (custom) ▪  Tablet input Feiner, S., MacIntyre, B., Höllerer, T., & Webster, A. (1997). A touring machine: Prototyping 3D mobile augmented reality systems for exploring the urban environment. Personal Technologies, 1(4), 208-217.
  • 41. MARS View ▪  Virtual tags overlaid on the real world ▪  “Information in place”
  • 42. Backpack/Wearable Systems 1997 Backpack Wearables ▪  Feiner’s Touring Machine ▪  AR Quake (Thomas) ▪  Tinmith (Piekarski) ▪  MCAR (Reitmayr) ▪  Bulky, HMD based Piekarski, W., & Thomas, B. (2002). ARQuake: the outdoor augmented reality gaming system. Communications of the ACM, 45(1), 36-38.
  • 43. PCI 3D Graphics Board Hard Drive Serial Ports CPU PC104 Sound Card PC104 PCMCIA GPS Antenna RTK correction Antenna HMD Controller Tracker Controller DC to DC Converter Battery Wearable Computer GPS RTK correction Radio Example self-built working solution with PCI-based 3D graphics Columbia Touring Machine Mobile AR - Hardware
  • 44. HIT Lab NZ Wearable AR (2004) ▪  Highly accurate outdoor AR tracking system ▪  GPS, Inertial, RTK system ▪  HMD ▪  First prototype ▪  Laptop based ▪  Video see-through HMD ▪  2-3 cm tracking accuracy
  • 45. 2008: Location Aware Phones Nokia NavigatorMotorola Droid
  • 46. 2009 - Layar (www.layar.com) •  Location based data – GPS + compass location – Map + camera view •  AR Layers on real world – Customized data – Audio, 3D, 2D content •  Easy authoring •  Android, iPhone
  • 47. Wearable Evolution Backpack+HMD: …10+ kg Handheld + HMD … Separate sensors .... UMPC 1.1GHz …1.5kg …still >$5K Scale it down more: Smartphone…$500 …Integrated …0.1kg …billions of units 1997 2003 2007
  • 49.
  • 50.
  • 51. ▪  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 Google Glass Specs
  • 52. Other Wearables ▪  Vuzix M-100 ▪  $999, professional ▪  Recon Jet ▪  $600, more sensors, sports ▪  Opinvent ▪  500 Euro, multi-view mode ▪  Motorola Golden-i ▪  Rugged, remote assistance
  • 53. Ex: Recon Instruments Snow Ski display/computer ▪  Location, speed, altitude, phone headset http://www.reconinstruments.com/
  • 56. dsfh
  • 59.
  • 60. Summary Wearables are a new class of computing Intimate, persistent, aware, accessible, connected Evolution over 50 year history Backpack to head worn Custom developed to consumer ready device Enables new applications Collaboration, memory, AR, industry, etc Many head worn wearables are coming Android based, sensor package, micro-display
  • 64. Key Properties of HMD ▪  Field of View ▪  Human eye 95 deg. H, 60/70 deg. V ▪  Resolution ▪  > 320x240 pixel ▪  Refresh Rate ▪  Focus ▪  Fixed/manual ▪  Size, Weight ▪  < 350g for long term ▪  Power
  • 65. Types of Head Mounted Displays Occluded See-thru Multiplexed
  • 66. Optical see-through HMD Virtual images from monitors Real World Optical Combiners
  • 68. Epson Moverio BT-200 ▪  Stereo see-through display ($700) ▪  960 x 540 pixels, 23 degree FOV, 60Hz, 88g ▪  Android Powered, separate controller ▪  VGA camera, GPS, gyro, accelerometer
  • 69. Strengths of optical see-through ▪  Simpler (cheaper) ▪  Direct view of real world ▪  Full resolution, no time delay (for real world) ▪  Safety ▪  Lower distortion ▪  No eye displacement ▪  see directly through display
  • 72. Vuzix Wrap 1200DXAR ▪  Stereo video see-through display ($1500) ■ Twin 852 x 480 LCD displays, 35 deg. FOV ■ Stereo VGA cameras ■ 3 DOF head tracking
  • 73. Strengths of Video See-Through ▪  True occlusion ▪  Block image of real world ▪  Digitized image of real world ▪  Flexibility in composition ▪  Matchable time delays ▪  More registration, calibration strategies ▪  Wide FOV is easier to support ▪  wide FOV camera
  • 74. Multiplexed Displays ▪  Above or below line of sight ▪  Strengths ▪  User has unobstructed view of real world ▪  Simple optics/cheap ▪  Weaknesses ▪  Direct information overlay difficult •  Display/camera offset from eyeline ▪  Wide FOV difficult
  • 75. Vuzix M-100 ▪  Monocular multiplexed display ($1000) ■ 852 x 480 LCD display, 15 deg. FOV ■ 5 MP camera, HD video ■ GPS, gyro, accelerometer
  • 76. Display Types ▪  Curved Mirror ▪  off-axis projection ▪  curved mirrors in front of eye ▪  high distortion, small eye-box ▪  Waveguide ▪  use internal reflection ▪  unobstructed view of world ▪  large eye-box
  • 77. See-through thin displays ▪  Waveguide techniques for thin see-through displays ▪  Wider FOV, enable AR applications ▪  Social acceptability Opinvent Ora
  • 78. Waveguide Methods See: http://optinvent.com/HUD-HMD-benchmark#benchmarkTable Holographic Hologram diffracts light Limited FOV Colour bleeding Diffractive Slanted gratings Total internal reflection Costly, small FOV
  • 79. Waveguide Methods See: http://optinvent.com/HUD-HMD-benchmark#benchmarkTable Clear-Vu Reflective Several reflective elements Thinner light guide Large FOV, eye-box Reflective Simple reflective elements Lower cost Size is function of FOV
  • 81. Input Options ▪  Physical Devices ▪  Keyboard ▪  Pointer ▪  Stylus ▪  Natural Input ▪  Speech ▪  Gesture ▪  Other ▪  Physiological
  • 82. Twiddler Input ▪  Chording or multi-tap input ▪  Possible to achieve 40 - 60 wpm after 30+ hours ▪  Chording input about 50% faster than multi-tap ▪  cf 20 wpm on T9, or 60+ wpm for QWERTY Lyons, K., Starner, T., Plaisted, D., Fusia, J., Lyons, A., Drew, A., & Looney, E. W. (2004, April). Twiddler typing: One-handed chording text entry for mobile phones. In Proceedings of the SIGCHI conference on Human factors in computing systems (pp. 671-678). ACM.
  • 83. Virtual Keyboards ▪  In air text input ▪  Virtual QWERTY keyboard up to 20 wpm -  On real keyboard around 45-60+ wpm ▪  Word Gesture up to 28 wpm -  On tablet/phone Word Gesture up to 47 wpm ▪  Handwriting around 20-30 wpm A. Markussen, et. al. Vulture: A Mid-Air Word-Gesture Keyboard (CHI 2014)
  • 84. Unobtrusive Input Devices ▪  GestureWrist ▪  Capacitive sensing ▪  Change signal depending on hand shape Rekimoto, J. (2001). Gesturewrist and gesturepad: Unobtrusive wearable interaction devices. In Wearable Computers, 2001. Proceedings. Fifth International Symposium on (pp. 21-27). IEEE.
  • 85. Unobtrusive Input Devices ▪  GesturePad ▪  Capacitive multilayered touchpads ▪  Supports interactive clothing
  • 86. Skinput Using EMG to detect muscle activity Tan, D., Morris, D., & Saponas, T. S. (2010). Interfaces on the go. XRDS: Crossroads, The ACM Magazine for Students, 16(4), 30-34.
  • 87. Issues to Consider ▪  Fatigue ▪  “Gorrilla” Arm from free-hand input ▪  Comfort ▪  People want to do small gestures by waist ▪  Interaction on the go ▪  Can input be done while moving?
  • 88. Interaction on the Go ▪  Fitt’s law still applies while interacting on the go ▪  Eg: Tapping while walking reduces speed by > 35% ▪  Increased errors while walking Lin, M., Goldman, R., Price, K. J., Sears, A., & Jacko, J. (2007). How do people tap when walking? An empirical investigation of nomadic data entry.International Journal of Human-Computer Studies, 65(9), 759-769.
  • 89. 3: User Experience and Design Principles
  • 91. ● View Through Google Glass Always available peripheral information display Combining computing, communications and content capture
  • 92. Google Glass User Interface • dfasdf
  • 95. 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
  • 96. Living Heads Up vs. Heads Down
  • 97.
  • 100.
  • 101.
  • 102.
  • 104. Vipaar Telemedicine • Vipaar + UAB - http://www.vipaar.com • Endoscopic view streamed remotely • Remote expert adds hands – viewed in Glass
  • 105. ● CityViewAR ▪ Using AR to visualize Christchurch city buildings ▪ 3D models of buildings, 2D images, text, panoramas ▪ AR View, Map view, List view ▪ Available on Android/iOS market
  • 106. ● CityViewAR on Glass ▪ AR overlay of virtual buildings in Christchurch
  • 108. Last year Last week NowForever The Now machine Focus on location, contextual and timely information, and communication.
  • 109. It's  like  a  rear  view  mirror     Don't  overload  the  user.  S7ck  to  the   absolutely  essen7al,  avoid  long   interac7ons.  Be  explicit.      
  • 110. Micro-Interactions ▪  On mobiles people split attention between display and real world
  • 111. ● Time Looking at Screen Oulasvirta, A. (2005). The fragmentation of attention in mobile interaction, and what to do with it. interactions, 12(6), 16-18.
  • 112. ● Dividing Attention to World ▪ Number of times looking away from mobile screen
  • 113. Design for MicroInteractions ▪  Design interaction less than a few seconds ▪  Tiny bursts of interaction ▪  One task per interaction ▪  One input per interaction ▪  Benefits ▪  Use limited input ▪  Minimize interruptions ▪  Reduce attention fragmentation
  • 114. ● Design for Cognitive Load Cognitive continuums (a) Input, (b) Output Increase cognitive load from left to right
  • 115. Design for Interruptions ▪  Gradually increase engagement and attention load ▪  Respond to user engagement Receiving SMS on Glass “Bing” Tap Swipe Glass Show Message Start Reply User Look Up Say Reply
  • 116. Nomadic Radio (2000) ▪  Spatial audio wearable interface Sawhney, N., & Schmandt, C. (2000). Nomadic radio: speech and audio interaction for contextual messaging in nomadic environments. ACM transactions on Computer-Human interaction (TOCHI), 7(3), 353-383.
  • 117. Spatial Audio Metaphor Messages/Events arranged depending on time of day
  • 118. Notification Interruptions ▪  Dynamic scaling of incoming message based on interruptibility of the user ▪  Busy = silence ▪  Availble = preview
  • 119. Layered Audio Notifications Background ambient audio Notification scale depending on priority
  • 120. ● 1. Design For the Device ▪ Simple, relevant information ▪ Complement existing devices
  • 121. ● 2. Don’t Get in the Way ▪ Enhance, not replace, real world interaction
  • 122. ● 3. Keep it Relevant ▪ Information at the right time and place
  • 123. ● 4. Avoid the Unexpected ▪ Don’t send unexpected content at wrong times ▪ Make it clear to users what your application does
  • 124. ● 5. Build for People ▪ Use imagery, voice interaction, natural gestures ▪ Focus on fire and forget interaction model
  • 125. Other Guidelines ▪  Don’t design a mobile app ▪  Design for emotion ▪  Make it glanceable ▪  Do one thing at a time ▪  Reduce number of information chunks ▪  Design for indoor and outdoor use
  • 126. ●  As technology becomes more personal and immediate, it can start to disappear. Distant Intimate
  • 128. How can we quickly prototype Wearable experiences with little or no coding?
  • 129. Why Prototype? ▪  Quick visual design ▪  Capture key interactions ▪  Focus on user experience ▪  Communicate design ideas ▪  “Learn by doing/experiencing”
  • 130. Prototyping Tools ▪  Static/Low fidelity ▪  Sketching ▪  User interface templates ▪  Storyboards/Application flows ▪  Screen sharing ▪  Interactive/High fidelity ▪  Wireframing tools ▪  Mobile prototyping ▪  Native Coding
  • 131. Important Note ▪  Most current wearables run Android OS ▪  eg Glass, Vuzix, Atheer, Epson, etc ▪  So many tools for prototyping on Android mobile devices will work for wearables ▪  If you want to learn to code, learn ▪  Java, Android, Javascript/PHP
  • 132. Typical Development Steps ▪  Sketching ▪  Storyboards ▪  UI Mockups ▪  Interaction Flows ▪  Video Prototypes ▪  Interactive Prototypes ▪  Final Native Application Increased Fidelity & Interactivity
  • 133. Sketched Interfaces ▪  Sketch + Powerpoint/Photoshop/Illustrator
  • 134. GlassSim – http://glasssim.com/ ▪  Simulate the view through Google Glass ▪  Multiple card templates
  • 135. GlassSim Card Builder ▪  Use HTML for card details ▪  Multiple templates ▪  Change background ▪  Own image ▪  Camera view
  • 137. Screen Sharing ▪  Android Design Preview ▪  Tool for sharing screen content onto Glass ▪  https://github.com/romannurik/ AndroidDesignPreview/releases Mac Screen Glass
  • 138. Glass UI Templates ▪  Google Glass Photoshop Templates ▪  http://glass-ui.com/ ▪  http://dsky9.com/glassfaq/the-google-glass-psd-template/
  • 139. Sample Slides From Templates
  • 141. ToolKit for Designers ▪  Vectoform Google Glass Toolkit for Designers ▪  http://blog.vectorform.com/2013/09/16/google-glass- toolkit-for-designers-2/ ▪  Sample cards, app flows, icons, etc
  • 143. Limitations ▪  Positives ▪  Good for documenting screens ▪  Can show application flow ▪  Negatives ▪  No interactivity/transitions ▪  Can’t be used for testing ▪  Can’t deploy on wearable ▪  Can be time consuming to create
  • 145.
  • 146. ▪ Series of still photos in a movie format. ▪ Demonstrates the experience of the product ▪ Discover where concept needs fleshing out. ▪ Communicate experience and interface ▪ You can use whatever tools, from Flash to iMovie. Video Sketching
  • 150. Interactive Wireframing ▪  Developing interactive interfaces/wireframes ▪  Transitions, user feedback, interface design ▪  Web based tools ▪  UXpin - http://www.uxpin.com/ ▪  proto.io - http://www.proto.io/ ▪  Native tools ▪  Justinmind - http://www.justinmind.com/ ▪  Axure - http://www.axure.com/
  • 151. UXpin - www.uxpin.com ▪  Web based wireframing tool ▪  Mobile/Desktop applications ▪  Glass templates, run in browser https://www.youtube.com/watch?v=0XtS5YP8HcM
  • 152. Proto.io - http://www.proto.io/ ▪  Web based mobile prototyping tool ▪  Features ▪  Prototype for multiple devices ▪  Gesture input, touch events, animations ▪  Share with collaborators ▪  Test on device
  • 154. Demo: Building a Simple Flow
  • 155. Gesture Flow Scr1 Scr2 Scr3 Scr4 Scr5 Scr6 Ta p Swipe
  • 157. Demo
  • 158. Justinmind - http://www.justinmind.com/ ▪  Native wireframing tool ▪  Build mobile apps without programming ▪  drag and drop, interface templates ▪  web based simulation ▪  test on mobile devices ▪  collaborative project sharing ▪  Templates for Glass, custom templates
  • 159. User Interface - Glass Templates
  • 161. Wireframe Limitations ▪  Can’t deploy on Glass ▪  No access to sensor data ▪  Camera, orientation sensor ▪  No multimedia playback ▪  Audio, video ▪  Simple transitions ▪  No conditional logic ▪  No networking
  • 163. 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 ▪  Strong Android support ▪  Generates Android .apk file
  • 164. Processing - Motivation ▪  Language of Interaction ▪  Sketching with code ▪  Support for rich interaction ▪  Large developer community ▪  Active help forums ▪  Dozens of plug-in libraries ▪  Strong Android support ▪  Easy to run on wearables
  • 168. Basic Parts of a Processing Sketch/* Notes comment */ //set up global variables float moveX = 50; //Initialize the Sketch void setup (){ } //draw every frame void draw(){ }
  • 169. Importing Libraries ▪  Can add functionality by Importing Libraries ▪  java archives - .jar files ▪  Include import code import processing.opengl.*; ▪  Popular Libraries ▪  Minim - audio library ▪  OCD - 3D camera views ▪  Physics - physics engine ▪  bluetoothDesktop - bluetooth networking
  • 171. Processing and Glass ▪  One of the easiest ways to build rich interactive wearable applications ▪  focus on interactivity, not coding ▪  Collects all sensor input ▪  camera, accelerometer, touch ▪  Can build native Android .apk files ▪  Side load onto Glass
  • 172. Example: 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); }
  • 173. Demo
  • 174. 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); }
  • 175. Demo
  • 176. 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;
  • 177. 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;
  • 178. Demo
  • 179. 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;
  • 180. 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); }
  • 182. Using the Camera ▪  Import camera library ▪  import ketai.camera.*; ▪  KetaiCamera cam; ▪  Setup in Setup( ) function ▪ cam = new KetaiCamera(this, 640, 480, 15); ▪  Draw camera image void draw() { //draw the camera image image(cam, width/2, height/2); }
  • 184. Timeline Demo ▪  Create Card Class ▪  load image, card number, children/parent cards ▪  Timeline Demo ▪  Load cards in order ▪  Translate cards with finger motion ▪  Swipe cards in both directions ▪  Snap cards into position
  • 187. Fake Display 3D print Thingiverse model see http://www.thingiverse.com/thing:65706 Have the social impact of Google Glass without the cost
  • 188. Build Your Own Wearable ▪  MyVu display + phone + sensors
  • 190. Rasberry Pi Glasses ▪  Modify video glasses, connect to Rasberry Pi ▪  $200 - $300 in parts, simple assembly ▪  https://learn.adafruit.com/diy-wearable-pi-near-eye-kopin-video- glasses
  • 191. Physical Input Devices ▪  Can we develop unobtrusive input devices ? ▪  Reduce need for speech, touch pad input ▪  Socially more acceptable ▪  Examples ▪  Ring, ▪  pendant, ▪  bracelet, ▪  gloves, etc
  • 192. Prototyping Platform Arduino Kit Bluetooth Shield Google Glass
  • 193. Example: Glove Input ▪  Buttons on fingertips ▪  Map touches to commands
  • 194. Example: Ring Input ▪  Touch strip, button, accelerometer ▪  Tap, swipe, flick actions
  • 196. Summary ▪  Prototyping for wearables is similar to mobiles ▪  Tools for UI design, storyboarding, wireframing ▪  Android tools to create interactive prototypes ▪  App Inventor, Processing, etc ▪  Arduino can be used for hardware prototypes ▪  Once prototyped Native Apps can be built ▪  Android + SDK for each platform
  • 197. Other Tools ▪  Wireframing ▪  pidoco ▪  FluidUI ▪  Rapid Development ▪  Phone Gap ▪  AppMachine ▪  Interactive ▪  App Inventor ▪  Unity3D ▪  WearScript
  • 198. App Inventor - http://appinventor.mit.edu/ ▪  Visual Programming for Android Apps ▪  Features ▪  Access to Android Sensors ▪  Multimedia output ▪  Drag and drop web based interface ▪  Designer view – app layout ▪  Blocks view – program logic/control
  • 201. Orientation Demo ▪  Use wearable orientation sensor
  • 202. ● Unity for Glass Dev  Unity has built-in support for sensors on Android devices on a low level. Third-party plugins like GyroDroid provides high-level access to every single sensor.  rotation vector  gyroscope  accelerometer  linear acceleration  gravity  light  proximity  orientation  pressure  magnetic field  processor temperature  ambient temperature  relative humidity
  • 203. ● Unity for Glass Dev  Screenshots
  • 204. ● Unity for Glass Dev  Unity + GDK for Glass Touchpad  Use the AndroidInput.touchCountSecondary method to get touch numbers on the Glass touchpad.  Use the AndroidInput.GetSecondaryTouch() static method to get a specific touch on the Glass touchpad.  Use the AndroidInput.GetSecondaryTouch().phase to detect the touch gesture on the Glass touchpad
  • 205. ● Unity for Glass Dev  Example  if(AndroidInput.touchCountSecondary == 2) …… // if there are two touches  if(AndroidInput.GetSecondaryTouch(0).phase == TouchPhase.Moved) …… // if the first touch is moving  float pos1X = AndroidInput.GetSecondaryTouch(1).position.x; // get the second touch postion x value
  • 206. ● Android API in Unity for Glass  Support Touchpad Input for Google Glass  API: //Indicating whether the system provides secondary touch input. AndroidInput.secondaryTouchEnabled //Indicating the height of the secondary touchpad. AndroidInput.secondaryTouchHeight //Indicating the width of the secondary touchpad. AndroidInput.secondaryTouchWidth //Number of secondary touches.. AndroidInput.touchCountSecondary //Returns object representing status of a specific touch on a secondary touchpad . AndroidInput.GetSecondaryTouch
  • 207. ● Android API in Unity for Glass  Example: /* Detect touch number on the Glass touchpad*/ Debug.Log("Touchpad", "Touch count: " + AndroidInput.touchCountSecondary); if(AndroidInput.touchCountSecondary >= 2) { ...... } /* Detect touch gesture on the Glass touchpad*/ if(AndroidInput.GetSecondaryTouch(0).phase == TouchPhase.Moved } http://docs.unity3d.com/Documentation/ScriptReference/TouchPhase.html http://stackoverflow.com/questions/20441090/how-can-create-touch-screen-android- scroll-in-unity3d
  • 208. ● Android API in Unity for Glass  Detect Google Glass in Unity C# Script  API: SystemInfo.deviceModel  Functionality: Provides the model of the device.
  • 209. ● Android API in Unity for Glass  Example: /* Show different GUIs for different devices */ Debug.Log("Android model", SystemInfo.deviceModel); if(SystemInfo.deviceModel.contains("Glass")) { Debug.Log("Android", "Google Glass detected"); // Active GUI for Glass ...... } else { Debug.Log("Android", "Phone or Tablet detected"); // Active GUI for Phone or Tablet ...... }
  • 210. WearScript ▪  JavaScript development for Glass ▪  http://www.wearscript.com/en/ ▪  Script directory ▪  http://weariverse.com/
  • 211. ● WearScript Features ▪ Community of Developers ▪ Easy development of Glass Applications ▪ GDK card format ▪ Support for all sensor input ▪ Support for advanced features ▪ Augmented Reality ▪ Eye tracking ▪ Arduino input
  • 212. ● WearScript Playground ▪ Test code and run on Glass ▪ https://api.wearscript.com/
  • 214. Overview ▪  For best performance need native coding ▪  Low level algorithms etc ▪  Most current wearables based on Android OS ▪  Need Java/Android skills ▪  Many devices have custom API/SDK ▪  Vusix M-100: Vusix SDK ▪  Glass: Mirror API, Glass Developer Kit (GDK)
  • 215. Mirror API + Glass GDK
  • 217. Glassware and Timeline ▪  Static Cards ▪  Static content with text, HTML, images, and 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
  • 218. Glassware Development ▪  Mirror API ▪  Server programming, online/web application ▪  Static cards / timeline management ▪  GDK ▪  Android programming, Java (+ C/C++) ▪  Live cards & Immersions ▪  See: https://developers.google.com/glass/
  • 219. ▪  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
  • 220. GDK ▪  Glass Development Kit ▪  Android 4.0.3 ICS + Glass specific APIs ▪  Use standard Android Development Tools
  • 221. ▪  GDK add-on features ▪  Timeline and cards ▪  Menu and UI ▪  Touch pad and gesture ▪  Media (sound, camera and voice input) GDK
  • 222. Glass Summary ▪  Use Mirror API if you need ... ▪  Use GDK if you need ... ▪  Or use both
  • 223. ● An Introduction to Glassware Development - GDK - Rob Lindeman gogo@wpi.edu Human Interaction in Virtual Environments (HIVE) Lab Worcester Polytechnic Institute Worcester, MA, USA http://www.cs.wpi.edu/~gogo/hive/ * Images in the slides are from variety of sources, including http://developer.android.com and http://developers.google.com/glass
  • 224. ● Thanks to Gun Lee! ▪ Most of this material was developed by Gun Lee at the HIT Lab NZ. ▪ He’s a rock star!
  • 225. Rob Lindeman ▪  Director of HIVE Lab, Worcester Polytechnic Instiute ▪  PhD The George Washington Univ. ▪  Research on 3DUI, VR, Gaming, HRI since 1993 ▪  Been wearing Glass non-stop (mostly, anayway) since Sept. 2013 ▪  Sabbatical at HIT Lab NZ in 2011-12 ▪  Program Co-Chair, ISMAR 2014 ▪  Love geocaching, soccer, skiing
  • 226. ● 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/
  • 227. ● 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
  • 228. ● GDK ▪ Glass Development Kit ▪ Android 4.4.2 + Glass specific APIs ▪ Use standard Android Development Tools
  • 229. ● GDK ▪ GDK add-on features ▪ Timeline and cards ▪ Menu and UI ▪ Touch pad and gesture ▪ Media (sound, camera and voice input)
  • 230. ● Development Environment Setup ▪ JDK (1.6 or above, using 1.8 for the tutorial) ▪ http://www.oracle.com/technetwork/java/javase/ downloads/index.html ▪ ADT Bundle (Eclipse + Android SDK) ▪ http://developer.android.com/sdk/index.html ▪ With Android SDK Manager (select Window>Android SDK Manager from Eclipse menu) install: - Tools > Android Build-tools (latest version) - Android 4.4.2 (API 19) SDK Platform, ARM System Image, Google APIs, Glass Development Kit Preview - Extras > Google USB Driver (only for Windows Platform)
  • 231. ● Create an Android App Project ▪ In Eclipse ▪ File > New > (Other > Android>) Android Application Project ▪ Fill in the Application name, Project name, and Java package namespace to use ▪ Choose SDK API 19: Android 4.4.2 for all SDK settings ▪ Use default values for the rest
  • 232. ● Virtual Device Definition for Glass ▪ Window > Android Virtual Device Manager > Device Definitions > New Device ▪ 640x360px ▪ 3 in. (hdpi) ▪ Landscape
  • 233. ● 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, fewer user input constraints
  • 236. ● Live Cards vs. Immersions
  • 237. ● Develop with GDK ▪ Android 4.4.2 (API 19) SDK and GDK Preview from the Android SDK Manager. ▪ Project settings: ▪ Minimum and Target SDK Versions: 19 ▪ Compile with: GDK Preview ▪ 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
  • 238. ● Hello World - Immersion ▪ App/Activity without theme ▪ Allows the Glass theme to be applied. ▪ Add voice trigger for launching ▪ Touch input and Menu ▪ Voice recognition for text input
  • 239. ● Voice Trigger for Launching ▪ Add intent filter to your main Acivity in AndroidManifest.xml ▪ Add xml/voice_trigger.xml to res folder ▪ Can use additional follow up voice recognition prompts if needed <uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" /> … <intent-filter> <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger“ android:resource="@xml/voice_trigger" /> <?xml version="1.0" encoding="utf-8"?> <trigger keyword="hello world" /> https://developers.google.com/glass/develop/gdk/input/voice
  • 240. ● Official Voice Triggers on MyGlass ▪ listen to ▪ take a note ▪ post an update ▪ show a compass ▪ start a run ▪ start a bike ride ▪ find a recipe ▪ record a recipe ▪ check me in •  start a stopwatch •  start a timer •  start a round of golf •  translate this •  learn a song •  tune an instrument •  play a game •  start a workout https://developers.google.com/glass/develop/gdk/input/voice
  • 241. ● Touch Input as Key Input ▪ Touch input translated as DPAD key input ▪ Tap => KEYCODE_DPAD_CENTER ▪ Swipe down => KEYCODE_BACK ▪ Camera button => KEYCODE_CAMERA @Override public boolean onKeyDown( int keycode, KeyEvent event ) { if( keycode == KeyEvent.KEYCODE_DPAD_CENTER ) { // user tapped touchpad, do something return true; } … return false; } https://developers.google.com/glass/develop/gdk/input/touch
  • 242. ● Touch Input ▪ onGenericMotionEvent( MotionEvent event ) @Override public boolean onGenericMotionEvent( MotionEvent event ) { switch( event.getAction( ) ) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; } return super.onGenericMotionEvent( event ); } https://developers.google.com/glass/develop/gdk/input/touch
  • 243. ● Touch gestures ▪ GDK provides GestureDetector for Glass ▪ com.google.android.glass.touchpad.GestureDetector - NOT android.view.GestureDetector ▪ BaseListener, FingerListener, ScrollListener, TwoFingerScrollListener ▪ Pass MotionEvent from onGenericMotionEvent( ) ▪ gestureDetector.onMotionEvent( event ); https://developers.google.com/glass/develop/gdk/input/touch https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/touchpad/GestureDetector
  • 244. ● Live Demo •  Handling Key input •  Touch input and Detecting gestures
  • 245. ● Menu ▪ Open options menu on tap ▪ openOptionsMenu( ) ▪ Add 50x50 pixel icons in the menu resource XML ▪ android:icon="@drawable/icon" - https://developers.google.com/glass/tools- downloads/menu_icons.zip ▪ Show/hide/update menu items if needed ▪ onPrepareOptionsMenu( ) https://developers.google.com/glass/develop/gdk/ui/immersion-menus
  • 247. ● Voice Input ▪ Start activity for result with system action ▪ Customize prompt with intent extra ▪ Recognized strings returned in intent data of onActivityResult( ) intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH ); startActivityForResult( intent, 0 ); intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "What is your name?” ); intentData.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS ); https://developers.google.com/glass/develop/gdk/input/voice http://developer.android.com/reference/android/speech/RecognizerIntent.html
  • 249. ● Hello World - Immersion ++ ▪ Play Sounds & Text-to-speech ▪ Take a picture with camera ▪ Card based info page
  • 250. ● Playing Sounds & TTS ▪ Glass system sounds ▪ Text-to-speech ▪ Create/destroy TTS in onCreate/onDestroy( ) https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/media/Sounds AudioManager am = ( AudioManager )getSystemService( Context.AUDIO_SERVICE ); am.playSoundEffect( Sounds.ERROR ) // DISALLOWED, DISMISSED, ERROR, SELECTED, SUCCESS, TAP TextToSpeech tts = new TextToSpeech( context, ttsOnInitListener ); … tts.speak( “Hello world!”, TextToSpeech.QUEUE_FLUSH, null ); tts.shutdown( ); http://developer.android.com/reference/android/speech/tts/TextToSpeech.html
  • 251. ● Playing Custom Sounds ▪ Put sound files in res/raw ▪ Load sounds to SoundPool object to play soundPool = new SoundPool( MAX_STREAM, AudioManager.STREAM_MUSIC, 0 ); int soundOneID = soundPool.load( context, R.raw.sound1, 1 ); int soundTwoID = soundPool.load( context, R.raw.sound2, 1 ); … soundPool.play( int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate ) http://developer.android.com/reference/android/media/SoundPool.html
  • 252. ● Live Demo •  Playing Sounds and Text-to-Speech
  • 253. ● Camera Input ▪ Calling the Glass built-in camera activity with startActivityForResult( ) and Action Intent, returned with file path to image/video through Intent extra data. ▪ Low level access to camera with the Android Camera API. ▪ http://developer.android.com/reference/android/ hardware/Camera.html https://developers.google.com/glass/develop/gdk/media-camera/camera
  • 254. ● Camera with Action Intent private void takePicture( ) { Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE ); startActivityForResult( intent, TAKE_PICTURE ); } @Override protected void onActivityResult( int requestCode, int resultCode, Intent data ) { if( requestCode == TAKE_PICTURE && resultCode == RESULT_OK ) { String picturePath = data.getStringExtra( CameraManager.EXTRA_PICTURE_FILE_PATH ); // smaller picture available with EXTRA_THUMBNAIL_FILE_PATH processPictureWhenReady( picturePath ); // file might not be ready for a while } super.onActivityResult( requestCode, resultCode, data ); }
  • 256. ● Scrolling Cards in Activity ▪ Set a CardScrollView as the content view ▪ Use a custom class extending the CardScrollAdapter class to populate the CardScrollView https://developers.google.com/glass/develop/gdk/ui/theme-widgets https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/package- summary CardScrollView cardScrollView = new CardScrollView( this ); cardScrollView.setAdapter( new InfoCardScrollAdapter( ) ); cardScrollView.activate( ); setContentView( cardScrollView );
  • 257. ● Scrolling Cards in Activity ▪ In your custom CardScrollAdapter class ▪ Create a list of cards ▪ Implement abstract methods in your custom CardScrollAdapter class - int getCount( ) => return the number of cards (items) - Object getItem( int position ) => return the card at position - View getView( int position, View convertView, ViewGroup parentView ) => return the view of the card at position - int getPosition( Object item ) => find and return the position of the given item (card) in the list. (return -1 for error) https://developers.google.com/glass/develop/gdk/ui/theme-widgets https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/package- summary
  • 258. ● Live Demo •  Scrolling Cards •  Live Cards •  Viewforia •  NyARToolkit
  • 261.
  • 263.
  • 264.
  • 266.
  • 267.
  • 268.
  • 269.
  • 270.
  • 271.
  • 272.
  • 274. “You mustn't be afraid to dream a little bigger, darling”
  • 276. Det Ansinn President & Founder BrickSimple LLC det@bricksimple.com Twitter: @detansinn G+: +detansinn Cell: 215.771.8680
  • 279. Challenges for the Future (2001) ▪  Privacy ▪  Power use ▪  Networking ▪  Collaboration ▪  Heat dissipation ▪  Interface design ▪  Intellectual tools ▪  Augmented Reality systems Starner, T. (2001). The challenges of wearable computing: Part 1. IEEE Micro,21(4), 44-52. Starner, T. (2001). The challenges of wearable computing: Part 2. IEEE Micro,21(4), 54-67.
  • 282. Capturing Behaviours ▪  3 Gear Systems ▪  Kinect/Primesense Sensor ▪  Two hand tracking ▪  http://www.threegear.com
  • 283. Gesture Interaction With Glass ▪  3 Gear Systems ▪  Hand tracking ▪  Hand data sent to glass ▪  Wifi networking ▪  Hand joint position ▪  AR application rendering ▪  Vuforia tracking
  • 284. Performance ▪  Full 3d hand model input ▪  10 - 15 fps tracking, 1 cm fingertip resolution
  • 285. User Study ▪  Gesture vs. Touch pad vs. Combined input ▪  Gesture 3x faster, no difference in accuracy
  • 286. ● Meta Gesture Interaction ▪ Depth sensor + Stereo see-through ▪ https://www.spaceglasses.com/
  • 289. Ego-Vision Collaboration ▪  Wearable computer ▪  camera + processing + display + connectivity
  • 290. Current Collaboration ▪  First person remote conferencing/hangouts ▪  Limitations -  Single POV, no spatial cues, no annotations, etc
  • 291. Sharing Space: Social Panoramas ▪  Capture and share social spaces in real time ▪  Enable remote people to feel like they’re with you
  • 292. Key Technology ▪  Google Glass ▪  Capture live panorama (compass + camera) ▪  Capture spatial audio, live video ▪  Remote device (desktop, tablet) ▪  Immersive viewing, live annotation
  • 293. Awareness Cues ▪  Where is my partner looking? ▪  Enhanced radar display, Context compass
  • 294. Interaction ▪  Glass Touchpad Input/Tablet Input ▪  Shared pointers, Shared drawing
  • 295. User Evaluation ▪  Key Results Visual cues significantly increase awareness Pointing cues preferred for collaboration Drawing on Glass difficult, ranked low in usability
  • 297. Resource Competition Framework ▪  Mobility tasks compete for cognitive resources with other tasks ▪  the most important given higher priority ▪  RCF is a method for analyzing this, based on: ▪  task analysis ▪  modelling cognitive resources ▪  a resource approach to attention Oulasvirta, A., Tamminen, S., Roto, V., & Kuorelahti, J. (2005, April). Interaction in 4-second bursts: the fragmented nature of attentional resources in mobile HCI. In Proceedings of the SIGCHI conference on Human factors in computing systems (pp. 919-928). ACM.
  • 298. RCF Key Assumptions Four Key Assumptions 1. Functional Modularity: cognitive system divided into functionally separate systems with diff. representations 2. Parallel Module Operation: cognitive modules operate in parallel, independent of each other 3. Limited Capacity: cognitive modules are limited in capacity with respect to time or content 4. Serial Central Operation: central coordination of modules (eg monitoring) is serial
  • 299. Cognitive Interference ▪  Structural interference ▪  Two or more tasks compete for limited resources of a peripheral system -  eg two cognitive processes needing vision ▪  Capacity interference ▪  Total available central processing overwhelmed by multiple concurrent tasks -  eg trying to add and count at same time
  • 300. Cognitive Resources & Limitations asdfasdf
  • 301. Using RCF 1. Map cognitive faculty to task 2. Look for conflicts/overloads 3. Analyse for competition for attention 4. Look for opportunities for technology to reduce conflicts/competition
  • 302. Example: Going to work .. Which is the most cognitively demanding?
  • 303.
  • 304. Application of RCF Busy street > Escalator > Café > Laboratory. But if you made Wayfinding, Path Planning, Estimating Time to Target, Collision Avoidance easier?
  • 306. How is the User Perceived?
  • 308.
  • 309.
  • 310. ● The Future of Wearables
  • 312. Online Wearables Exhibit Online at http://wcc.gatech.edu/exhibition
  • 313. Glass Resources ▪  Main Developer Website ▪  https://developers.google.com/glass/ ▪  Glass Apps Developer Site ▪  http://glass-apps.org/glass-developer ▪  Google Design Guidelines Site ▪  https://developers.google.com/glass/design/ index?utm_source=tuicool ▪  Google Glass Emulator ▪  http://glass-apps.org/google-glass-emulator
  • 314. Other Resources ▪  AR for Glass Website ▪  http://www.arforglass.org/ ▪  Vandrico Database of wearable devices ▪  http://vandrico.com/database
  • 315. ● Glass UI Design Guidelines ▪ More guidelines ▪ https://developers.google.com/glass/design/index
  • 316. Books ▪  Programming Google Glass ▪  Eric Redmond ▪  Rapid Android Development: Build Rich, Sensor-Based Applications with Processing ▪  Daniel Sauter
  • 317. ▪ Microinteractions: Designing with Details ▪ Dan Saffer ▪ http://microinteractions.com/
  • 319. ● Conclusions ▪ Wearable computing represents a fourth generation of computing devices ▪ Google Glass is the first consumer wearable ▪ Lightweight, usable, etc ▪ A range of wearables will appear in 2014 ▪ Ecosystem of devices ▪ Significant research opportunities exist ▪ User interaction, displays, social impact
  • 320. Contact Details Mark Billinghurst ▪  email: mark.billinghurst@hitlabnz.org ▪  twitter: @marknb00 Rob Lindeman ▪  email: gogo@wpi.edu Feedback + followup form ▪  goo.gl/6SdgzA