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...