How to understand and program interactive devices so that they are reliable and easy to use; includes wide-ranging programming insights, tools, and code. Interactive systems and devices, from mobile phones to office copiers, do not fulfill their potential for a wide variety of reasons--not all of them technical. Press On shows that we can design better interactive systems and devices if we draw on sound computer science principles. It uses state machines and graph theory as a powerful and insigh...