460 likes | 473 Vues
This review focuses on user perspectives in End-User Development (EUD), defining end-user needs and priorities for research agendas. It covers various technologies, application domains, evaluation methods, and future priorities.
E N D
User Priorities for EUDReview and Research Agenda Alan Blackwell Computer Laboratory Rainbow Group &Crucible Design Research Network University of Cambridge
Overview • Definitions of user perspectives for EUD • Technologies aimed at end-users • Typical application domains for research • Evaluation and theoretical perspectives • Future priorities
Defined end-user perspectives • End-Users • Occasional, casual or non-professional • (note that Brad Myers included “novice”) • in fact most user studies are of students or children • End-User Programming • When users invest attention in abstraction, as an alternative to direct manipulation • Blackwell (2002) “What is Programming” • End-User Software Engineering • Consider user problems in development beyond just coding (i.e. debugging, testing etc.) • Burnett et. al.
Technologies aimed at end-users • A. Scripting and customisation • B. Visual languages • C. Graphical re-write systems • D. Programming by demonstration & example • E. Spreadsheets
A. Scripting and Customisation • Application customisation • Application specific languages: filters, macros, triggers • Extension languages: LISP (AutoCAD, EMACS) • Cross-application customisation: TCL (vs. LISP), VBA • System level scripting • Text processing: shells, sed, awk, perl • Database & GUI functions: 4GLs, Hypercard • Addressing novice users: Python, SWYN • Multimedia • Web interaction: JavaScript • Animation: Lingo, Alice (for kids) • Robotics: Lego MindStorms (for kids)
User perspectives (A) • Most scripting and customisation languages are aimed at experts: • Created by experts for people like themselves • Little understanding of end-user requirements • Debate characterised by bigotry and flame wars • LISP vs. TCL, Python advocacy • Market success for real end-user populations is often achieved despite serious design faults • MacroMedia Lingo, Lego MindStorms • Perl and other write-only languages
B. Visual Languages • Diagrams often appeal to technical experts • Euler circles, flowcharts, CASE tools, UML • Executable diagrams seem very attractive • Many proposals published in IEEE Visual Languages, Journal of Visual Languages and Computing • Varying degrees of commercial success • LabVIEW, Prograph, JavaStudio • But much room for doubt • Brooks’ “No Silver Bullet”
User perspectives (B) • Strong tradition of research by Thomas Green with many collaborators: • 1970s: Usability of flowcharts • 1980s: Problem solving with simple languages • 1990s: Usability criteria for programming languages: “Cognitive Dimensions of Notations” • Many common theories of user benefits for VL research are unjustified (Blackwell 1996) • Professional user surveys (Blackwell & Whitley 1999) • Still widespread “superlativism” • Belief that VLs must be better than text
Challenging “superlativism” if high: if wide: if deep: weep not deep: if tall: weep not tall: cluck end tall end deep not wide: if long: if thick: gasp not thick: roar end thick not long: if thick: sigh not thick: gasp end thick end long end wide not high: if tall: burp not tall: hiccup end tall end high B: is faster for “backward” tasks A: is faster for “forward” tasks
C. Graphical Rewrite Systems • BitPict, Agentsheets, KidSim/Cocoa/Stagecast
User perspectives (C) • Great majority of end-user applications for rewrite systems are educational simulations: • AgentSheets applied in school and community design projects (Repenning et. al.) • StageCast used as evaluation platform for school and community projects (Carroll, Rosson et. al.) • (NB: BitPict is still mainly a theoretical project – Furnas does not claim specific end-user advantages)
D. Prog. by Demonstration & Example • Programming by Demonstration • Show required operations directly on data • Pygmalion: first visual language? • Toontalk: programming as videogame • Programming by Example • Infer user’s intentions from demonstrated examples • Machine learning for robot programming (Andreae) • Text transformations (Nix, Mo & Witten, Blackwell) • Main user concern is inferring scripting tasks to extend a GUI (Halbert, Cypher, Lieberman)
User perspectives (D) • Programming by Demonstration • Many PBD systems never evaluated • Small number of “Wizard of Oz” studies • Some educational applications of ToonTalk • Programming by Example • Most prototypes small scale, not integrated into systems suited to field evaluation • A few experimental demonstrations of usability (e.g. Lieberman) • Some empirical studies of the representation problem (e.g. Blackwell)
E. Spreadsheets • Most successful end-user language (Nardi)
User perspectives (E) • Ongoing research: • Some specialist meetings (e.g. spreadsheet risks) • Some research presented at FP venues • Some research presented at VL & HCC • Empirical studies of programs e.g. Panko • User context studies e.g. Nardi • User-driven design e.g. Burnett, Blackwell & collaborators: • Now developing commercial outcomes
Domains for end-user perspectives • Education • Soloway, Papert, Mulholland, Pane, McIver … • Blended / Power User • Baroth & Hartsough, Whitley, Blackwell • Business scripting • Mackay (contextual studies of use) • Domestic programming • Young, Gray, Blackwell, Green
MediaCubes Home Server Radio Tuner Media Server
MediaCubes single button infrared transceivers induction coil communication
Evaluation and theoretical perspectives • Research communities: • Psychology of Programming Interest Group • Empirical Studies of Programmers • Theoretical approaches: • Cognitive Dimensions of Notations • Attention Investment model of abstraction
Cognitive Dimensions of Notations 1 + 2 • Cognitively relevant properties of system • When no “correct” sequence of user actions. • e.g. Hidden Dependencies: VPLs make relationships explicit, but with trade-offs: • they need more screen space • they can make changes more laborious x = 1 ... (possibly many pages of code here...) y = x + 3 BASIC LabVIEW
Attention Investment variables • Quantifies the informal “gentle slope” and “annoyance” arguments in terms of actual psychological processes. • Investment cost • “attention units” to get the work done, either by direct manipulation or by programming. • Pay-off • reduced future manipulation cost • Risk • probability that no pay-off will result (specification failure), or that additional costs will be incurred (bugs).
Future user priorities for EUD research • Research projects should start from theoretical motivations regarding user needs • Prototypes should be evaluated before attempting research publication • Prototype (and product) development should be based on awareness of user context • We must generalise research results in order to establish future design criteria for EUD
Further information • Cognitive Dimensions • /CognitiveDimensions/ • Vital Signs project • /vital/overview.html • Psychology of ProgrammingInterest Group (PPIG)http://www.ppig.org • http://www.cl.cam.ac.uk/~afb21/…
EUP at IEEE HCC 2003 • Major international symposium onend-user / domain specific programming. • Special emphasis on empirical results (or any scientific approach to testing theory). • One of the series of IEEE Symposia on Human-Centric Computing • Date: October 27-31 2003 • Location: Auckland, New Zealand • http://www.cs.dal.ca/HCC03/EUP/
Further information • Cognitive Dimensions • /CognitiveDimensions/ • Vital Signs project • /vital/overview.html • Psychology of ProgrammingInterest Group (PPIG)http://www.ppig.org • http://www.cl.cam.ac.uk/~afb21/…