I am interested in techniques to improve the design of computer systems with respect to their usefulness and usability. To that end, I have investigated the effectiveness and usability of several HCI techniques (e.g., think-aloud usability studies, Cognitive Walkthrough, GOMS) and produced new techniques for bringing usability concerns to the design process (e.g., CPM-GOMS and software architecture evaluation for usability). Much of my work focuses on cognitive modeling, where I work within a unified theory of cognition to develop models of human performance that produce quantitative predictions of performance with less effort than prototyping and user testing. I also work on bridging the gap between HCI and software engineering, specifically including usability concerns in software architecture design.