Home

EUD

End-user development (EUD) is a field in human-computer interaction that studies techniques and tools that enable non-professional programmers to create, modify, or extend software and systems to meet their own needs. It includes end-user programming, end-user software engineering, and related practices that let domain experts address tasks in data analysis, automation, and personalization without relying exclusively on professional developers.

Techniques in EUD include end-user programming with spreadsheets, macros, and scripting in applications, as well as

Historical and practical context shows that the rise of personal computing and enterprise automation propelled EUD

Challenges include ensuring quality, portability, security, and maintainability of user-created programs, as well as data governance

visual
programming
languages.
No-code
and
low-code
platforms
provide
higher-level
components
to
assemble
applications,
while
programming
by
example
and
program
synthesis
help
users
generate
functionality
from
demonstrations.
Domain-specific
languages
and
form
builders
also
support
tailoring
tools
to
local
workflows.
The
goal
is
to
lower
barriers
to
expression
and
enable
rapid,
iterative
development
by
the
people
who
understand
the
tasks
best.
forward.
Spreadsheets
are
often
cited
as
early
EUD
tools,
and
modern
work
environments
emphasize
reliability,
maintainability,
and
governance
of
user-developed
software.
EUD
is
applied
in
offices,
education,
and
specialized
domains
to
automate
repetitive
tasks,
prototype
solutions,
and
customize
tools
to
fit
workflows
and
data
practices.
and
privacy
concerns.
Providing
appropriate
user
support
while
preserving
autonomy,
and
integrating
EUD
artifacts
with
professional
software
ecosystems,
are
ongoing
research
and
policy
considerations.
Related
concepts
include
end-user
programming,
low-code
and
no-code
development,
macro
languages,
and
visual
programming.