Catálogo de publicaciones - libros
End User Development
Henry Lieberman ; Fabio Paternò ; Volker Wulf (eds.)
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
User Interfaces and Human Computer Interaction
Disponibilidad
Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
---|---|---|---|---|
No detectada | 2006 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-1-4020-4220-1
ISBN electrónico
978-1-4020-5386-3
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2006
Información sobre derechos de publicación
© Springer 2006
Cobertura temática
Tabla de contenidos
End-User Development: An Emerging Paradigm
Henry Lieberman; Fabio Paternò; Markus Klann; Volker Wulf
We think that over the next few years, the goal of interactive systems and services will evolve from just making systems easy to use (even though that goal has not yet been completely achieved) to making systems that are easy to develop by end users. By now, most people have become familiar with the basic functionality and interfaces of computers, but they are not able to manage any programming language. Therefore, they cannot develop new applications or modify current ones according to their needs.
In order to address such challenges it is necessary a new paradigm, based on a multidisciplinary approach involving several types of expertise, such as software engineering, human-computer interaction, CSCW, which are now rather fragmented and with little interaction. The resulting methods and tools can provide results useful across many application domains, such as ERP, multi-device services (accessible through both mobile and stationary devices), and professional applications.
Key words. tailorability, end user programming, flexibility, usability
Pp. 1-8
Psychological Issues in End-User Programming
Alan F. Blackwell
Psychological research into the usability of programming languages and environments, and the cognitive processes that must be supported to improve their usability, has been conducted for over 30 years [dating at least to Weinberg’s (1971) book “The Psychology of Computer Programming”]. For the past 15 years, there have been two permanent research communities devoted to this topic: the Psychology of Programming Interest Group in Europe (www.ppig.org) and the Empirical Studies of Programmers Foundation in America. This chapter presents a survey of the research that has been conducted in those communities, the relationship between that research and end-user development, case studies of shared research themes, and design approaches that have arisen from these themes. In this chapter, I will refer to the work of both communities under the generic term “psychology of programming,” although as will become clear later, this term is not completely adequate.
Key words. psychology, programming, end-users, education, spreadsheets, scripting, design models
Pp. 9-30
More Natural Programming Languages and Environments
John F. Pane; Brad A. Myers
Over the last six years, we have been working to create programming languages and environments that are more , by which we mean closer to the way people think about their tasks. The goal is to make it possible for people to express their ideas in the same way they think about them. To achieve this, we performed various studies about howpeople think about programming tasks, and then used this knowledge to develop a new programming language and environment called HANDS. This chapter provides an overviewof the goals and background for the Natural Programming research, the results of some of our user studies, and the highlights of the language design.
Pp. 31-50
What Makes End-User Development Tick? 13 Design Guidelines
Alexander Repenning; Andri Ioannidou
End-user development (EUD) has enormous potential to make computers more useful in a large variety of contexts by providing people without any formal programming training increased control over information processing tasks. This variety of contexts poses a challenge to EUD system designers. No individual system can hope to address all of these challenges. The field of EUD is likely to produce a plethora of systems fitting specific needs of computer end-users. The goal of this chapter is not to advocate a kind of universal EUD system, but to cut across a variety of application domains based on our experience with the AgentSheets end-user simulation-authoring tool.We have pioneered a number of programming paradigms, experienced a slew of challenges originating in different user communities, and evolved EUD mechanisms over several years. In this chapter we present design guidelines that cut across this vast design space by conceptualizing the process of EUD as a learning experience. Fundamentally, we claim that every EUD system should attempt to keep the learning challenges in proportion to the skills end-users have. By adopting this perspective, EUD can actively scaffold a process during which end-users pick up new EUD tools and gradually learn about new functionality. We structure these design guidelines in accordance to their syntactic, semantic, and pragmatic nature of support offered to end-users.
Key words. agents, end-user programming, graphical rewrite rules, programming by example, visual programming.
Pp. 51-85
An Integrated Software Engineering Approach for End-User Programmers
Margaret Burnett; Gregg Rothermel; Curtis Cook
End-user programming has become the most common form of programming in use today. Despite this growth, there has been little investigation into the correctness of the programs end-users create. We have been investigating ways to address this problem via a holistic approach we call . The concept is to bring support for aspects of software development that happen beyond the “coding” stage—such as testing and debugging—together into the support that already exists for incremental, interactive programming by end-users. In this chapter, we present our progress on three aspects of end-user software engineering: systematic “white box” testing assisted by automatic test generation, assertions in a form of postconditions that also serve as preconditions, and fault localization.We also present our strategy for motivating end-user programmers to make use of the end-user software engineering devices.
Pp. 87-113
Component-Based Approaches to Tailorable Systems
Markus Won; Oliver Stiemerling; Volker Wulf
Flexibility is one of the most striking features of modern software. As the idea of integrating components is easily understood by programmers as well as end users, component architectures seem to be very promising to serve as a technological basis. In this chapter we give an overview of our work in the last years. A component model called FLEXIBEANS has been designed with the special notion to develop highly flexible and tailorable applications. The FREEVOLVE platform then serves as an environment in which compositions can be run and tailored. The second part of the chapter deals with the development and evaluation of different tailoring environments in which end users can compose their own applications or tailor existing ones. Users tests showed that besides a coherent technical basis and a manageable visual tailoring environment, there is a need for additional support techniques. We discuss how techniques to support users’ individual and collective tailoring activities can be integrated into the user interface.
Key words. tailorability, platform, component architecture, user interface, collaborative tailoring, evalution.
Pp. 115-141
Natural Development of Nomadic Interfaces Based on Conceptual Descriptions
Silvia Berti; Fabio Patern`o; Carmen Santoro
Natural development aims to ease the development process of interactive software systems. This can be obtained through the use of familiar representations together with intelligent environments able to map them onto corresponding implementations of interactive systems. The main motivation for model-based approaches to user interface design has been to support development through the use of meaningful abstractions in order to avoid dealing with low-level details. Despite this potential benefit, their adoption has mainly been limited to professional designers. This paper shows how they should be extended in order to achieve natural development through environments that enable end-users to create or modify interactive applications still using conceptual models, but with continuous support that facilitates their development, analysis, and use. In particular, we discuss the application of the proposed criteria to the CTTE and TERESA environments, which support the design and development of multi-device interfaces.
Pp. 143-159
End User Development of Web Applications
Jochen Rode; Mary Beth Rosson; Manuel A. Pérez Qui˜nones
This chapter investigates entry barriers and approaches for facilitating end-user web application development with the particular focus on shaping web programming technology and tools according to end-users’ expectations and natural mental models. Our underlying assumption and motivation is that given the right tools and techniques even nonprogrammers may become successfulweb application developers. The main target audience for this research are “casual”webmasters without programming experience—a group likely to be interested in building web applications. As an important subset of web applications we focus on supporting the development of basic data collection, storage and retrieval applications such as online registrations forms, staff databases, or report tools. Firstwe analyze the factors contributing to the complexity ofweb application development through surveys and interviews of experienced programmers; then we explore the “natural mental models” of potential end-user web developers, and finally discuss our particular design solutions for lowering entry barriers, as embodied by a proof-of-concept development tool, called Click. Furthermore, we introduce and evaluate the concept of “Design-at-Runtime”—a new technique for facilitating and accelerating the development-test cycle when building web-based applications.
Key words. end user development, web applications
Pp. 161-182
End-User Development: The Software Shaping Workshop Approach
Maria Francesca Costabile; Daniela Fogli; Piero Mussio; Antonio Piccinno
In the Information Society, end-users keep increasing very fast in number, as well as in their demand with respect to the activities they would like to perform with computer environments, without being obliged to become computer specialists. There is a great request to provide end-users with powerful and flexible environments, tailorable to the culture, skills, and needs of a very diverse end-user population. In this chapter, we discuss a framework for End-User Development and present our methodology for designing software environments that support the activities of a particular class of end-users, called domain-expert users, with the objective of making their work with the computer easier. Such environments are called Software Shaping Workshops, in analogy to artisan workshops: they provide users only with the necessary tools that allow them to accomplish their specific activities by properly shaping software artifacts without being lost in virtual space.
Key words. end-user development, domain expert, user diversity, gain, co-evolution, implicit information, tacit knowledge, user notation, HCI model.
Pp. 183-205
Participatory Programming: Developing Programmable Bioinformatics Tools for End-Users
Catherine Letondal
We describe participatory programming as a process that spans design, programming, use and tailoring of software. This process, that includes end-users at each stage, integrates participatory design and programmability. Programmability, as a property that relies on a reflective architecture, aims to let the end-users evolve the tools themselves according to their current, specific needs, and to let them control better the way results are computed. We present an environment that results from this approach, called , developed for researchers in biology, which is both domain-oriented and open to full programming.
Pp. 207-242