Describir: Modeling Human-Computer Interaction in Smart Spaces: Existing and Emerging Techniques