Information Technology Reference
In-Depth Information
to programming (or tailoring) can be designed.
Advanced techniques for developing applications
can be used by individuals as well as by groups
or social communities or organizations.
The end-user population is not uniform, but
it includes people with different cultural, educa-
tional, training, and employment backgrounds,
novice and experienced computer users, the very
young and the elderly, and people with different
types of disabilities. Moreover, these users operate
in various interaction contexts and scenarios of
use, and they want to exploit computer systems
to improve their work, but often complain about
the difficulties in the use of such systems.
There are also important differences among
end users, professional programmers, and soft-
ware engineers. They are different in training,
culture, skill, and technical abilities, in the scale
of problems to be solved, in the processes, and
so forth. However, there are some similarities.
For instance, managing the successive versions
of a piece of software is most probably a problem
for software engineers as managing successive
versions of documents with a word processor is a
problem for end users. Reports or letters are often
written in several phases; a businessman will
write successive versions of a contract that must
be proofread by all parties; a home user will reuse
the same letter year after year when sending his
or her tax report and just change some figures in
the letter. In these cases, clever or appropriately
educated users learn a simple technique aimed
at helping them to manage the successive ver-
sions: assigning a number to each version. What
about something of a greater complexity than
the numeration of versions? One cannot expect
an end user to apply the techniques provided
within the software engineering field. Software
engineering methods and tools require knowledge
of abstract models that end users do not have and
that require specific training. Consequently, an
interesting line of research consists in identifying
new sets of techniques and tools that would be
the counterpart of software engineering for end
users: end-user development .
Based on the activity performed within the
thematic network on EUD funded by the European
Commission during 2002-2003, the following
definition of EUD has been proposed: “ End-User
Development is a set of activities or techniques
that allow people, who are non-professional
developers, at some point to create or modify a
software artifact ” (EUD-Net, http://giove.cnuce.
cnr.it/eud-net.htm) . EUD means the active par-
ticipation of end users in the software develop-
ment process. In this perspective, tasks that are
traditionally performed by professional software
developers are transferred to the users, who need
to be specifically supported in performing these
tasks. The active user participation in the software
development process can range from providing
information about requirements, use cases, and
tasks, from participatory design to end user pro-
gramming. Some EUD-oriented techniques have
already been adopted by software for the mass
market such as the adaptive menus in MS Word TM
or some Programming by Example techniques in
MS Excel TM . However, we are still quite far from
their systematic adoption.
All these techniques can be considered as
belonging to a new design paradigm called
metadesign (Fischer & Giaccardi, 2006; Fischer
et al., 2004; Costabile et al., 2005). Metadesign
goes beyond but includes user-centered design
and participatory design. As defined in Fischer
et al. (2004):
Meta-design characterizes objectives, techniques,
and processes for creating new media and envi-
ronments allowing “owners of problems” (that
is, end users) to act as designers. A fundamental
objective of meta-design is to create socio-techni-
cal environments that empower users to engage
actively in the continuous development of systems
rather than being restricted to the use of existing
systems. (p. 35)
Search WWH ::




Custom Search