Supporting Activity in Desktop and Ubiquitous Computing