By now, most people have become familiar with the basic functionality and interfaces of computers. However, developing new or modified applications that effectively support users' goals still requires considerable expertise in programming that cannot be expected from most people. Thus, one fundamental challenge for the coming years is to develop environments that allow users who do not have background in programming to develop or modify their own applications, with the ultimate aim of empowering people to flexibly employ advanced information and communication technologies. The present book is an effort to make many important aspects of the international discussion on End-User Development (EUD) available to a broader audience. It provides a unique set of contributions from various research institutes in various countries addressing relevant issues and proposing original solutions.