Exploring End User Programming Needs in Home Automation
a user - centric view of intelligent environments : user expectations , user experience and user role in building intelligent environments .