ics3211 lecture 08

Post on 12-Jan-2017

469 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ICS3211 - Intelligent

Interfaces IICombining design with technology for effective

human-computer interaction

Week 8Department of Intelligent Computer

Systems,University of Malta,

2016

Interface Design I

Week 8 overview:

• Recap

• Interaction Design Process

• Using Processing

• Advanced Interface Technology

Learning OutcomesAt the end of this session you should be able to:

• Explore programming for visual design prototyping;

• Draw inferences about designing for different interfaces;

• Compare and contrast the different interfaces for use on the same application/game;

• List the research issues/gaps in the design for AR/VR applications;

• Describe some of the current research projects in AR/VR.

Cover

Download

Exhibition

» ownload Processing

» Play With Examples» Browse Tutorials

»

xhibition

Reference Libraries

Tools Environment

Tutorials Examples

Books

overview People

Foun dation

Shop

» Forum» GitHub» Issues>• Wild» FAQ

>• Twitt er»

Facebook

Processing is a program.ming language, development environmentand online community. Since 2001, Processing has promoted

software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer program.ming fundamentals within a

visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students,

artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

,. Free to download and open source

,. Interactive programs with 2D, 3D or PDF output

,. OpenGL integration for accelerated 3D

,. For GNU/Linux, Mac OS X and Windows

,. over 100 libraries extend the core software

,. Well docum ente d, with many books available

Keyfliesby Miles Peyton

I: p

!

Petting Zooby Minimaforms

Fragmented Memory by Phillip Steams

Experience Prototyping

The experience of even simple artifacts does not exist in a vacuum but, rather, in dynamic relationship with other people, places and objects.

Additionally, the quality of people’s experience changes over time as it is influenced by variations in these multiple contextual factors.

MORE PROCESSINGHow to do prototyping using Processing

Processing - starting out • https://processing.org/tutorials/gettingstarte

d/

• Open Source

• Interactive programs with 2D, 3D or PDF output

• OpenGL integration for accelerated 2D and 3D

• For GNU/Linux, Mac OS X, and Windows

• Over 100 libraries extend the core software

Basic Parts of a Sketch

/* Notes comment */!//set up global variables! float moveX = 50;!!

//Initialize the Sketch!(){!void setup

}!!

//draw every frame! void draw(){!}!

Sample Drawing

int m = 0;! float s =

0;!!

void setup(){!size(512,512);!background(255);!

}!!

void draw (){! fill(255,0,0);

!ellipse(mouseX,mouseY,s,s);!

}!!

void mouseMoved(){!s = 40 + 20*sin(++m/10.0f);!

}!

Drawing

•  draw() gets called as fast as possible, unless a frameRate is specified•  stroke() sets color of drawing outline•  fill() sets inside color of drawing•  mousePressed is true if mouse is down•  mouseX, mouseY - mouse position

!void draw() { !!stroke(255); !!if(mousePressed) {!

!line(mouseX, mouseY, pmouseX, pmouseY);!!}!

!!!}!

Processing and Drawing

•  Basic Shapesrect(x, y, width, height)!

ellipse(x, y, width, height)! line(x1, y1, x2, y2), line(x1, y1, x2, y2, z1, z2)!

•  Filling shapes - fill( )fill(int gray), fill(color color), fill(color color, int alpha)!

•  Curve•  Draws curved lines

•  Vertex•  Creates shapes (beginShape, endShape)

Vertex Demo

void setup(){!size(400,400);!

}!!void draw(){!

background(255);! fill(0);! beginShape();!

vertex(0,0);! vertex(400,400);! vertex(mouseX,mouseY);!endShape();!}!

Curve Demovoid setup(){!size(400,400);!

}!!void draw(){!background(255);!

fill(0);!!int xVal = mouseX*3-100;!

int yVal = mouseY*3-100;!!

curve(xVal, yVal, 100, 100, 100, 300, xVal, yVal);!curve(xVal, yVal, 100, 300, 300, 300, xVal, yVal);!curve(xVal, yVal, 300, 300, 300, 100, xVal, yVal);!curve(xVal, yVal, 300, 100, 100, 100, xVal, yVal);!

!}!

Class and Objects

• see http://processing.org/learning/objects/• Object

•  grouping of multiple related properties and functions

• Objects are defined by Object classes•  Eg Car object

•  Data•  colour, location, speed

•  Functions•  drive(), draw()

Classes

•  four elements: name, data, constructor, and methods.• Name

class myName { }!

•  Data•  collection of class variables

•  Constructor•  run when object created

• Methods•  class functions

Class Usage

// Step 1. Declare an object.!Car myCar;!!void setup() { !// Step 2. Initialize object.!myCar = new Car();!

!}!

on theobject. !

void draw() { !background(255); !// Step 3. Call methods

myCar.drive(); ! myCar.display(); !

}!

Constructing Objects

•  One CarCar myCar= new Car(); !

•  Two Cars

!

!!// Creating!Car myCar1!Car myCar2

two car objects= new= new

Car();Car(); !

•  One car with initial values

Car myCar = new Car(color(255,0,0),0,100,2); !

Modifying Constructor

Car(color tempC, float tempXpos, float

{

tempYpos, float tempXspeed) !

c= tempC; !xpos ypos

=tempXpos;=tempYpos;

!!

xspeed =tempXspeed; !

}!

!

Mouse Interaction

mouseX, mouseY);!

• Mouse position•  mouseX, mouseY variables

• Mouse Interaction•  mousePressed()•  mouseReleased()•  mouseDragged()

• Add in own codevoid mouseDragged(){!

line(pmouseX,pmouseY,}!

Keyboard Interaction

• Check keyPressed variable in draw() method!void draw(){!

pressed " +key);!! !if(keyPressed){!! ! !print(" you! !}!}!

"+key);!

• Use keyPressed() method!void keyPressed(){!! !print(" you're pressing!}!

Importing Libraries

•  Can add functionality by Importing Libraries

•  java archives - .jar files

•  Include import codeimport processing.opengl.*;!

•  Popular Libraries•  Minim - audio library•  OCD - 3D camera views•  Physics - physics engine•  bluetoothDesktop - bluetooth networking

http://toxiclibs.org/

Graphical Controls

height);!

•  Use ControlP5 Library•  http://www.sojamo.de/libraries/controlP5/

• Add graphical controls•  Buttons, sliders, etc•  Support for OSC (Open Sound Controller)

•  Use ControlP5 classimport controlP5.*;!

addButton(name, value, x, y, width,•  Event Handing

Interface Elements

• Interfascia• http://www.superstable.net/interfascia/

• GUI Library for Processing• Buttons• Check boxes• Textfields• Progress bar

Role Playing

Interaction Design Process

(Re)design

Identify needs

Build an interactive

version

Evaluate

Final Product

When to evaluate?

• Once the product has been developed•  pros : rapid development, small evaluation cost•  cons : rectifying problems

• During design and development•  pros : find and rectify problems early•  cons : higher evaluation cost, longer development

design implementation evaluation

redesign &reimplementation

design implementation

Four evaluation paradigms

• Quick and dirty

• Usability testing (lab studies)

• Field studies

• Predictive evaluation

Characteristics of approaches

Usability testing

Field studies

Predictive

Users do task natural not involvedLocation controlled natural anywhereWhen prototype early prototypeData quantitative qualitative problemsFeed back measures &

errorsdescriptions problems

Type applied naturalistic expert

Evaluation approaches and methods

Method Usability testing

Field studies

Predictive

Observing x xAsking users

x x

Asking experts

x x

Testing xModeling x

STORYBOARD

INITIAL SKETCHES

Pros: •  Good for idea genera,on

•  Cheap •  Concepts seem feasible

Cons: •  Not great feedback gained •  Photoshop not fast enough

for making changes

First Draft

POST IT PROTOTYPINGCamera View with 3D

Second Dra.• Selection

highlighted in blue

Third Dra.• Home button added for easy navigation

to main menu

POWERPOINT PROTOTYPINGBenefits• Used for User Testing• Interactive• Functionalities work when following the story of Scenario 1• Quick• Easy arrangement of slides

User Testing• Participants found• 15 minute sessions screen captured• ‘Talk Allowed’ technique used

• Notes taken

• Post-Interview

VIDEO PROTOTYPE

• Flexible tool for capturing the use of an interface

• Elaborate simulation of how navigational aid will work

• Does not need to be realistic in every detail

• Gives a good idea of how the finished system will work

ADVANCED INTERFACE TECHNOLOGY

Advanced Interface Technology

• Wearable Computers• Augmented Reality• Virtual Reality• Invisible Interfaces• Environment Sensing• Physiological Sensing

Major changes in computing

Wearable Computing

▪  Computer on the body that is:▪  Always on▪  Always accessible▪  Always connected

▪  Other attributes▪  Augmenting user actions▪  Aware of user and surroundings

Wearable Attributes

View Through Google Glass

Research Problems• Hardware

•  Power, networking, display

• User Interaction•  User input, speech, gesture, gaze, etc•  Novel interaction methods

• Social Acceptance•  Privacy, social factors

• Novel Applications•  Collaboration•  Intelligent assistance

AUGMENTED REALITY

Augmented Reality Definition

• Defining Characteristics• Combines Real and Virtual Images

• Both can be seen at the same time• Interactive in real-time• The virtual content can be interacted with

• Registered in 3D• Virtual objects appear fixed in space

Augmented Reality Examples

Typical Demo Application

https://www.youtube.com/watch?v=UOfN1plW_Hw

Research Problems

• Low level hardware/software•  Head mounted displays•  Tracking systems

• User Interaction•  Gesture based interaction•  Multimodal input (speech, gesture)

• Novel Applications•  Face to face collaboration•  Authoring tools

VIRTUAL REALITY

Virtual Reality

•  Immersive VR•  Head mounted display, gloves•  Separation from the real world

Occulus Rift

•  360 degree head tracking•  100 degree field of view

Wearable Virtual Reality

•  Samsung Gear VR•  See virtual reality on your phone•  Using phone display, compass

Gear VR Demo

https://www.youtube.com/watch?v=CjpGnh2PDoU

AR vs VR

Research Problems

• Low level•  Wide area tracking•  Development tools

• User Interaction•  Intuitive input (gesture, controllers)•  Avatar control and representation•  Techniques for navigation/manipulation

• Novel Applications•  Massive multi-user environments•  Content capture and sharing

INVISIBLE INTERFACES

Early Examples

•  Interaction without devices:•  BodySpace [Strachan 2007]: Functions to body position•  Abracadabra [Harrison 2007]: Magnets on finger tips•  GesturePad [Rekimoto 2001]: Capacitive sensing in clothing

•  Palm-based Interaction•  Haptic Hand [Kohli 2005]: Using non-dominant hand in VR•  Sixth Sense [Mistry 2009]: Projection on hand•  Brainy Hand [Tamaki 2009]: Head worn projector/camera

Unobtrusive Input Devices

▪  GesturePad▪  Capacitive multilayered touchpads▪  Supports interactive clothing

ImaginaryPhone

•  Gustafson, S., Holz, C., & Baudisch, P. [2011]

https://www.youtube.com/watch?v=xtbRen9RYx4

Invisible Interfaces – Gestures in Space

•  Gustafson, S., Bierwirth, D., & Baudisch, P. [2010]

•  Using a non-dominant hand stabilized interface.

https://www.youtube.com/watch?v=718RDJeISNA

Project Soli

•  Using Radar to support free-hand spatial input

Project Soli

https://www.youtube.com/watch?v=0QNiZfSsPc0 https://www.youtube.com/watch?v=jWNebDDmuXc

Research Gaps

• Free-hand interfaces using relative input• Combining invisible interface + mobile device•  Multimodal interaction•  speech + gesture input

• Affordances and discoverability•  Interaction frameworks

Research Problems

• Hardware•  Power, networking, display

• User Interaction•  User input, speech, gesture, gaze, etc•  Novel interaction methods

• Social Acceptance•  Privacy, social factors

• Novel Applications•  Collaboration•  Intelligent assistance

ENVIRONMENT SENSING

Environmental Sensor

• New sensors track and capture real environment•  Navigation, 3D modeling, user tracking

• Depth Sensors•  Microsoft Kinect, Intel RealSense

•  Integrated Devices•  Google Tango

Google Tango

• Tablet based system• Android OS

• Multiple sensors• RGBD Sensor•  IR Structured light•  Inertial sensors

• High end graphics• Nvidia tegra chip

Research Problems

• Content creation•  Creating better 3D models•  Segmenting objects

• User Interaction•  Interaction with real world•  Interacting with multiple devices

• Novel Applications•  AR notes/real world tagging•  Social networking

PHYSIOLOGICAL SENSING

Physiological Sensors

• Sensing user state•  Body worn devices

•  Multiple possible sensors•  Physical activity•  Eye tracking, gaze•  Heart rate•  GSR•  Breathing•  Etc

Tobii Eye Tracker

• Wearable eye tracking system•  Natural data capture•  Scene camera capture•  Recording/streaming eye gaze, 60 Hz sampling

•  https://www.youtube.com/watch?v=hDG1mRFFusc

Research Problems

• User Interaction•  Implicit vs. Explicit interaction•  Measuring cognitive

• Social Acceptance•  Privacy, social factors

• Novel Applications•  Collaboration•  Intelligent assistance

top related