EMI2lets is a middleware platform that aims to facilitate the development of context-aware mobile applications for ambient intelligence spaces. It uses mobile devices as universal remote controllers of "smart objects" in the environment. The EMI2lets platform allows physical objects and devices to be augmented with computational services, and discovers and interacts with these smart objects. It transfers small software components called EMI2lets from smart objects to mobile devices, allowing users to interact with and control smart objects through their phone or PDA. This transforms the environment into an ambient intelligence space and mobile devices into intelligent assistants.