Supporting awareness of others is an idea that holds promise for improving the usability of real-time distributed groupware. However, there is little principled information available about awareness that can be used by groupware designers. In this article, we develop a descriptive theory of awareness for the purpose of aiding groupware design, focusing on one kind of group awareness called workspace awareness. We focus on how small groups perform generation and execution tasks in medium-sized shared workspaces--tasks where group members frequently shift between individual and shared activities during the work session. We have built a three-part framework that examines the concept of workspace awareness and that helps designers understand the concept for purposes of designing awareness support in groupware. The framework sets out elements of knowledge that make up workspace awareness, perceptual mechanisms used to maintain awareness, and the ways that people use workspace awareness in ...