Steve Oney is an Assistant Professor at the University of Michigan School of Information. His research focuses on enabling and encouraging more people to write and customize computer programs by creating new programming tools and exploring usability issues in programming environments. Steve completed his Ph.D in Carnegie Mellon's Human-Computer Interaction Institute where he was advised by Professor Brad Myers and Dr. Joel Brandt. He also attended MIT (CS & math S.B. in 2007, CS M.Eng in 2008).
- Sifter: A Hybrid Workflow for Theme-based Video Curation at Scale
Sifter improves the video curation process by combining automated techniques with a human-powered two-stage pipeline that browses, selects, and reaches an agreement.
- Callisto: Capturing the "Why" by Connecting Conversations with Computational Narratives
We designed Callisto, a Jupyter Notebook extension for better explaining messy notebooks. Callisto captures and stores contextual links between discussion messages and notebook elements with minimal effort from users. Callisto allows notebook readers to better understand the current notebook content and the overall problem-solving process that led to it, by making it possible to browse the discussions and code history relevant to any part of the notebook.Honorable Mention
- Improving Crowd-Supported GUI Testing with Structural Guidance
Two techniques, interactive event-flow graphs and GUI-level guidance, that guide GUI testers to discover more test cases and avoid duplicate test cases.
- Explore, Create, Annotate: Designing Digital Drawing Tools with Visually Impaired People
A study to better understand how visually impaired people explore and create labeled tactile graphics.
- How Data Scientists Use Computational Notebooks for Real-Time Collaboration
We reported how synchronous editing in computational notebooks changes the way data scientists work together compared to working on individual notebooks through a formative survey and an observational study. Working on the synchronous notebooks improves collaboration by creating a shared context, encouraging more exploration, and reducing communication costs. However, the current synchronous editing features may lead to unbalanced participation and activity interference without strategic coordination.Best Paper
- Studying the Benefits and Challenges of Immersive Dataflow Programming
In this paper, we study the benefits and challenges of immersive dataflow authoring, a paradigm that allows users to build VR applications using dataflow notation while immersed in the VR world.Best Short Paper
- Implementing Multi-Touch Gestures with Touch Groups and Cross Events
Proposes two primitives to improve multi-touch programming: touch groups (which summarize multiple fingers rather than tracking them manually) and cross events (which summarize the movement of touch groups)Honorable Mention
- Creating Guided Code Explanations with chat.codes
Introduces three features to improve textual-based conversations about code: deictic code references (where a message points to a specific region of code), in-line code diffs (to show how code changed throughout a conversation), and conversation version tracking (which allows viewers to view the state of code as it evolves through out the conversation).
- Adasa: A Conversational In-Vehicle Digital Assistant for Advanced Driver Assistance Features
A conversational digital assistant to help drivers use and understand Advanced Driver Assistance Systems (ADAS).Honorable Mention
- Arboretum and Arbility: Improving Web Accessibility Through a Shared Browsing Architecture
A system that helps visually impaired web users overcome accessibility barriers through targeted handoffs of tasks that require visual-spatial interaction.
- Expresso: Building Responsive Interfaces with Keyframes
A programming-by-demonstration approach for creating responsive UIs, where users create keyframes at a few representative viewport sizes and specify smooth or jump (i.e., linear interpolation) transitions between them.
- CodeMend: Assisting Interactive Programming with Bimodal Embedding
A system that helps programmers find appropriate API functions and parameter values from natural language.
- Towards Providing On-Demand Expert Support for Software Developers
Two studies that present the opportunities and the design recommendations of on-demand remote support systems for developers.
- Codelets: Linking Interactive Documentation and Example Code in the Editor
A system that helps programmers use examples from the web better by embedding interactive explanations and cutomizers in the programmer's code editor.