- 1 - End User Software Engineering CHI2008 Special Interest Group Meeting Tue, April 8, 2008, 9:00 AM - 10:30 AM Brad Myers, Margaret Burnett, Mary Beth.

Slides:



Advertisements
Similar presentations
2017/3/25 Test Case Upgrade from “Test Case-Training Material v1.4.ppt” of Testing basics Authors: NganVK Version: 1.4 Last Update: Dec-2005.
Advertisements

Writing Good Use Cases - Instructor Notes
Final Project Instructor: Nguyen Anh Tu Students: Tran Tien Tai Tran Tien Tai Tran Ngoc Mai Tran Ngoc Mai Tu Kim Tuan Tu Kim Tuan Nguyen Ngoc Phuong Nguyen.
Implementing Tableau Server in an Enterprise Environment
Chapter 1: The Database Environment
Chapter 7 System Models.
Building a Knowledge Management System as a Life Cycle
Remote Educational Programming Of Robots (REPOR) Tord Fauskanger Aurelie Aurilla Bechina Arntzen Dag Samuelsen Buskerud University College.
System Development MIS Chapter 6 Jack G. Zheng May 28 th 2008.
© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper.
1 of 15 Information Access Internal Information © FAO 2005 IMARK Investing in Information for Development Information Access Internal Information.
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
Membership & Roster Maintenance Officers Training Workshop September 2012 Kevin Shanahan 1.
1 End-User Tools for Creating Dependable Software Brad Myers Carnegie Mellon University Fourth Workshop on End-User Software Engineering WEUSE IV May 12,
The Next Step: From EUP to EUSE Margaret Burnett, Brad Myers, Mary Beth Rosson, Susan Wiedenbeck.
Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group Part 1: Usability Testing.
By Rick Clements Software Testing 101 By Rick Clements
California Preschool Learning Foundations
Using Pivots to Explore Heterogeneous Collections A Case Study in Musicology Daniel Alexander Smith 8 December 2009.
View-Based Application Development Lecture 1 1. Flows of Lecture 1 Before Lab Introduction to the Game to be developed in this workshop Comparison between.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
4. Internet Programming ENG224 INFORMATION TECHNOLOGY – Part I
Introduction Lesson 1 Microsoft Office 2010 and the Internet
Week 2 The Object-Oriented Approach to Requirements
Computer Literacy BASICS
Configuration management
Software change management
Object-Oriented Software Engineering Visual OO Analysis and Design
Information Systems Today: Managing in the Digital World
1 Quality Indicators for Device Demonstrations April 21, 2009 Lisa Kosh Diana Carl.
Chapter 11, Testing, Part 2: Integration and System Testing
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Core Curriculum for Clinical Coaching Intro - VNIP Model
Core Curriculum for Clinical Coaching Intro - VNIP Model
Lecture 1: Software Engineering: Introduction
PRODUCT MODELLING. Eastman C (1999). Building Product Models, CRC Press, Boca Raton Smithers T (1989). AI-based design versus geometry-based design or.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Chapter 10 Software Testing
Chapter 11 Designing Effective Output
Executional Architecture
Supporting Transition: Lessons learned from Nurse Internship & Residency © Vermont Nurses In Partnership, Inc. All rights reserved. No copying.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Co-funded by the European Union Semantic CMS Community Content Management From free text input to automatic entity enrichment Copyright IKS Consortium.
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
13-1 © Prentice Hall, 2004 Chapter 13: Designing the Human Interface (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
© 2014 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac.
Systems Analysis and Design
From Model-based to Model-driven Design of User Interfaces.
END USER SOFTWARE ENGINEERING Presented By Dinesh Amarneni Vipin Deshmukh.
DATA TRACKING AND EVALUATION 1. Goal of the STEP program: To increase the number of STEM graduates within the five-year period of the grant. You have.
0 WPI First Experience Teaching Software Testing Lessons Learned Gary Pollice Worcester Polytechnic Institute and Rational Software Corp.
Overview of Software Requirements
Administrivia Turn in ranking sheets, we’ll have group assignments to you as soon as possible Homeworks Programming Assignment 1 due next Tuesday Group.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
1 Introduction to Software Engineering Lecture 1.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Systems Analysis and Design in a Changing World, Fifth Edition
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Presentation transcript:

- 1 - End User Software Engineering CHI2008 Special Interest Group Meeting Tue, April 8, 2008, 9:00 AM - 10:30 AM Brad Myers, Margaret Burnett, Mary Beth Rosson, Andrew Ko, Alan Blackwell

End-User Software Engineering SIG at CHI Definitions (Note: may be controversialdefer discussion until later) Program –A set of statements that can be submitted as a unit to some computer system and used to direct the behavior of that system – Oxford Dictionary of Computing Programming –The process of transforming a mental plan of desired actions for a computer into a representation that can be understood by the computer – Jean-Michel Hoc and Anh Nguyen-Xuan

End-User Software Engineering SIG at CHI Definitions, cont. Professional Programmer –Someone whose primary job function is to write or maintain software –Typically have significant training in programming (e.g., BS in CS) Novice Programmer –Someone who is learning to be a professional programmer

End-User Software Engineering SIG at CHI Definitions, cont. End-User Programmer (EUP) –People who write programs, but not as their primary job function –Instead, they must write programs in support of achieving their main goal, which is something else –Covers a wide range of programming expertise Business executives and secretaries Physicists

End-User Software Engineering SIG at CHI Examples of EUP Accounting (spreadsheets) Analysts using MatLab Creating a web page Recording Macros in Word Automating office tasks Business software (SAP programming) Programming VCRs, Microwaves Scientific research Authoring educational software Creating filters Musicians configuring synthesizers Entertainment (e.g., behaviors in The Sims) Web 2.0: Mashups, end-user created content

End-User Software Engineering SIG at CHI Other Names Also called End User Development (EUD) Some Domain-Specific Languages (DSL) –Often created for end-user programmers Visual (Graphical) Programs –Sometimes created for EUP Scripting languages, Macros Rapid Application Development (RAD)

End-User Software Engineering SIG at CHI Definitions, cont. End-User Software Engineering (EUSE) –End-User Programming with the addition of systematic and disciplined activities that address quality issues (attributes) E.g., analyzing code, understanding unfamiliar code, testing code, checking code against a model, sharing code with coworkers, maintaining code, and deploying code, to name a few

End-User Software Engineering SIG at CHI End User Programmers A very large group In 2012: Scaffidi, Shaw and Myers 2005 –90 million computer users at work in US –55 million will use spreadsheets or databases at work (and therefore may potentially program) –13 million will describe themselves as programmers –3 million professional programmers We should make better tools for all of these people!

End-User Software Engineering SIG at CHI Evidence of Need for EUSE Why need Software Engineering for EUP? Lots of errors attributed to End-User Programming of spreadsheets: –Columbia Housing Authority admitted to overpaying by $118,387 due to a spreadsheet data-entry error (February 22, 2006) –New York Times, Oct 30th, $1.2 Billion Spreadsheet Error at Fannie Mae –TransAlta Corp. took $24 million charge to earnings due to cut-and-paste error in an Excel spreadsheet (June 3rd, 2003) –Auditor, major accounting firm:...in 6 years work, checking literally hundreds of business- critical models,... my team have never failed to find errors. –…. (many more!) –See

End-User Software Engineering SIG at CHI Consequences, 2 Also, errors in: –Web pages – filtering rules –… (what else? Need more examples!) From the WEUSE II workshop at CHI2006: –Clinical customization package used by medical personnel reports the need for better reuse and debugging support –SysAdmins need better testability of database and other sorts of scripts –Issues with reuse of MATLAB applications

End-User Software Engineering SIG at CHI So What is Happening? Growing group of researchers in EUSE The EUSES Consortium –End Users Shaping Effective Software – –7 sites, 13 researchers + ~15 students EUDNet – –European Commission – –16 partners

End-User Software Engineering SIG at CHI Addressing the EUSE Problem A multi-(sub)disciplinary problem needing: –Software engineering research –Programming language research –Education research –End-user programming research –HCI research of all types This is a big job, needs a whole community! –Hence, this SIG, to encourage interested people to work together with us and with each other –Also, connect researchers and EUP vendors

End-User Software Engineering SIG at CHI Many Sessions at CHI08 This kind of work is represented in many sessions –Tues, 9:00-10:30am (Now ): Aesthetics, Awareness, and Sketching paper session –Tues, 11:30-1pm: Beyond End-User Programming paper session –Tues, 4:30-6pm: Invited Session: The Next Challenge: from Easy-to-Use to Easy-to-Develop. Are You Ready? –Wed, 4:30-6pm: Activity-Based Prototyping and Software paper session –Thurs, 2:30-4pm: End-Users Sharing and Tailoring Software papers session

End-User Software Engineering SIG at CHI Previous Meetings on This Topic Dagstuhl Conference on End-User Software Engineering (WEUSE-III) on Feb, nd Workshop on End-User Software Engineering (WEUSE-II) at CHI st Workshop on End-User Software Engineering (WEUSE-I) at ICSE 2005 CHI 2007, 2005, 2004 SIGs on End Users Creating Effective Software Many proceedings and notes available off of EUSES web page:

End-User Software Engineering SIG at CHI Future Meetings Fourth Workshop on End-User Software Engineering (WEUSE IV) at ICSE'08 on May 12, 2008 in Leipzig, Germany – Cooperative and Human Aspects of Software Engineering (CHASE) at ICSE2008 on May 13, 2008 in Leipzig, Germany – ICSE2008, May 10-18, 2008 in Leipzig, Germany PPIG2008, Sept 10-12, 2008, Lancaster, UK – IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2008), Sept , 2008, Herrsching am Ammersee, Germany Intelligent User Interfaces (IUI2009), January ??, 2009 Second Symposium on EUD, March 2-4, 2009, Siegen, Germany – CHI2009

End-User Software Engineering SIG at CHI Ways to Get Involved Attend upcoming events. Get newsletter on end-user programming/software engineering: –(Low-volume). Sign-up sheet going around. Tell us today what youre working on. Help shape future events (starting with todays discussion).

End-User Software Engineering SIG at CHI Rest of This SIG Alan Blackwell: short introduction to EUDNet Andy Ko: overview of dimensions of organizing EUP and EUSE systems and concerns What companies are working on that is relevant to EUP and EUSE Break up into groups by Software Engineering Issue Reconvene and report (15 min – 3 min each)

End-User Software Engineering SIG at CHI EUDNet Research contrasts between (EU)EUD and (US)EUP/EUSE European projects are more likely to: –target users in specific technical domains –study organisational issues –address adults, not children / students.

End-User Software Engineering SIG at CHI Breakout Groups Groups: –Design & Requirements (Alan Blackwell) –"Create" (Brad Myers) –Reuse (Mary Beth Rosson) –Testing & Verification (Margaret Burnett) –Debugging (Andy Ko) Focus on the S/W Eng issue and how it applies to each of the different domains –Domain-driven compare/contrast –What has been done relevant to that domain for this S/W Eng issue –Which domains are most challenging and easiest? –How similar and different Take notes in PowerPoint for 3 minute summary

End-User Software Engineering SIG at CHI Industry Attendees at CHI2008 SIG Paula Dimaio – from media, consultant: integrated methodology S/W+UE for practitioners. Ontology engineering Marcus Stolze – IBM TJ Watson research lab. Business analysts, enterprise applications, dynamic access, business Jack Zaintz – SOAR Technology, modeling and simulation for military, let end users do their own modeling, training operators – adaptive scripting of models John Richards – IBM TJ Watson – support business analysts and architects when doing sense-making. Also, petaflop with 13-fold increase in programmer-productivity Claude Knaus – indep. developer: interaction design to create s/w dev. Tools Laura Beckwith – Microsoft Visual Studio team: middle between professional and EUP, e.g., consultants who want to make money off of programming Steve Clarke – also with MS VS Tessa Lau & Allen Cypher – IBM Almaden – Co-Scripter: EUP for web Steve Pemberton – Designer of XForms

End-User Software Engineering SIG at CHI Domains Web Applications Education, pen-based application: primary school (6-10years old) Coaches of sports teams Enterprise users (all employees) Ambient user interfaces – in home, consumer electronics Visualization for air traffic controllers (ATC), operators monitoring computer systems, UAV path has to be designed – has a language w/conditionals but want a UI Modeling & simulation for military exercises for military operations, NASA telemetry engineers Professional programmers who act like EUP Analysts who design and build enterprise applications, how can they provide more of the implementation – let them design their own UIs. As part of WebSphere & Rational Personal Information Management

End-User Software Engineering SIG at CHI Create group results Jack: Lots of different tools that have to be used together –Large Simulation System (JSAP) – config. files, UIs for scripting movement, intelligent entity control IDE (SoarTAC) but not for EU. –Simplified state machines – IDEs but not very good, FSM editor but pretends to not be a graph –Better tools for Intelligent Entity Control – textual IDEs w/some graphics for FSM, graphic forms Flash, Frontpage, –Make the web sites conform to accessibility guidelines Educators –How to learn Chinese, Geometry, Mathematics –Low-level platform UI Widgets: Text, Ink, Math formulas, Geometry, Chemistry –Pen-based design tool for designing functions they like –Interactive, drag-and-drop tool, set properties Sport fields –Different coaches have similar needs, but different formats –Different kinds of spreadsheets

End-User Software Engineering SIG at CHI Create group results Olivier Liechti – simple for interactive remote control for consumer electronics using Visual Programming, on handheld display CoScripter – IDE for scripting on the web, mostly by PBE Enterprise Applications, start in an unorganized fashion – how turn spreadsheet into a real enterprise applications? –Describe their process with an XML language –Structured applications around the data objects –State machines, specifying operations to change states, describe choices, process and focusing on data and states of the data. Data flow. –State of data objects, focus on access control questions –Additional aspect: input validation – separate framework needed

End-User Software Engineering SIG at CHI2008 Create group results Max: PIM: scripting language (in JavaScript) –Specifying conditions under which things are triggered by example – go into past and select a moment when would want something to happen –Select things that are relevant in the real user interface of Web-based PIM –Triggered on what documents are open, what music listening to, Twitter status (location) –Actions: call any web-based service, desktop services (turn on music, etc.) Entry-level JavaScript programmer

End-User Software Engineering SIG at CHI Categories of Creating Drag-and-drop Visual programming PBE –Textual model that can read but not edit –Hidden Markov Models –Creates conventional script Textual –Copy-and-paste: different style of programming –IDE: Code completion, automatic error finding and fix suggestions makes them much better for EUP –Exploration tool: PIG tool from Berkeley simulates as you go Form-filling – mail filters, Jacks IFOR (intelligent forces)

End-User Software Engineering SIG at CHI Testing and Verification Group Havent seen different work styles. Steven studied concept of a tester. How can I break? Study of people whose job responsibitilities were testing. –Some were testers. Some were business analysts, programmers. All did the same, namely black-box. Piero: 1. Medical, 2. Mech engr, 3. Software people. They have different views on testing, have different procedures for testing. –Eg, people from physics and medicine -- they have experience testing physical machines but not software. They do very black box approaches. (Often, their software is part of the machines they buy.) Steven has seen a lot of black-box. Sometimes end users dont think about testing at all, at least in spreadsheets. –Maybe because of the immediate visual feedback -- they may in some sensre regard it as already tested. Oracle problem -- making errors in judgments of failed/successful tests. –Overconfidence is a problem with end-user programmers. –With images it can be harder to evaluate the answer. Under the hood: software engr. talks about the underlying logic. Code inspection. –Gender differences (see 11:30 session). Assertions. Scenario-based approach: When a user does this, then that, the following happens. A storyboard. –A semi-quote: Developers take the happy path. I take all the other paths. –We wonder: is this true mostly in imperative paradigms, or would it also apply to more declarative ones? Interactive systems have important testing issues in their own right, –because end-user HCI work to customize these could lead to terrible errors.

End-User Software Engineering SIG at CHI2008 Testing and Verification Group Results Havent seen different work styles. Steven studied concept of a tester. How can I break? Study of people whose job responsibitilities were testing. –Some were testers. Some were business analysts, programmers. All did the same, namely black-box. Piero: 1. Medical, 2. Mech engr, 3. Software people. They have different views on testing, have different procedures for testing. –Eg, people from physics and medicine -- they have experience testing physical machines but not software. They do very black box approaches. (Often, their software is part of the machines they buy.) Steven has seen a lot of black-box. Sometimes end users dont think about testing at all, at least in spreadsheets. –Maybe because of the immediate visual feedback -- they may in some sense regard it as already tested.

End-User Software Engineering SIG at CHI2008 Testing and Verification Group Results Oracle problem -- making errors in judgments of failed/successful tests. –Overconfidence is a problem with end-user programmers. –With images it can be harder to evaluate the answer. Under the hood: software engr. talks about the underlying logic. Code inspection. –Gender differences (see 11:30 session). Assertions. Scenario-based approach: When a user does this, then that, the following happens. A storyboard. –A semi-quote: Developers take the happy path. I take all the other paths. –We wonder: is this true mostly in imperative paradigms, or would it also apply to more declarative ones? Interactive systems have important testing issues in their own right, –because end-user HCI work to customize these could lead to terrible errors.

End-User Software Engineering SIG at CHI2008 Design & Requirements Group Results Who interprets the requirement? Normally a professional translates from messy/concrete to the computer abstraction. Supply side: But without professional? Can a tool provide the trust Demand side: Two kinds of attitude to abstraction: –Some expert communities have good domain abstractions –Some communities share concrete examples, dont explicitly discuss abstraction Alternative: Focus on community (content, analogy, sharing)

End-User Software Engineering SIG at CHI2008 Reuse Group Results Gerhard Fischer (U Colorado), Dane Bertram (U Calgary), Allen Cypher (IBM Research), Craig Anslow (Victoria Univ. Wellington), Laura Beckwith (Microsoft), Tom LaTosa (CMU), Chris Scaffidi (CMU), Volkmar Pipek (U Ziegen) Domain-based comparisons –Content domains versus paradigm domains E.g. web, scripting, DB versus business, science, etc. –May also be something about where in lifecycle Find & adapt Create and organize Inherit and learn Collaborative/mutual discovery

End-User Software Engineering SIG at CHI2008 Domain contrasts Business processes (scripting) –Oriented toward large enterprises that have shared practices and thus built-in motivation for sharing Information providers, e.g. admin who has content to post –Example might be using Lotus Notes / Dominoes; –Observed lots of example/edit based reuse –This could include engineers Consultants, integration including some programming –Just want a solution demonstrated ASAP, find and connect code together Java professional programmers –Reuse within maintenance paradigm, finding model in others code Meta level, building tools that are situated within a domain –Human problem domain interaction --> domain-oriented design environments –Professional programmer builds the blocks to enable domain specialist –Assumes goal of reflective communities that include collaborations

End-User Software Engineering SIG at CHI2008 Debugging Group Debugging across domains Examples of end-user programming debugging: –large scale defense systems –multi-sensor data fusion –mashups of web resources –programming by example –natural language programming –debugging intelligent user interfaces

End-User Software Engineering SIG at CHI2008 Debugging Group One problem with debugging mashups is that the tools haven't caught up with the state of the art commercial tools for more popular debugging platforms. Debugging multi-sensor systems is difficult because they often involve complex AI and machine learning algorithms. Perhaps the debate between static and dynamic testing would be moot if we had better tools for understanding the dynamic behavior of program behavior. Almost always trust the sensors, but almost never trust data sources in web mashups. Henry's waterlanguage.com is trying to create a unified platform for web development