End-user programming

Networked appliances and applications open up the possibility for coordinating multiple network based services to create higher level functions where the environment behaves in a holistic and reactive manner to meet the occupants needs; creating so-called ‘Intelligent Environments’. Moreover, by deconstructing traditional  appliances and applications into sets of more basic network accessible services, it is possible to reconstruct both the original appliance or create user “invented” appliances by combining such basic network services in novel ways; creating so-called ‘virtual appliances”. For example, monolithic devices such as televisions can be decomposed into more ‘atomic’ network services (e.g. ‘display’, ‘audio transducer’ etc) which, could be combined with other services to allow people to re-configure them into novel combinations, forming personalized virtual appliances. The same principle can be applied to applications such as Word-processing or internet radio’s allowing used users to design their own applications.  In this work we address the challenge of enabling non-technical occupants of digital and smart homes to configure and personalize the functionality of their environments.