72 citations · 252 across the 15 of their papers we have counts for
16 papers
Intelligent Interaction Techniques (IIxT) - Proposal
Brad A. Myers
Interaction techniques (IxTs) are the low-level, reusable components out of which user interfaces are designed, including menus, scroll bars, text input fields, and also copy-paste…
Using an LLM to Help With Code Understanding
Daye Nam, Andrew Macvean, Vincent Hellendoorn +2
Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard t…
A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges
Jenny T. Liang, Chenyang Yang, Brad A. Myers
The software engineering community recently has witnessed widespread deployment of AI programming assistants, such as GitHub Copilot. However, in practice, developers do not accept…
ScrollTest: Evaluating Scrolling Speed and Accuracy
Chaoran Chen, Brad A. Myers, Cem Ergin +3
Scrolling is an essential interaction technique enabling users to display previously off-screen content. Existing evaluation models for scrolling are often entangled with the selec…
Wigglite: Low-cost Information Collection and Triage
Michael Xieyang Liu, Andrew Kuznetsov, Yongsung Kim +3
Consumers conducting comparison shopping, researchers making sense of competitive space, and developers looking for code snippets online all face the challenge of capturing the inf…
Crystalline: Lowering the Cost for Developers to Collect and Organize Information for Decision Making
Michael Xieyang Liu, Aniket Kittur, Brad A. Myers
Developers perform online sensemaking on a daily basis, such as researching and choosing libraries and APIs. Prior research has introduced tools that help developers capture inform…
Understanding How Programmers Can Use Annotations on Documentation
Amber Horvath, Michael Xieyang Liu, River Hendriksen +5
Modern software development requires developers to find and effectively utilize new APIs and their documentation, but documentation has many well-known issues. Despite this, develo…
A Need-finding Study for Understanding Text Entry in Smartphone App Usage
Toby Jia-Jun Li, Brad A. Myers
Text entry makes up about one-fourth of the smartphone interaction events, and is known to be challenging and difficult. However, there has been little study about the characterist…
To Reuse or Not To Reuse? A Framework and System for Evaluating Summarized Knowledge
Michael Xieyang Liu, Aniket Kittur, Brad A. Myers
As the amount of information online continues to grow, a correspondingly important opportunity is for individuals to reuse knowledge which has been summarized by others rather than…
Screen2Vec: Semantic Embedding of GUI Screens and GUI Components
Toby Jia-Jun Li, Lindsay Popowski, Tom M. Mitchell +1
Representing the semantics of GUI screens and components is crucial to data-driven computational methods for modeling user-GUI interactions and mining GUI designs. Existing GUI sem…
Privacy-Preserving Script Sharing in GUI-based Programming-by-Demonstration Systems
Toby Jia-Jun Li, Jingya Chen, Brandon Canfield +1
An important concern in end user development (EUD) is accidentally embedding personal information in program artifacts when sharing them. This issue is particularly important in GU…
Towards Effective Human-AI Collaboration in GUI-Based Interactive Task Learning Agents
Toby Jia-Jun Li, Jingya Chen, Tom M. Mitchell +1
We argue that a key challenge in enabling usable and useful interactive task learning for intelligent agents is to facilitate effective Human-AI collaboration. We reflect on our pa…
Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
Michael Coblenz, Jonathan Aldrich, Joshua Sunshine +1
Some blockchain programs (smart contracts) have included serious security vulnerabilities. Obsidian is a new typestate-oriented programming language that uses a strong type system…
PLIERS: A Process that Integrates User-Centered Methods into Programming Language Design
Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich +5
Programming language design requires making many usability-related design decisions. However, existing HCI methods can be impractical to apply to programming languages: they have h…
Obsidian: Typestate and Assets for Safer Blockchain Programming
Michael Coblenz, Reed Oei, Tyler Etzel +6
Blockchain platforms are coming into broad use for processing critical transactions among participants who have not established mutual trust. Many blockchains are programmable, sup…
Interactive Task and Concept Learning from Natural Language Instructions and GUI Demonstrations
Toby Jia-Jun Li, Marissa Radensky, Justin Jia +3
Natural language programming is a promising approach to enable end users to instruct new tasks for intelligent agents. However, our formative study found that end users would often…