History tools play an important part in supporting human computer interaction. Most research in history tools has focussed on user interaction histories. In contrast, this paper presents a theoretical framework for artifact history and describes a computer based design environment which implements embedded artifact history. The most promising area for history tools is in collaborative design, helping users to understand others' as well as one's own previous work.