MARY BETH KERY
/* Designing & teaching for futures of programming */
github
google scholar
cv
pronouns: she/her
mkery [at] apple.com
UX for code. I research programming practices, with a general goal to improve developer experience for all. I use HCI methods to study and design/create new tools to support individuals who do data or ML coding such as developing machine learning models or exploratory data analysis. Also passionate about teaching HCI, programming, and human-centered ML/AI/data practice topics to give students a balance between technical rigor, and ethical design sensitivity.

Currently: Research Scientist at Apple AI/ML

Previously: PhD Student at Human-Computer Interaction Institute in the School of Computer Science at at Carnegie Mellon University in the the Natural Programming (BAM) Group; Researcher at Apple Inc. (contractor); Research Intern at Apple Inc.; UX Intern Bloomberg L.P.; BA in Computer Science at Wellesley College; brief stint at Slade School of Fine Art

Also: Software engineer; designer; artist; parent

background-image: a programmer for the 1940 US census. Just a reminder that the nature of what programming is and who does programming is always changing.
Notebook Computing for Exploratory Data Work
My PhD dissertation topic is πŸ““πŸ““ notebook programming πŸ““πŸ““ (e.g. Jupyter Notebooks) and how ML/data practitioners use notebooks to experiment. I am using interview, survey, and contextual inquiry studies to understand how data scientists code, then designing and prototyping new forms of editor and version control support.

Kery, M. B., Horvath, A., & Myers, B. A. (2017). Variolite: Supporting Exploratory Programming by Data Scientists. In CHI’17 Preprint. Retrieved from variolite-supporting-exploratory-programming.pdf
Kery, M. B., & Myers, B. A. (2017). Exploring exploratory programming. In Visual Languages and Human-Centric Computing (VL/HCC), 2017 IEEE Symposium on (pp. 25–29). Retrieved from ExploringExploratoryProgramming.pdf
Rojas, J. A. R., Kery, M. B., Rosenthal, S., & Dey, A. (2017). Sampling techniques to improve big data exploration. In Large Data Analysis and Visualization (LDAV), 2017 IEEE 7th Symposium on (pp. 26–35). Retrieved from RosenthalRojas_LDAV17.pdf
Kery, M. B., Radensky, M., Arya, M., John, B. E., & Myers, B. A. (2018). The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (p. 174). Retrieved from Kery-The-Story-in-the-Notebook-Exploratory-Data-Science-using-a-Literate-Programming-Tool.pdf
Kery, M. B., & Myers, B. A. (2018). Interactions for Untangling Messy History in a Computational Notebook. In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Retrieved from Kery-InteractionsForMessyHistory.pdf
Kery, M. B., Ren, D., Hohman, F., Moritz, D., Wongsuphasawat, K., & Patel, K. (2020). mage: Fluid Moves Between Code and Graphical Work in Computational Notebooks. In Proceedings of the 2020 UIST 33rd ACM User Interface Software and Technology Symposium. Retrieved from mage.pdf
Kery, M. B., Ren, D., Wongsuphasawat, K., Hohman, F., & Patel, K. (2020). The Future of Notebook Programming Is Fluid. In Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems (pp. 1–8). Retrieved from lbw.pdf
Kery, M. B., John, B. E., O’Flaherty, P., Horvath, A., & Myers, B. A. (2019). Towards effective foraging by data scientists to find past analysis choices. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (pp. 1–13). Retrieved from paper092-Kery-CHI2019.pdf
API Usability
API Usability is one research focus of Prof. Brad Myers' lab. I have been collaborated on a few of these studies, where we are investigating how APIs are designed and how to improve the workflow for designers to create APIs that are simple and joyful to use.

Murphy, L., Kery, M. B., Alliyu, O., Macvean, A., & Myers, B. A. (2018). API Designers in the Field: Design Practices and Challenges for Creating Usable APIs. In 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 249–258). Retrieved from p249-murphy
Murphy, L., Alliyu, T., Macvean, A., Kery, M. B., & Myers, B. A. (2017). Preliminary Analysis of REST API Style Guidelines. Ann Arbor, 1001, 48109. Retrieved from API-Usability-Styleguides-PLATEAU2017
Error-prone Error Handling in Java
In this collaborative project we mined Github to investage how Java error handing constructs are used in practice (poorly), and developed new kinds of interactions for the Eclipse IDE to help developers find and fix common error handing Java anti-patterns.

Kistner, F., Kery, M. B., Puskas, M., Moore, S., & Myers, B. A. (2017). Moonstone: Support for understanding and writing exception handling code. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 63–71). Retrieved from kistner_vlhcc17.pdf
Kery, M. B., Le Goues, C., & Myers, B. A. (2016). Examining programmer practices for locally handling exceptions. In Mining Software Repositories (MSR), 2016 IEEE/ACM 13th Working Conference on (pp. 484–487). Retrieved from kery-msr16