A Meta-design approach supporting "unwitting" programmers Antonio Piccinno Interaction, Visualization and Usability Lab Dipartimento di Informatica, Università.

Slides:



Advertisements
Similar presentations
Computer Supported Cooperative Work by an Agent Oriented Software Engineering Approach: CSCW by AOSE Darlinton Carvalho
Advertisements

Chapter 5 Development and Evolution of User Interface
DELOS Highlights COSTANTINO THANOS ITALIAN NATIONAL RESEARCH COUNCIL.
Design, prototyping and construction
Piero Mussio La nostra collaborazione 1988Incontro a ICPR, Roma 1989Incontro a VL, Roma 1992 Incontro a AVI, Roma 1994 Inizia la collaborazione.
Map of Human Computer Interaction
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
/ Where innovation starts 1212 Technische Universiteit Eindhoven University of Technology 1 Incorporating Cognitive/Learning Styles in a General-Purpose.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Project Proposal.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
CIS 100a TEKnology – High Tech Exploration Introduction to High Tech.
WHAT IS INTERACTION DESIGN?
Human Computer Interaction
Meta-Design, Participative Software Systems, and Web Contribution - Daniela Fogli Dipartimento di Elettronica per l’Automazione Università degli.
Introduction To System Analysis and Design
Design Activities in Usability Engineering laura leventhal and julie barnes.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Sharing Knowledge in Adaptive Learning Systems Miloš Kravčík Dragan Gašević Fraunhofer FIT, GermanySimon Fraser University, Canada
Brad A. Myers, CMU Pilot: Exploratory Programming for Interactive Behaviors: Unleashing Interaction Designers’ Creativity Brad Myers, Stephen Oney, John.
Fundamentals of Information Systems, Second Edition
Daniela Fogli 1, Andrea Marcante 2, Piero Mussio 2, Loredana Parasiliti Provenza 2 Design of Visual Interactive Systems: a Multi-Facet Methodology 1 Dipartimento.
Chapter 7 design rules.
Building Knowledge-Driven DSS and Mining Data
The Computer Science Course at Omar Al-Mukhtar University, Libya The Computer Science Course at Omar Al-Mukhtar University, Libya User-Centered Design.
ICT TEACHERS` COMPETENCIES FOR THE KNOWLEDGE SOCIETY
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CMPD 434 MULTIMEDIA AUTHORING
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
Supporting Domain-Expert Users Pisa, September 2002 Maria Francesca Costabile Dipartimento di Informatica, Università di Bari, Italy
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Interuniversity Center for Educational Research and Advanced Training Paolo Tosato, Juliana Raffaghelli European Distance and E-Learning Network Teachers’
Multimedia Production Team
Towards an activity-oriented and context-aware collaborative working environments Presented by: Ince T Wangsa Supervised by:
Design Science Method By Temtim Assefa.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Human Computer Interaction
Towards a European network for digital preservation Ideas for a proposal Mariella Guercio, University of Urbino.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Chapter 12: Introducing Evaluation. The aims To illustrate how observation, interviews and questionnaires that you encountered in Chapters 7 and 8 are.
CS2003 Usability Engineering Human-Centred Design Dr Steve Love.
1 Module F1 Modular Training Cycle and Integrated Curriculum.
Haptic Interfaces and Force-Control Robotic Application in Medical and Industrial Contexts Applicants Prof. Doo Yong Lee, KAIST Prof. Rolf Johansson,
Chapter 12: Introducing Evaluation. The aims To illustrate how observation, interviews and questionnaires that you encountered in Chapters 7 and 8 are.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
1 Knowledge Acquisition and Learning by Experience – The Role of Case-Specific Knowledge Knowledge modeling and acquisition Learning by experience Framework.
CSE 303 – Software Design and Architecture
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Lesson 3-Multimedia Skills. Overview Members of a multimedia team. Roles and responsibilities in a multimedia team.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Design, prototyping and construction(Chapter 11).
The People Of Utah A WebQuest for UEN Created by Kim Colton December, 2006.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Iterative design and prototyping
Design, prototyping and construction
Model-Driven Analysis Frameworks for Embedded Systems
WHAT IS INTERACTION DESIGN?
HCI Evaluation Techniques
Map of Human Computer Interaction
Design, prototyping and construction
Presentation transcript:

A Meta-design approach supporting "unwitting" programmers Antonio Piccinno Interaction, Visualization and Usability Lab Dipartimento di Informatica, Università di Bari, Italy

2 Antonio Piccinno – L3D – January 23, 2008 IVU Group IVU group (lnteraction, Visualization and Usability group), supervised by Prof. Maria Francesca Costabile, has the following research interest: End-User Development Visual Languages Multimedia and MuItimodal human-computer interation Information Visualization Visual Data Mining Usability Engineering E-learning systems Interfaces

3 Antonio Piccinno – L3D – January 23, 2008 IVU People Maria Francesca Costabile (Full Professor) Paolo Buono ( Assistant Professor ) Rosa Lanzilotti, Antonio Piccinno, Carmelo Ardito ( Research Collaborators ) Francesca Montinaro, Nicholas Caporusso, Adalberto Simeone (PhD Students) Thomas Pederson (Visiting Researcher, Umea University, Sweden) Other collaborators and students

4 Antonio Piccinno – L3D – January 23, 2008 Collaborations On topics in this seminar: Prof. Piero Mussio Dip. Informatica e COmunicazione (DICO) - University of Milan - Italy Dr. Daniela Fogli Dip. di Elettronica per l’Automazione (DEA) - University of Brescia - Italy Dr. Loredana Parasiliti Provenza Dip. Informatica e COmunicazione (DICO) - University of Milan - Italy

5 Antonio Piccinno – L3D – January 23, 2008 Outline Difficulties in HCI process User diversity Co-evolution of user and system ICE (Interaction and Co-Evolution) model Unwitting software development The Software Shaping Workshop design methodology Case studies Conclusions

6 Antonio Piccinno – L3D – January 23, 2008 Communication gap Users and software designers adopt different reasoning strategies: heuristic vs. algorithmic examples, analogies vs. deductive abstract tools concreteness vs. abstraction Users are forced to express their problems in alien “computerese” and play the role designers think users have to play … but users are domain experts and owners of the problem

7 Antonio Piccinno – L3D – January 23, 2008 Problematic aspects affecting HCI User Diversity users are different in culture, goals, tasks, etc., even in the same community Co-evolution of users and systems “Using the system changes the users, and as they change they will use the system in new ways” Nielsen 1993 “The individual is a moving target. Design for the individual of today, and the design will be wrong tomorrow […]. This is because as individuals gain proficiency in usage, they need different interfaces then were required when they were beginners” Norman 2005 New model-based approaches to HCI are needed to identify and frame not only the characteristics of the interaction process, but also to consider the co-evolution process

8 Antonio Piccinno – L3D – January 23, 2008 social & organizational context technology cycle 2 tasks cycle 1 artifacts Interaction and Co-Evolution (ICE) model materialization interpretationmaterialization interpretation i(t 0 )  i(t 1 )  …  i(t n ) Inspired by [Carroll and Rosson 1992][Bourguin et al. 2001]

9 Antonio Piccinno – L3D – January 23, 2008 Improving HCI Developing interactive systems: that are inspired by the “world” in which end users work (metaphor) whose interaction style (messages + actions) is based on lexicon and signs and on working strategies that are familiar to end users Interaction languages exploit end user traditional languages

10 Antonio Piccinno – L3D – January 23, 2008 “one size fits all” Vs “one-task” Too difficult to use, to learn and too complex General purpose tools are not suitable for end users Personalization feature Very few functionalities: only the needed ones Easy to use general purpose toolsone-task tools Tools supporting a limited set of tasks few functionalities aimed at accomplishing the tasks for a specific purpose or for a specific user community

11 Antonio Piccinno – L3D – January 23, 2008 Turing Tar Pit Turing Tar Pit: “Beware of the Turing Tar Pit, in which everything is possible, but nothing of interest is easy.” Inverse of Turing Tar Pit: “Beware of the over-specialized systems, where operations are easy, but little of interest is possible.” [G. Fischer 2006]

12 Antonio Piccinno – L3D – January 23, 2008 Two classes of end-user activities Parametrization or customization (by users): Activities allowing users to choose among presentations, behaviours, interaction modalities (foreseen by designers) Tailoring (by users): Activities that require the creation or the modification of a software artifact direct manipulation visual programming programming by example or by demonstration macro Scripting languages End User Development (EUD): “End User Development is a set of activities or techniques that allow users of software systems, who are acting as non-professional software developers, at some point to create or modify a software artefact ” [EUD-Net 2003] [Costabile, M. F., et al. HCC 2003] Class 1 Class 2

13 Antonio Piccinno – L3D – January 23, 2008 Software-related activities adapted by Ye, Y. and Fischer, G Designing for Participation in Socio-Technical Software Systems. Proc. HCII 2007 (Beijing, China, Jul , 2007). LNCS,Springer, End-users who Web contents Data-intensive customize developers researchers Using software Developing software Pure end-users End-users who write macros Developers using domain-specific languages Software professionals Class 1 Class 2

14 Antonio Piccinno – L3D – January 23, 2008 Unwitting end user programmers Children playing with a computer game are required sophisticated programming embedded in a motivated activity It is perceived as something easy and fun to perform It cannot be programming! Computer-based authoring tools allow them to construct interactive simulations, animations, and games a lot of emphasis is made on construction they program by construction not by algorithm development Programming is not the children goal; playing, constructing and deconstructing are their goal unwitting end user programmers [Petre & Blackwell, VL/HCC 2007]

15 Antonio Piccinno – L3D – January 23, 2008 Domain expert as unwitting programmers End users not expert at all in computer science, nor are willing to be, and use computer systems for their daily work activities They want software environments easily accessible, that they can “tailor” to their needs, task and habits without being aware of programming They are Unwitting Software Developers

16 Antonio Piccinno – L3D – January 23, 2008 From end-users to software professionals Using software Software professionals Unwitting Software Developers Developing software UNWITTINGLY Pure end-users Witting software developers WITTINGLY

17 Antonio Piccinno – L3D – January 23, 2008 Designing usable interactive systems A design methodology, based on the ICE model, that creates different software environments supporting specific activities Each environment provides all and only the tools to perform the desired activities Few functionalities aimed at accomplishing the tasks for a specific purpose or for a specific user community When users need more functionalities, the system should evolve

18 Antonio Piccinno – L3D – January 23, 2008 The Software Shaping Workshop (SSW) methodology A useful metaphor for conceptual design: artisan workshop In several application domains, different communities of users cooperate to reach a common goal Software environments, each devoted to a specific community of users, are organized as virtual workshops, called Software Shaping Workshops

19 Antonio Piccinno – L3D – January 23, 2008 Two kinds of Software Shaping Workshops Application workshop is a SSW used by a community of end users to perform their daily tasks in a certain domain, it is properly designed for the specific needs of that community of end users System workshop is a SSW used by a community of experts in the design team to generate and update other workshops, it is properly designed for the specific needs of that community of experts, e.g. software engineers, or HCI experts, or domain experts

20 Antonio Piccinno – L3D – January 23, 2008 Meta-design “Meta-design characterizes objectives, techniques, and processes for creating new media and environments allowing ‘owners of problems’ (that is, end users) to act as designers” [Fischer et al. 2004, CACM, Special Issue on End User Development] Our view: A design paradigm that includes end users as active members of the design team and provides all stakeholders in the team with suitable languages and tools to foster their personal and common reasoning about the development of interactive software systems that support end users’ work

21 Antonio Piccinno – L3D – January 23, 2008 Workshop network organization An interactive system to support the work practice in a given application domain is not a monolithic piece of software… but a network of system and application workshops The network levels: The meta-design level: where software engineers use a system workshop to prepare the tools to be used at the successive level The design level: where HCI experts and user representatives cooperate to the design, implementation and validation of application workshops, using system workshops customized to their needs, culture and skills The use level: where end users cooperate to achieve a task using application workshops

22 Antonio Piccinno – L3D – January 23, 2008 W-HCI W-End-UserXW-End-UserY W-ReprX W-ReprY Design level Use level W-SE Meta design level W-ReprZ W-End-UserWW-End-UserZ W-ReprW to W-End-UserXto W-End-UserY to W-End-UserW to W-End-UserZ

23 Antonio Piccinno – L3D – January 23, 2008 Supporting co-evolution: the role of communication paths Exchange paths: the paths along which the exchanges of data and programs occur among the workshops at the same level Request paths: concerned with the communications going from low levels to higher levels trigger the co-evolution process, carrying on the feedback from end users (requests for workshop modification or extension) Generation paths: represent the activity of using system workshops at a high level to generate, modify or extend workshops to be used at the lower level new or evolved workshops are made available to lower levels along such generation paths

24 Antonio Piccinno – L3D – January 23, 2008 Supporting co-evolution: the role of communication paths Exchange paths: the paths along which the exchanges of data and programs occur among the workshops at the same level Request paths: concerned with the communications going from low levels to higher levels trigger the co-evolution process, carrying on the feedback from end users (requests for workshop modification or extension) Generation paths: represent the activity of using system workshops at a high level to generate, modify or extend workshops to be used at the lower level new or evolved workshops are made available to lower levels along such generation paths

25 Antonio Piccinno – L3D – January 23, 2008 Supporting co-evolution: the role of communication paths Exchange paths: the paths along which the exchanges of data and programs occur among the workshops at the same level Request paths: concerned with the communications going from low levels to higher levels trigger the co-evolution process, carrying on the feedback from end users (requests for workshop modification or extension) Generation paths: represent the activity of using system workshops at a high level to generate, modify or extend workshops to be used at the lower level new or evolved workshops are made available to lower levels along such generation paths

26 Antonio Piccinno – L3D – January 23, 2008 Achieving co-evolution The experts reachable in the network analyze annotations, communicate among them using exchange paths (or request paths, if they in turn refer to the higher level), and agree on a possible solution to the notified problems, thus updating the corresponding workshop (along the generation path) Co-evolution: the result of a combination of generation, request and exchange activities carried out throughout the lifecycle of the SSW network All workshops and all stakeholders in the network may be potentially involved in the co-evolution process

27 Antonio Piccinno – L3D – January 23, 2008 Case study: patient record Paper-based patient records Specific patient records for each ward even in the same hospital One patient record each patient Patient records are composed by modules Each module contains specific field for collecting patient data Nurse records the patient measurements

28 Antonio Piccinno – L3D – January 23, 2008 Users and “unwitting” programmers Hospital Management it defines the needed modules for acceptance of a new patient Reception it is called to record new patients data Head physician of the specific ward s/he defines the patient record Nurse s/he fill in the patient record with data from patient daily measurements

29 Antonio Piccinno – L3D – January 23, 2008 The SSW network in the case study Workshops preesistenti Workshops realizzati Workshops non realizzati

30 Antonio Piccinno – L3D – January 23, 2008 The SSW network in the prototype Meta-Design Level framework Echo2 J-Creator, Eclipse Design Level “W-ReprDirezioneSanitaria” is used by hospital management to define the reception needed modules “W-ReprPrimario” is used by the various wards head physicians “W-ReprHCI” is used by Human Computer Interaction experts to evaluate the SSW at “use level” usability Use Level “W-End-Accettazione” is used by receptionists “W-End-Infermiere” is used by nurses “W-End-Primario” is used by head physicians to examine the patient record

31 Antonio Piccinno – L3D – January 23, 2008 System Workshop W-RapprPrimario is used by each head physician to create and update the specific application workshops “W-End-Infermiere” and “W-End-Primario” for their own ward

32 Antonio Piccinno – L3D – January 23, 2008 Application workshop for Nurses W-End-Infermiere is used by nurses to daily fill in the measurements on the patient (and required in the patient record)

33 Antonio Piccinno – L3D – January 23, 2008 Application workshop for Reception W-End-Accettazione is used by hospital receptionist to record new patient data

34 Antonio Piccinno – L3D – January 23, 2008 Prototype architecture

35 Antonio Piccinno – L3D – January 23, 2008 Others case studies Mechanical engineering field Medical domain Tourism, Cultural and Geological fields ….

36 Antonio Piccinno – L3D – January 23, 2008 Conclusion A model-based methodology aimed at designing interactive systems that address the needs of different communities of users, in which operations are easy to perform The SSW methodology bridges the communication gaps among the members of the design team that includes different experts: software engineers, HCI experts, end users as domain experts Each expert is a stakeholder that proposes design solutions from his/her perspective Each domain expert is an unwitting software developers By relying on a novel model of Interaction and Co-Evolution processes, co-evolution of users and systems is supported

37 Antonio Piccinno – L3D – January 23, 2008 Antonio Piccinno