# Context-Aware End-User Development Review
## 4 Application Building Techniques
### Augmented/Advanced Interaction  
Specification of actions through an augmented/advanced interaction [40] refers to approaches applying other UI interactions such as virtual/augmented reality, physical/tangible proximity/interfaces [87], and voice.  
[PERSON] et al. introduced AutoHAN [43], an architecture that includes the Media Cubes programming language to program home appliances accessible to users that can operate a remote control. The language allows direct manipulation of cubes (physical blocks), arguing that it is more important than pictorial metaphors for end-user programming. Each cube has a single button, a single LED (status), and communication components for the home network, appliances, and cubes, enabling pairing cube and appliances. The home network integrates devices in the home living space (e.g., TV), outside it (e.g., cable TV decoder in the attic), and virtual devices (e.g., software components). The language allows a direct behavior associated with a concrete representation, including action effects, e.g., a cube \"play/pause function\" associated with a CD player and a VCR. A program then follows a composition of the abstractions represented in the media cubes, automating home processes or enhancing situations. The AutoHAN language's potential lies in the 2D adjacency of cubes rather than a 1D arrangement of textual programming languages.  
[PERSON] et al. introduced T4 Tags 2.0 [70], a toolkit for end-user programming of tangible tokens attached to home objects/appliances. The tokens, which embed sensing technologies, are used to create smart behaviors (called recipes). The behaviors are configured based on a trigger-condition-action syntax in a mobile-oriented web application. A trigger is an event that activates a recipe, such as a physical action/state or a date/time event. Conditions are constraints for triggered events using and/or operators. An action is an activity to perform, e.g., send, share, buy. It contains an action object, e.g., e-mail, file, item for the actions send, share, and buy, respectively. Actions also involve an action provider, which is the action's service, e.g., e-mail provider, Twitter, Facebook, and Amazon. The application shows available options regarding the selected action, e.g., for \"send e-mail,\" it presents fields to introduce \"to,\" \"subject,\" and \"message\".  
[PERSON] et al. presented CAPturAR [78], an augmented reality authoring tool for IoT context-aware applications. It includes a visual programming interface to create rules, defining human actions corresponding to daily activities. The interface records scenarios and then presents virtual replicas of objects and a human avatar. A user can demonstrate actions supported by UI functionalities for timeline navigation object drawing (e.g., connecting object functions and desire actions). Then, the tool generates detection models with motion data, which the user can also edit. Users can add or edit necessary contextual information such as time, location, objects, state (e.g., light on/off). Finally, users can test the functions on a simulated IoT.