This book provides an overview of work that has been done on adaptive systems from the user, as well as the software engineering, point of view. It describes a prototype of a system that incorporates adaptive and adaptable capabilities to support users in typical spreadsheet operations.