February 16, 2005

Daniela Fogli, Dept. of Electronics for Automation, University of Brescia, Italy

Design, Specification, and Implementation of Environments for End-User Development

Abstract

The diffusion of multimodal, hypermedia, interactive systems determines an evolution in the culture of computing and an evolution of the roles of designers, programmers, and end-users in the life cycle of software products. Schneiderman synthesizes this situation claiming that ìthe old computing is about what computers can do, the new computing is about what people can doî. The ìinteractionî dimension in software systems pays much attention on the human side and forces to go beyond the traditional Turing machine approach to computation by considering interaction as a key feature.

The interaction dimension creates also new challenges for system specification, design and implementation. Co-evolution of users and system must be foreseen while developing a new system, since often new uses of the system make the users, the working environment and the organization evolve, and force the designers to adapt the system to the evolved users, organization and environment.

From the software engineering point of view, co-evolution requires re-use and adaptation, allowing users to modify and tailor their own systems, or even to create themselves the needed applications. Current techniques for software specification and design, such as UML, are very useful for software engineers, but they are often alien to usersí experience, language and background. Novel approaches are needed to include End-User Development in the software life cycle. In particular, software development life cycles should foresee user-centered, participatory and meta design.

In this presentation, I will talk about an approach to the design, specification, and implementation of interactive systems that permit activities of End-User Development. The approach starts from the observation of users activities during their daily work, and involves them in the design and evolution of the interactive systems. Such interactive systems have been called Software Shaping Workshops, to stress the possibilities they give users to create and tailor software by simply manipulating the objects of interest in a way similar to what they might do in the real world. The approach is illustrated with reference to some real case studies.

Return to L3D Calendar Page