usability of state based boolean eblocks susan cotterell and frank vahid * department of computer...
TRANSCRIPT
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
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
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
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
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!
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
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.
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
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)
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
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
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
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
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
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)
16 of 16
Thank you for your attention.