An interface is presented that is designed to help users switch among tasks on which they are concurrently working. Nine desirable properties for such an interface are derived It is argued that a key constraint to building interfaces that support task switching is that low user-overhead switching among tasks requires a large amount of display space, whereas actual display space is limited A virtual workspace design is presented that greatly speeds the inevitable task-switching induced window faulting The resulting interface is presented as a study in theory-based human-interface design. It is shown how in this case theory is important in inspiring a design, but design entailments outside the theory raise new issues that must be faced to make the design viable. These design experiences, in turn, help inspire new theory.