usability of state based boolean eblocks susan cotterell and frank vahid * department of computer...

16
Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside {susanc, vahid}@cs.ucr.edu http://www.cs.ucr.edu/eblocks * Also with the Center for Embedded Computer Systems at UC Irvine This work is being supported by the National Science Foundation and a Department of Education GAANN Fellowship

Upload: shonda-day

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

Usability of State Based Boolean eBlocks

Susan Cotterell and Frank Vahid*

Department of Computer Science and Engineering

University of California, Riverside{susanc, vahid}@cs.ucr.edu

http://www.cs.ucr.edu/eblocks* Also with the Center for Embedded Computer Systems at UC Irvine

This work is being supported by the National Science Foundation and a Department of Education GAANN Fellowship

Page 2: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

2 of 16

Introduction

Sensor networks are emerging as an important general computing domain

Small inexpensive battery-powered sense and compute nodes Tens to thousands of nodes Wired or wireless communication Stringent requirements (power, cost, size)

Military Applicationshttp://robotics.eecs.berkeley.edu/~pister/29Palms0103/

Medical Monitoringhttp://www.eecs.harvard.edu/~mdw/proj/codeblue/

Environmental Monitoringhttp://www.greatduckisland.net/http://today.cs.berkeley.edu/retreat-6-03/

Home Automationhttp://www.smarthome.com

Structure/Building Monitoringhttp://www.mrr.dot.state.mn.us/research/MnROAD_Project/MnROADProject.asp

Page 3: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

3 of 16

Potential sensor network application developers may not be computer programmers

Instead, engineers, scientists, office workers, homeowners, etc.

Existing programmable nodes Flexible, but require programming

Existing off-the-shelf end applications

Specialized, so hard to customize Expensive due to small volumes

Our solution – eBlocks Enables non-programming users to

create simple but useful customized sensor network applications

Introduction

Photo: Jason Hillhttp://www.dustnetworks.com/

http://www.smarthome.com

http://www.xbow.com/

Flexib

le,

hard

to p

rogra

m

Easy

to u

se,

inflexib

le

Page 4: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

4 of 16

eBlocks Overview

Function of each block is pre-defined

Block types: Sensors – motion, light, contact,

etc. Output – led, electric relay, beeper,

etc. Compute – logic, prolong, toggle,

etc. Basic configuration required (dials,

switches) Communicate – wireless point-to-

point link Boolean Blocks

Outputs yes/no/error Future implementations - Integer

Users connect blocks to create working customized application

CODES/ISSS’03, SECON’04, DATE’05, SPOTS’05, CHI’05

Light Sensor

yes/no

Magnetic Contact Switch

yes/no

Button yes/no Motion Sensor

yes/no

2-Input Logic

yes/noyes/no

yes/no

Tripper

yes/noyes/no yes/no

Toggleyes/noyes/no

Electric Relay

yes/noLEDyes/no

Page 5: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

5 of 16

2-Input Logic

Configure Logic Block to turn led on when it’s night and when door is open

A’B’

Need a function of light sensor output and contact switch output – use Logic Block

2-Input Logic

Creating an application with eBlocks

Create an application to detect if the garage door is left open at night

Light Sensor

We want to detect night – use light sensor

Light Sensor

Magnetic Contact Switch

We want to know if garage door open – use contact switch

Magnetic Contact Switch

2-Input Logic

A’B’

LED Need something to indicate garage open at night – use led

LED

Plug pieces together and the system is done!

Page 6: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

6 of 16

Building eBlocks Systems

The same basic blocks can be used in a variety of applications While intended for non-experts we found many systems require

programming constructs, specifically logic and state transformations

Motion on Property Detector

Motion Sensor

Motion Sensor

2-Input Logic

A+B

Prolonger

1 2 3 4 5 6 7 8 9

BeeperSleepwalker at Night Alarm

Tripper

Motion Sensor

2-Input Logic

A’B

Light Sensor

Button

Beeper

Animal Videoing System

Motion Sensor

2-Input Logic

A+B

Prolonger

1 2 3 4 5 6 7 8 9 eBlock to Camera Interface

Light Sensor

Front Desk Notifier

ToggleButton BeeperPackage Delivery

Tripper

Motion Sensor

Button

Beeper

Tripper

Button

Button

LED

Visual Doorbell

Front Door

Inside House

8-Second Doorbell

Prolonger

1 2 3 4 5 6 7 8 9

BeeperButton

Many systems utilize a logic block

Many systems utilize a state block

Page 7: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

7 of 16

Motivation

A B Output

no yesno nono yesno yesno yesyes nono yesyes yes

Logic Blockconfigurable DIP switch

Table-based logic block

What about state-based eBlocks?

Informal experiments to test general usability of eBlocks

Users unable to configure the logic block successfully

Need for a better logic block interface

Blocks must be self-explanatory Users prefer exploratory learning

[Gammon, 1999][Sikorski, 1998] Usability testing of various logic

block interfaces 100’s of participants Refinement of a table-based to a

sentence-based logic block interface

Sentence-based logic blockS. Cotterell and Frank Vahid.

A Logic Block Enabling Logic Configuration by Non-Experts in Sensor Networks.Conference on Human Factors in Computing Systems (CHI), April 2005.

Page 8: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

8 of 16

Experiments

Written Experiments Written handout Limitation

Students could not test functionality

Prototype Experiments Physical prototypes + Written

handout Benefit

Students are able to test functionality of resulting system

Limitation Fewer students able to participate

due to physical block limitation Physical problems unrelated to

interface detracted from testing – forgetting to turn on power, how to use DIP switches, assume the connectors are faulty 

motion sensor

light sensor

State BlockB

A

yes = motion detectedno = no motion detected

yes = light detectedno = no light detected

Page 9: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

9 of 16

Experiments

Simulator Experiments Web-based applet Benefit

Self-contained instructions, to prevent variations due to administrator

Enables wider participation Allows students to test resulting behavior

of configured system

Participants Beginner

University student with no programming or electronics experience

Typical majors include psychology, business, history, dance, etc.

Intermediate Student with 7 to 25 weeks of

introductory programming, but having no electronics experience

Advanced Student who have had both

programming and electronic experience (in particular, digital design)

Page 10: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

10 of 16

State-Based eBlock Usability Testing

Testing Method

System Description

Percentage of Success Number of

ParticipantsFull Credit

Partial Credit

Total

Prototype Front Desk Notifier 100 % 0 % 100 % 2 - Beginner6 – Advance

Simulator Front Desk Notifier 85 % 0 % 85 % 33 – Beginner

Toggle eBlock Changes state between yes

and no for each unique yes input received

Results in an average success rate of 88%

Student’s first encounter with eBlocks, less than 10 minutes allotted to build system

Toggle

Toggle

Front Desk Notifier

Secretary Bob is frequently away from his desk. Help build Bob a system that alerts him when a customer is at the front desk. The customer should press the button on Bob’s desk to turn the beeper on. The beeper would then keep alerting Bob until he returns to his desk and turns off the beeper using the same button as the customer.

Button Beeper

Page 11: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

11 of 16

State-Based eBlock Usability Testing

Prolonger eBlock Changes to a yes state and

remains yes for a period specified by the user using a slide switch

Prolonger changed to Yes Prolonger to clarify only the yes signal is prolonger

Results in an average success rate of 86%

Testing Method

System Description Percentage of Success Number of ParticipantsFull

CreditPartial Credit

Total

Written 8-Second Doorbell 56 % 33 % 89 % 9 – AdvancedSimulator 8-Second Doorbell 75 % 10 % 85 % 20 - Beginner

Yes Prolonger

1 2 3 4 5 6 7 8 9

Yes Prolonger (8)

8-Second Doorbell

Homeowner Jane built a doorbell using a button and beeper. When a visitor presses the button, the system only beeps for a short time and sometimes Jane misses the visitor. Help Jane build a system such that when a visitor presses the button, the buzzer will sound for 8 seconds.

Button Beeper

Page 12: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

12 of 16

State-Based eBlock Usability Testing

Tripper eBlock Changes to a yes state when

the block’s data input receives a yes packet. The block remains in the yes state until the block receives a yes packet on the reset input, similar to a SR Latch

Many students not able to immediate translate the behavior of the block from the name Tripper

Testing Method

System Description

Percentage of Success

Number of ParticipantsFull

Credit

Partial Credit

Total

Written Package Delivery 30 % 40 % 70 % 10 – Advanced

Tripper

in

rst

Package Delivery

The UPS delivery person keeps leaving packages behind Homeowner Steve's house. Sometimes, Steve does not notice the packages left behind his house for days. Build Steve a system that detects if there is motion behind his house and turns an indicator on. The system should keep the indicator on until Steve shuts it off.

Beeper

Motion Sensor

Button

Tripperrst

in

Page 13: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

13 of 16

State-Based eBlock Usability Testing

Renamed block to Once Yes, Stays Yes

Beginners are more readily able to discern functionality

Results in an average success rate of 74%

Testing Method

System Description

Percentage of Success Number of

ParticipantsFull Credit

Partial Credit

Total

Simulator Package Delivery 45 % 5 % 50 % 22 - BeginnerSimulator Visual Doorbell 55 % 36 % 91 % 33 – Beginner

Once Yes, Stays Yes

in

rst

Package Delivery

The UPS delivery person keeps leaving packages behind Homeowner Steve's house. Sometimes, Steve does not notice the packages left behind his house for days. Build Steve a system that detects if there is motion behind his house and turns an indicator on. The system should keep the indicator on until Steve shuts it off.

Beeper

Motion Sensor

Button

Once Yes, Stays Yesrst

in

Page 14: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

14 of 16

State-Based eBlock Usability Testing

Pulse Generator When the block’s input is yes,

the block’s output switches between yes and no for time periods specified by the user using two slide switches

Results in an average success rate of 65%

Testing Method

System DescriptionPercentage of Success

Number of ParticipantsFull

CreditPartial Credit

Total

Written Blinking Lamp 10 % 43 % 53 % 21 – Intermediate

Written Blinking Doorbell 90 % 0 % 90 % 10 – AdvanceSimulator Blinking Doorbell 55 % 9 % 64 % 22 - Beginner

Pulse Generator

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

yes time

no time

Pulse Generator (yes time = 2,

no time = 3)

Blinking Doorbell

Patricia built a doorbell such that when a visitor pushes the button, the light turns on. Help Patricia build a doorbell such that when the visitor pushes the button, the light blinks instead.

Button Normal light

Page 15: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

15 of 16

Conclusions and Future Work

Presented a set of basic eBlocks from which a variety of systems can be built

Presented a variety of state block interfaces which are usable by non-experts

Present/Future Work Continue usability testing Extend eBlocks to integer domain Gain experience with use of eBlocks in real applications with

variety of users Pro-active healthcare (w/ Intel) Agricultural monitoring (w/ Isca) Environment monitoring (w/ UCR/UCLA)

Page 16: Usability of State Based Boolean eBlocks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering University of California, Riverside

16 of 16

Thank you for your attention.