This document discusses paradigms in the history of human-computer interaction (HCI). It describes several paradigm shifts in interactive system design including: from batch processing to time-sharing; from time-sharing to graphical displays and direct manipulation; and from personal computing to ubiquitous computing using sensors and awareness of context. Understanding these paradigm shifts provides frameworks for developing usable interactive systems and measuring their usability.