I’m a Human-Computer Interaction researcher, User Experience Lead, and keynote speaker. Currently employed as a Staff UX Researcher at Google, my work is focused on developer experience, specifically for Flutter, a multi-platform UI toolkit.
I received my PhD from the School of Information at the University of Michigan. My PhD thesis is entitled Designing Reflective User Experience with Social and Ubiquitous Computing Technologies. I was co-advised by Prof. Mark Ackerman and Prof. Mark W. Newman.
Presentation of Error Messages
Programmatic errors are often difficult to resolve due to poor usability of error messages. Applying theories of visual perception and techniques in visual design, we were able to substantially improve both error comprehension and resolution in an experiment. Learn more: Paper (CHI ’19), Blog Post.
Interactive Coding Tutorials
We set out to develop a pattern language for designing interactive coding tutorials through a user-centered design process. We created and evolved three instructional patterns and their supporting interaction components and launched an interactive tutorial about Dart asynchronous programming. Learn more: Best Practices Guide, Paper @ <Programming> ’20.
Programming Education via Live Streaming
Live streaming is an emerging practice for teaching and learning computer programming. What's unique about this medium, compared with pre-recorded videos? Read our paper to find out. Learn more: Paper @ CSCW ’20.
Evaluating a Design System at Scale
Material Design is a Design System introduced by Google in 2014, but did it help elevating the UX of apps in the Android ecosystem? We analyzed thousands of Android apps using machine learning and computer vision techniques and found that use of Material Design was positively correlated with high app ratings and large numbers of app installs. Learn more: Paper.
Multi-device Experiences – A Design Ideation Toolkit
How do devices take on different roles in ad-hoc multi-device configurations, and how do changes in the user's context influence device roles and privacy considerations? This kit helps designers incorporate these considerations into product design. Learn more: Microsite, Paper @ DIS ’17.
Multi-device Experiences – Developer Challenges
Why is building multi-device experiences so hard? Learn what I found from interviewing designers and developers. Learn more: Paper @ DIS ’16.
Projects below are from my pre-Google days.
Activity Traces in the Home
Home Trivia is an experimental system which uses activity traces, games, and sensors to help families better understand how they spend time at home. Learn more: Paper @ UbiComp ’15.
House Memory: "If these walls could talk..."
Through a field study and a design exercise, I explored the potential value of activity traces captured by sensors in domestic environments. Learn more: Article @ ACM Interactions, Paper @ DIS ’14 (Best Paper Nominee).
Social Web Annotations and Modifications
Social Overlays is an experimental system to enable users to fix usability problems on live websites and share their modifications with other site visitors. Learn more: Paper @ Interact ’13.
Learning Complex Software via Gaming
Jigsaw is a discovery-based learning game for Photoshop based on the jigsaw puzzle metaphor. Learn more: Paper @ CHI ’12.
If you don't have access to the ACM Digital Library, you can download the preprint versions of my papers on Google Drive.