Now more than ever users can create their own software in contexts chosen by themselves, at work, in education, for leisure, etc., by techniques such as modding, mashing, and tailoring. Spreadsheets, databases, web mash-ups, as well as content management systems and software products like ERP systems provide tools for End-User Development (EUD). The users of these tools are non-professional software developers, who create, modify and extend a software artifact.
The International Symposium for End User Development (IS-EUD) series is the main forum for reporting research in EUD. The next conference will be held at the IT University in Copenhagen, Denmark, June 10-13, 2013. It is a meeting point for researchers with an interdisciplinary interest, including: Human-Computer Interaction, Software Engineering, Computer Supported Cooperative Work, Artificial Intelligence, and related areas.
Among the challenges facing EUD are:
- Software process: End users often lack education in software development, in particular software project management and program verification; in these contexts users must tackle the challenges faced by professional software developers. Researchers have begun to develop tools for end users to help them reduce costly errors.
- Multidisciplinary cooperation: Cooperation between users, end-user developers and software engineers are crucial to inform design-time variation and use-time evolution of software in the user organization as well as for changing work practices. EUD research includes studies of organizational end-user tailoring to identify the cooperation and sharing around the evolution of software products and organizational IT-infrastructures.
- Use-orientation technologies: Technical design is required for orchestrating evolution of the basic software, customizations and configurations. Technical design approaches like component-based design, aspect oriented programming, or domain specific languages are promising starting points, but they need to be further developed to accommodate the needs of organizational end-user development.