The creation of smart environments that are adaptive and responsive to the context in which they are being used has been one of the strongest ideas in ambient intelligence, but also one of the areas in which there seems to be a persistent gap between the initial promises and its real achievements. A possible reason why this is so challenging is that context-driven interaction and systems support are highly interdependent, but are rarely designed together. In this paper, we analyse the implications of context-driven interaction to the type of systems support provided by smart environments. The analysis is based on the study of previous work in this area and structured around three main dimensions of interaction with smart environments: physical integration; spontaneous interoperation and application programming abstractions. The contributions of this paper are 2-fold: a characterization of the system design space according to the requirements raised by context-driven interaction and the identification of new alternative paths for the integration of context-driven interaction into smart environments.