VIDEO: Ivy: Exploring Spatially Situated Visual Programming for Authoring and Understanding Intelligent Environments