This book provides an in-depth insight into the emerging paradigm of End-User Development (EUD), discussing the diversity and potential for creating effective environments for end users. Containing a unique set of contributions from a number of international researchers and institutes, many relevant issues are discussed and solutions proposed, making important aspects of end-user development research available to a broader audience. Most people are familiar with the basic functionality and interfaces of computers. However, developing new or modified applications that can effectively support users' goals still requires considerable programming expertise that cannot be expected of everyone. One of the fundamental challenges that lie ahead is the development of environments that enable users with little or no programming experience to develop and modify their own applications. The ultimate goal is to empower people to flexibly employ and personalise advanced information and communication technologies.