Through a set of lively anecdotes and essays, Nathaniel Borenstein traces the divergence between the fields of software engineering and user-centered software design, and attempts to reconcile the needs of people in both...