mhit 603: lecture 3 - prototyping tools

107
MHIT 603: Lecture 3 Prototyping Tools July 21st 2014 Mark Billinghurst [email protected]

Upload: mark-billinghurst

Post on 08-Sep-2014

356 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: MHIT 603: Lecture 3 - Prototyping Tools

MHIT 603: Lecture 3 Prototyping Tools

July 21st 2014 Mark Billinghurst

[email protected]

Page 2: MHIT 603: Lecture 3 - Prototyping Tools

Recap

Page 3: MHIT 603: Lecture 3 - Prototyping Tools

Interaction Design Process

MHIT 602 MHIT 603

Page 4: MHIT 603: Lecture 3 - Prototyping Tools

Elaboration and Reduction

  Elaborate - generate solutions. These are the opportunities   Reduce - decide on the ones worth pursuing   Repeat - elaborate and reduce again on those solutions

Source: Laseau,P. (1980) Graphic Thinking for Architects & Designers. John Wiley and Sons

Page 5: MHIT 603: Lecture 3 - Prototyping Tools

Prototyping   Create physical form of ideas

  Allow people to experience and interact with them

  Why Prototyping?   Empathy gaining- deepen understanding of design space   Exploration – build to think   Testing – test solutions with end users   Inspiration – help others catch your vision

Page 6: MHIT 603: Lecture 3 - Prototyping Tools

Design/Prototyping Tools

Page 7: MHIT 603: Lecture 3 - Prototyping Tools

Typical Development Steps

▪  Sketching ▪  Storyboards ▪  UI Mockups ▪  Interaction Flows ▪  Video Prototypes ▪  Interactive Prototypes ▪  Final Native Application

Increased Fidelity & Interactivity

Page 8: MHIT 603: Lecture 3 - Prototyping Tools

Prototyping Tools ▪  Static/Low fidelity ▪  Sketching ▪  User interface templates ▪  Storyboards/Application flows

▪  Interactive/High fidelity ▪  Wireframing tools ▪  Mobile prototyping ▪  Native Coding

Page 9: MHIT 603: Lecture 3 - Prototyping Tools

Sketching Interfaces

Page 10: MHIT 603: Lecture 3 - Prototyping Tools

Paper Proto: Create Widgets

Page 11: MHIT 603: Lecture 3 - Prototyping Tools

Example Wireframes

Page 12: MHIT 603: Lecture 3 - Prototyping Tools

Pop - https://popapp.in/

 Combining sketching and interactivity on mobiles  Take pictures of sketches, link pictures together

Page 13: MHIT 603: Lecture 3 - Prototyping Tools

UXPin   UXPin Wireframing Tool

  http://uxpin.com/  Web based  UI templates  Design patterns

Page 14: MHIT 603: Lecture 3 - Prototyping Tools

Transitions

Page 15: MHIT 603: Lecture 3 - Prototyping Tools

Video Sketch

Page 16: MHIT 603: Lecture 3 - Prototyping Tools

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

Page 17: MHIT 603: Lecture 3 - Prototyping Tools

Wireframe vs. Mockup vs. Protoype

Page 18: MHIT 603: Lecture 3 - Prototyping Tools

Sketch   It’s about

  Freehand drawing  Quickly recording idea   Trying out different ideas   Establishing a composition  Not intended as as a finished work

Page 19: MHIT 603: Lecture 3 - Prototyping Tools

Wireframe   It’s about

  Functional specs  Navigational systems   Functionality and layout  Notes about the intended functionality  How interface elements work together   Lack of typographic style, colour or graphics

  Leaving room for the design to be created

Page 20: MHIT 603: Lecture 3 - Prototyping Tools
Page 21: MHIT 603: Lecture 3 - Prototyping Tools

Mockup   It’s about

  Look and feel   Build on the wireframe with

graphics and polish  May adjust layout slightly

but stays within the general guide of the wireframe

Page 22: MHIT 603: Lecture 3 - Prototyping Tools
Page 23: MHIT 603: Lecture 3 - Prototyping Tools

Prototype   It’s about

  Simulating the final design   Functionality of intended design  May be reduced in size or

functionality   Functional working together   Final check for design flaws

Page 24: MHIT 603: Lecture 3 - Prototyping Tools

Wireframe vs. Prototype vs. Mockup   Wireframe

  Low fidelity representation of design  What UI elements, where UI are placed

  Prototype  Medium to high fidelity   Supports user interaction

  Mockup  High fidelity static design   Visual design draft

Page 25: MHIT 603: Lecture 3 - Prototyping Tools

Sketching to Prototype

Page 26: MHIT 603: Lecture 3 - Prototyping Tools

Compromising

Page 27: MHIT 603: Lecture 3 - Prototyping Tools

27 www.id-book.com

Compromises in Prototyping • All prototypes involve compromises • For software-based prototyping maybe there is a slow response? sketchy icons? limited functionality?

• Two common types of compromise •  ‘horizontal’: provide a wide range of functions,

but with little detail •  ‘vertical’: provide a lot of detail for only a few

functions • Compromises in prototypes mustn’t be ignored. Product needs engineering

Page 28: MHIT 603: Lecture 3 - Prototyping Tools

Compromises in prototyping   Compromises in low-fidelity prototypes:

  device doesn't actually work

  Compromises in high-fidelity prototypes:   slow response, sketchy icons, limited functionality

  Two common types of compromise   ‘horizontal’: provide a wide range of functions, but

with little detail   ‘vertical’: provide a lot of detail for only a few

functions

Page 29: MHIT 603: Lecture 3 - Prototyping Tools

Different Features

Scenario

Vertical Prototype

Horizontal Prototype

Full System

Functionality

Page 30: MHIT 603: Lecture 3 - Prototyping Tools

Horizontal Prototyping   Disadvantages

 Not possible to perform real work  Users cannot interact with real data  Often possible to create a wish list interface

  Advantages  Can be created quickly  Gives an idea of how the whole interface will hang

together   Identifies top level functionality 30

Page 31: MHIT 603: Lecture 3 - Prototyping Tools

Vertical Prototyping   Reduction of number of features   In-depth functionality for a few selected

features   Tests part of system   Tests in depth under realistic circumstances

with real user tasks   Main limitation: users cannot move freely

through the system 31

Page 32: MHIT 603: Lecture 3 - Prototyping Tools

Interactive Prototyping

Page 33: MHIT 603: Lecture 3 - Prototyping Tools

Flinto   https://www.flinto.com/   High fidelity prototyping

 Use final png files/interface screens

  Connect mockup screens visually   Apply transitions, scrolling etc

  Send prototypes to mobile for viewing   Looks like real application

Page 34: MHIT 603: Lecture 3 - Prototyping Tools

Flinto Interface

Page 35: MHIT 603: Lecture 3 - Prototyping Tools

Facebook Origami   http://facebook.github.io/origami/   Visual programming for mobile prototypes

 Drag and drop interface elements, interactions

  Extends Mac Quartz Composer   Visual design tool

  Tutorial   http://dancounsell.com/articles/prototyping-with-

facebooks-origami

Page 36: MHIT 603: Lecture 3 - Prototyping Tools

Origami Interface

Page 37: MHIT 603: Lecture 3 - Prototyping Tools

App Inventor   http://appinventor.mit.edu/   http://appinventor.org/   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

Page 38: MHIT 603: Lecture 3 - Prototyping Tools

Device Setup   Emulator

 Use aiStarter on Windows/Linux

  Live view (run on connected device)  Make sure device is in Debug mode   Install companion app (sideload on Glass)

-  MITAI2Companion.apk

Page 39: MHIT 603: Lecture 3 - Prototyping Tools

App Inventor Designer View

Page 40: MHIT 603: Lecture 3 - Prototyping Tools

App Inventor Blocks View

Page 41: MHIT 603: Lecture 3 - Prototyping Tools

Orientation Demo

  Use Glass orientation sensor

Page 42: MHIT 603: Lecture 3 - Prototyping Tools

Other Visual Prototyping Tools   VVVV

  http://vvvv.org  Hybrid visual/text programming environment   Real time audio/graphics, physical interfaces, etc

  Max/MSP   http://cycling74.com/products/max/   Visual programming  Designed for interactive media applications

Page 43: MHIT 603: Lecture 3 - Prototyping Tools

Max/MSP Interface

Page 44: MHIT 603: Lecture 3 - Prototyping Tools

VVVV Interface

Page 45: MHIT 603: Lecture 3 - Prototyping Tools

VVVV Visual Programming

Page 46: MHIT 603: Lecture 3 - Prototyping Tools
Page 47: MHIT 603: Lecture 3 - Prototyping Tools
Page 48: MHIT 603: Lecture 3 - Prototyping Tools
Page 49: MHIT 603: Lecture 3 - Prototyping Tools
Page 50: MHIT 603: Lecture 3 - Prototyping Tools
Page 51: MHIT 603: Lecture 3 - Prototyping Tools
Page 52: MHIT 603: Lecture 3 - Prototyping Tools
Page 53: MHIT 603: Lecture 3 - Prototyping Tools
Page 54: MHIT 603: Lecture 3 - Prototyping Tools

Processing - Notes   Language of Interaction

  Physical Manipulation   Input using code  Mouse Manipulation   Presence, location, image  Haptic interfaces and multi-touch  Gesture   Voice and Speech

Page 55: MHIT 603: Lecture 3 - Prototyping Tools

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

Page 56: MHIT 603: Lecture 3 - Prototyping Tools

http://toxiclibs.org/

Page 57: MHIT 603: Lecture 3 - Prototyping Tools

Hardware Prototyping

Page 58: MHIT 603: Lecture 3 - Prototyping Tools
Page 59: MHIT 603: Lecture 3 - Prototyping Tools
Page 60: MHIT 603: Lecture 3 - Prototyping Tools

Rapid Prototyping

  Speed development with quick hardware mockups   handheld device connected to PC   LCD screen, USB phone keypad, Camera

  Can use PC tools for rapid development   Flash, Visual Basic, etc

Page 61: MHIT 603: Lecture 3 - Prototyping Tools

Don’t Have Google Glass ?

Page 62: MHIT 603: Lecture 3 - Prototyping Tools

Build Your Own Wearable

▪  MyVu display + phone + sensors

Page 63: MHIT 603: Lecture 3 - Prototyping Tools

Beady-i

▪  http://www.instructables.com/id/DIY-Google-Glasses-AKA-the-Beady-i/

Page 64: MHIT 603: Lecture 3 - Prototyping Tools

http://buglabs.net/

Page 65: MHIT 603: Lecture 3 - Prototyping Tools
Page 66: MHIT 603: Lecture 3 - Prototyping Tools
Page 67: MHIT 603: Lecture 3 - Prototyping Tools
Page 68: MHIT 603: Lecture 3 - Prototyping Tools
Page 69: MHIT 603: Lecture 3 - Prototyping Tools
Page 70: MHIT 603: Lecture 3 - Prototyping Tools

Arduino

  http://www.arduino.cc

  Open source hardware

  Microcontroller

  Add-on shields

  Get started for $30 USD

Page 71: MHIT 603: Lecture 3 - Prototyping Tools

Arduino is a board

USB Port

Power Supply

Digital In/Out Pins

Analog Input Pins Power Pins

Atmega328p

USB to Serial

Page 72: MHIT 603: Lecture 3 - Prototyping Tools

Shields

Page 73: MHIT 603: Lecture 3 - Prototyping Tools

Stacking Shields

Page 74: MHIT 603: Lecture 3 - Prototyping Tools

Programming Arduino

  Open-source

  Large community

  Lots of examples available

  Language based on processing

  Also can use C, C++, Flash,..

Page 75: MHIT 603: Lecture 3 - Prototyping Tools

Arduino IDE   Open Source   Cross Platform

  Windows   Mac OS X   Linux

  Simple UI (Easy to Use)

Page 76: MHIT 603: Lecture 3 - Prototyping Tools

Heart Rate Monitor Interface

Page 77: MHIT 603: Lecture 3 - Prototyping Tools

Piano Stairs

Page 78: MHIT 603: Lecture 3 - Prototyping Tools

Physical Input For Google Glass   Can we develop unobtrusive input devices ?

  Reduce need for speech, touch pad input   Socially more acceptable

  Examples   Ring,   pendant,   bracelet,   gloves, etc

Page 79: MHIT 603: Lecture 3 - Prototyping Tools

Prototyping Platform

Arduino Kit Bluetooth Shield Google Glass

Page 80: MHIT 603: Lecture 3 - Prototyping Tools

Example: Glove Input

 Buttons on fingertips  Map touches to commands

Page 81: MHIT 603: Lecture 3 - Prototyping Tools

Example: Ring Input

 Touch strip, button, accelerometer  Tap, swipe, flick actions

Page 82: MHIT 603: Lecture 3 - Prototyping Tools

How it works

Bracelet

Armband

Gloves

1,2,3,4

Values/output

Page 83: MHIT 603: Lecture 3 - Prototyping Tools

Phidgets

  http://www.phidgets.com

  Plug and play prototyping

  Lots of components

  Get started for $77

Page 84: MHIT 603: Lecture 3 - Prototyping Tools

Components

Page 85: MHIT 603: Lecture 3 - Prototyping Tools

Programming Languages

Page 86: MHIT 603: Lecture 3 - Prototyping Tools

Arduino vs. Phidgets

Page 87: MHIT 603: Lecture 3 - Prototyping Tools

Microsoft .Net Gadgeteer

  http://www.netmf.com/gadgeteer/

  Open source tool for building small devices

  Uses .Net Micro Framework

  Visual Studio/Visual C# Express

  Support for many different sensors/components

Page 88: MHIT 603: Lecture 3 - Prototyping Tools

Mainboard

  Use mainboard   Processor   Number of socket connectors

  Plug in Gadgeteer modules

Page 89: MHIT 603: Lecture 3 - Prototyping Tools

Modules

  Sensors, Actuators, Networking, Displays, User Input, Power, Extensibility, ..

Page 90: MHIT 603: Lecture 3 - Prototyping Tools

Physical Prototyping - d.tools  Hardware prototyping  http://hci.stanford.edu/research/dtools/

Page 91: MHIT 603: Lecture 3 - Prototyping Tools
Page 92: MHIT 603: Lecture 3 - Prototyping Tools
Page 93: MHIT 603: Lecture 3 - Prototyping Tools
Page 94: MHIT 603: Lecture 3 - Prototyping Tools
Page 95: MHIT 603: Lecture 3 - Prototyping Tools

Hardware Prototyping Tools   Bug Labs

  http://www.buglabs.net/

  d.tools   http://hci.stanford.edu/research/dtools/

  Arduino   http://www.arduino.cc/

  Netduino   http://netduino.com/

Page 96: MHIT 603: Lecture 3 - Prototyping Tools

Prototyping Case Study

Page 97: MHIT 603: Lecture 3 - Prototyping Tools

Typical Iterations for HW/SW Product:

1. Paper prototype to evaluate conceptual model 2.  Interactive computer-based prototype with rough

screens to evaluate feature placement 3. Tethered prototype to evaluate button + screen

interactions 4. Real device prototyped with major features

working 5. Real device prototyped with all features working

and graphic design implemented

Page 98: MHIT 603: Lecture 3 - Prototyping Tools
Page 99: MHIT 603: Lecture 3 - Prototyping Tools
Page 100: MHIT 603: Lecture 3 - Prototyping Tools
Page 101: MHIT 603: Lecture 3 - Prototyping Tools

Tethered Prototypes (High Fidelity)

Goal: Communicate Vision HIGH FIDELITY PROTOTYE

Page 102: MHIT 603: Lecture 3 - Prototyping Tools
Page 103: MHIT 603: Lecture 3 - Prototyping Tools
Page 104: MHIT 603: Lecture 3 - Prototyping Tools
Page 105: MHIT 603: Lecture 3 - Prototyping Tools

More Information

Page 106: MHIT 603: Lecture 3 - Prototyping Tools

Wireframing/Design Tools   UXPin: http://uxpin.com/   Axure: http://www.axure.com/   Balsamiq: http://balsamiq.com/   Mockingbird: https://gomockingbird.com/   Justinmind: http://www.justinmind.com/   Pidoco: http://pidoco.com/   MockFlow: http://mockflow.com/   Proto.io: http://proto.io/   Wireframe.cc: https://wireframe.cc/

Page 107: MHIT 603: Lecture 3 - Prototyping Tools

References   Paper Prototyping: the fast and easy way to design and refine user interfaces

  http://paperprototyping.com/

  Models, Prototypes, and Evaluations for HCI Design: Making the Structured

Approach Practical George Casaday, Cynthia Rainis

  http://www.sigchi.org/chi95/proceedings/tutors/gc_bdy.htm

  www.sigchi.org/chi95/proceedings/tutors/gc_bdy.htm

  http://hci.stanford.edu/research/prototyping/

  http://pages.cpsc.ucalgary.ca/~saul/hci_topics/topics/prototyping.html

  http://hci.epfl.ch/teaching/hci/course_material/lofi-prototype/lecture5-lofi_proto-x6.pdf

107