Recently, we have been witnessing how various social applications and networking services are being integrated more deeply into our daily lives. Until now, social interaction has been attributed exclusively to humans, while resources and the smart space have supported interaction as passive mediators only. However, the involvement of smart spaces as an active actor in the interaction process facilitates more flexible and user-centered applications for users. This article explores how knowledge-based technologies enable smart spaces to actively take part in the interaction. We argue that smart spaces should be able not only to adapt their behaviour according to the actions of humans and other participants, but also initiate interaction when it is necessary. In order to support this statement, we categorise the types of interaction from the participants' perspective, and review and evaluate the technologies enabling interaction in smart spaces. Furthermore, we present our constructive research on interaction in smart spaces: proof-of-concept prototype applications realizing different architectures and supporting various types of interaction in smart spaces.