First Principles of Interaction Design (Revised & Expanded)