Brad A. MyersProfessor
Has also published under the name of:
"Brad Myers"
Personal Homepage:
http://www.cs.cmu.edu/~bamCurrent place of employment:
Carnegie Mellon UniversityBrad A. Myers is a Professor in the Human-Computer Interaction Institute in the School of Computer Science at Carnegie Mellon University. He is an ACM Fellow, winner of six best paper awards, and a member of the CHI Academy, an honor bestowed on the principal leaders of the field. He is the principal investigator for the Natural Programming Project and the Pebbles Handheld Computer Project, and previously led the Amulet and Garnet projects. He is the author or editor of over 350 publications, including the books "Creating User Interfaces by Demonstration" and "Languages for Developing User Interfaces," and he has been on the editorial board of five journals. He has been a consultant on user interface design and implementation to over 60 companies, and regularly teaches courses on user interface design and software. Myers received a PhD in computer science at the University of Toronto where he developed the Peridot user interface tool. He received the MS and BSc degrees from the Massachusetts Institute of Technology during which time he was a research intern at Xerox PARC. From 1980 until 1983, he worked at PERQ Systems Corporation. His research interests include user interface development systems, user interfaces, handheld computers, programming environments, programming language design, programming by example, visual programming, interaction techniques, and window management. He is a Senior Member of the IEEE, and also belongs to SIGCHI, ACM, the IEEE Computer Society, and Computer Professionals for Social Responsibility.
Publications by Brad A. Myers (bibliography)
Ko, Andrew J., Abraham, Robin, Beckwith, Laura, Blackwell, Alan, Burnett, Margaret M., Erwig, Martin, Scaffidi, Christopher, Lawrance, Joseph, Lieberman, Henry, Myers, Brad A., Rosson, Mary Beth, Rothermel, Gregg, Shaw, Mary and Wiedenbeck, Susan (2011): The State of the Art in End-User Software Engineering. In ACM Computing Surveys, 43 (3) pp. 1-44.
Most programs today are written not by professional software developers, but by people with expertise in other
domains working towards goals for which they need computational support. For example, a teacher might write
a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some
user interface design ideas. Although these end-user programmers may not have the same goals as professional
developers, they do face many of the same software engineering challenges, including understanding their requirements,
as well as making decisions about design, reuse, integration, testing, and debugging. This article
summarizes and classifies research on these activities, defining the area of End-User Software Engineering
(EUSE) and related terminology. The article then discusses empirical research about end-user software engineering
activities and the technologies designed to support them. The article also addresses several crosscutting
issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy
in the design of EUSE tools and the potential of educating users about software engineering principles.
© All rights reserved Ko et al. and/or ACM Press
Eisenberg, Daniel S., Stylos, Jeffrey and Myers, Brad A. (2010): Apatite: a new interface for exploring APIs. In: Proceedings of ACM CHI 2010 Conference on Human Factors in Computing Systems 2010. pp. 1331-1334.
We present Apatite, a new tool that aids users in learning and understanding a complex API by visualizing the common associations between its various components. Current object-oriented API documentation is usually navigated in a fixed tree structure, starting with a package and then filtering by a specific class. For large APIs, this scheme is overly restrictive, because it prevents users from locating a particular action without first knowing which class it belongs to. Apatite's design instead enables users to search across any level of an API's hierarchy. This is made possible by the introduction of a novel interaction technique that presents popular items from multiple categories simultaneously, determining their relevance by approximating the strength of their association using search engine data. The design of Apatite was refined through iterative usability testing, and it has been released publicly as a web application.
© All rights reserved Eisenberg et al. and/or their publisher
Ozenc, Fatih Kursat, Kim, Miso, Zimmerman, John, Oney, Stephen and Myers, Brad A. (2010): How to support designers in getting hold of the immaterial material of software. In: Proceedings of ACM CHI 2010 Conference on Human Factors in Computing Systems 2010. pp. 2513-2522.
When designing novel GUI controls, interaction designers are challenged by the "immaterial" materiality of the digital domain; they lack tools that effectively support a reflecting conversation with the material of software as they attempt to conceive, refine, and communicate their ideas. To investigate this situation, we conducted two participatory design workshops. In the first workshop, focused on conceiving, we observed that designers want to invent controls by exploring gestures, context, and examples. In the second workshop, on refining and communicating, designers proposed tools that could refine movement, document context through usage scenarios, and support the use of examples. In this workshop they struggled to effectively communicate their ideas for developers because their ideas had not been fully explored. In reflecting on this struggle, we began to see an opportunity for the output of a design tool to be a boundary object that would allow for an ongoing conversation between the design and the material of software, in which the developer acts as a mediator for software.
© All rights reserved Ozenc et al. and/or their publisher
Myers, Brad A., Burnett, Margaret M., Ko, Andrew J., Rosson, Mary Beth, Scaffidi, Christopher and Wiedenbeck, Susan (2010): End user software engineering: CHI 2010 special interest group meeting. In: Proceedings of ACM CHI 2010 Conference on Human Factors in Computing Systems 2010. pp. 3189-3192.
End users create software whenever they create, for instance, interactive web pages, games, educational simulations, or spreadsheets. Researchers are working to bring the benefits of rigorous software engineering methodologies to these end users to try to make their software more reliable. Unfortunately, errors are pervasive in end-user software, and the resulting impact is sometimes enormous. This special interest group meeting will bring together the community of researchers who are addressing this topic with the companies that are creating and using end-user programming tools.
© All rights reserved Myers et al. and/or their publisher
Faulring, Andrew, Myers, Brad A., Mohnkern, Ken, Schmerl, Bradley, Steinfeld, Aaron, Zimmerman, John, Smailagic, Asim, Hansen, Jeffery and Siewiorek, Daniel (2010): Agent-assisted task management that reduces email overload. In: Proceedings of the 2010 International Conference on Intelligent User Interfaces 2010. pp. 61-70.
RADAR is a multiagent system with a mixed-initiative user interface designed to help office workers cope with email overload. RADAR agents observe experts to learn models of their strategies and then use the models to assist other people who are working on similar tasks. The agents' assistance helps a person to transition from the normal email-centric workflow to a more efficient task-centric workflow. The Email Classifier learns to identify tasks contained within emails and then inspects new emails for similar tasks. A novel task-management user interface displays the found tasks in a to-do list, which has integrated support for performing the tasks. The Multitask Coordination Assistant learns a model of the order in which experts perform tasks and then suggests a schedule to other people who are working on similar tasks. A novel Progress Bar displays the suggested schedule of incomplete tasks as well as the completed tasks. A large evaluation demonstrated that novice users confronted with an email overload test performed significantly better (a 37% better overall score with a factor of four fewer errors) when assisted by the RADAR agents.
© All rights reserved Faulring et al. and/or their publisher
Myers, Brad A., Jeong, Sae Young, Xie, Yingyu, Beaton, Jack, Stylos, Jeffrey, Ehret, Ralf, Karstens, Jan, Efeoglu, Arkin and Busse, Daniela K. (2010): Studying the Documentation of an API for Enterprise Service-Oriented Architecture. In JOEUC, 22 (1) pp. 23-51.
Scaffidi, Christopher, Bogart, Christopher, Burnett, Margaret M., Cypher, Allen, Myers, Brad A. and Shaw, Mary (2010): Using traits of web macro scripts to predict reuse. In J. Vis. Lang. Comput., 21 (5) pp. 277-291.
Eisenberg, Daniel S., Stylos, Jeffrey, Faulring, Andrew and Myers, Brad A. (2010): Using Association Metrics to Help Users Navigate API Documentation. In: Hundhausen, Christopher D., Pietriga, Emmanuel, Diaz, Paloma and Rosson, Mary Beth (eds.) IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2010 21-25 September 2010, 2010, Leganés-Madrid, Spain. pp. 23-30.
LaToza, Thomas D. and Myers, Brad A. (2010): On the importance of understanding the strategies that developers use. In: Proceedings of the 2010 International Workshop on Cooperative and Human Aspects of Software Engineering 2010. pp. 72-75.
Understanding the strategies that developers use during coding activities is an important way to identify challenges developers face and the corresponding opportunities for tools, languages, or processes to better address the challenges and more effectively support the strategies. After creating a design, evaluation studies often measure task success, time, and bugs to argue that the design improves programmer productivity. Considering the strategies that developers use while conducting these studies increases the likelihood of a successful test and makes the results easier to generalize. Therefore, we believe that identifying strategies developers use is an important goal. Beyond identifying strategies, there are also research opportunities in better understanding how developers choose strategies.
© All rights reserved LaToza and Myers and/or ACM Press
Ko, Andrew J. and Myers, Brad A. (2009): Finding causes of program output with the Java Whyline. In: Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems 2009. pp. 1569-1578.
Debugging and diagnostic tools are some of the most important software development tools, but most expect developers choose the right code to inspect. Unfortunately, this rarely occurs. A new tool called the Whyline is described which avoids such speculation by allowing developers to select questions about a program's output. The tool then helps developers work backwards from output to its causes. The prototype, which supports Java programs, was evaluated in an experiment in which participants investigated two real bug reports from an open source project using either the Whyline or a breakpoint debugger. Whyline users were successful about three times as often and about twice as fast compared to the control group, and were extremely positive about the tool's ability to simplify diagnostic tasks in software development work.
© All rights reserved Ko and Myers and/or ACM Press
Myers, Brad A., Burnett, Margaret M., Wiedenbeck, Susan, Ko, Andrew J. and Rosson, Mary Beth (2009): End user software engineering: CHI: 2009 special interest group meeting. In: Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems 2009. pp. 2731-2734.
End users create software whenever they write, for instance, educational simulations, spreadsheets, or dynamic e-business web applications. Researchers are working to bring the benefits of rigorous software engineering methodologies to these end users to try to make their software more reliable. Unfortunately, errors are pervasive in end-user software, and the resulting impact is sometimes enormous. This special interest group meeting will bring together the community of researchers who are addressing this topic with the companies that are creating and using end-user programming tools.
© All rights reserved Myers et al. and/or ACM Press
Daughtry, John M., Farooq, Umer, Stylos, Jeffrey and Myers, Brad A. (2009): API usability: CHI'2009 special interest group meeting. In: Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems 2009. pp. 2771-2774.
Programmers of all types from novice end-user developers to professional software engineers make use of application programming interfaces (API) within their various designs. And, while the use of these interfaces is ubiquitous, there is little research about their design. Recently, a number of researchers and practitioners have begun to treat API design as a first-order object of study and practice. The purpose of this special interest group meeting is to bring together the community of usability researchers and professionals interested in API usability. The time will be used to discuss attendees' ideas and opinions in order to stimulate this new and exciting emerging field that crosses the boundaries between human-computer interaction and software engineering.
© All rights reserved Daughtry et al. and/or ACM Press
Stylos, Jeffrey, Myers, Brad A. and Yang, Zizhuang (2009): Jadeite: improving API documentation using usage information. In: Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems 2009. pp. 4429-4434.
Jadeite is a new Javadoc-like API documentation system that takes advantage of multiple users' aggregate experience to reduce difficulties that programmers have learning new APIs. Previous studies have shown that programmers often guessed that certain classes or methods should exist, and looked for these in the API. Jadeite's "placeholders" let users add new "pretend" classes or methods that are displayed in the actual API documentation, and can be annotated with the appropriate APIs to use instead. Since studies showed that programmers had difficulty finding the right classes from long lists in documentation, Jadeite takes advantage of usage statistics to display commonly used classes more prominently. Programmers had difficulty finding the right helper objects and discovering how to instantiate objects, so Jadeite uses a large corpus of sample code to automatically identify the most common ways to construct an instance of any given class.
© All rights reserved Stylos et al. and/or ACM Press
Scaffidi, Christopher, Myers, Brad A. and Shaw, Mary (2009): Intelligently creating and recommending reusable reformatting rules. In: Proceedings of the 2009 International Conference on Intelligent User Interfaces 2009. pp. 297-306.
When users combine data from multiple sources into a spreadsheet or dataset, the result is often a mishmash of different formats, since phone numbers, dates, course numbers and other string-like kinds of data can each be written in many different formats. Although spreadsheets provide features for reformatting numbers and a few specific kinds of string data, they do not provide any support for the wide range of other kinds of string data encountered by users. We describe a user interface where a user can describe the formats of each kind of data. We provide an algorithm that uses these formats to automatically generate reformatting rules that transform strings from one format to another. In effect, our system enables users to create a small expert system called a "tope" that can recognize and reformat instances of one kind of data. Later, as the user is working with a spreadsheet, our system recommends appropriate topes for validating and reformatting the data. With a recall of over 80% for a query time of under 1 second, this algorithm is accurate enough and fast enough to make useful recommendations in an interactive setting. A laboratory experiment shows that compared to manual typing, users can reformat sample spreadsheet data more than twice as fast by creating and using topes.
© All rights reserved Scaffidi et al. and/or their publisher
Nichols, Jeffrey and Myers, Brad A. (2009): Creating a lightweight user interface description language: An overview and analysis of the personal universal controller project. In ACM Transactions on Computer-Human Interaction, 16 (4) p. 17.
Over six years, we iterated on the design of a language for describing the functionality of appliances, such as televisions, telephones, VCRs, and copiers. This language has been used to describe more than thirty diverse appliances, and these descriptions have been used to automatically generate both graphical and speech user interfaces on handheld computers, mobile phones, and desktop computers. In this article, we describe the final design of our language and analyze the key design choices that led to this design. Through this analysis, we hope to provide a useful guide for the designers of future user interface description languages.
© All rights reserved Nichols and Myers and/or ACM Press
Jeong, Sae Young, Xie, Yingyu, Beaton, Jack, Myers, Brad A., Stylos, Jeffrey, Ehret, Ralf, Karstens, Jan, Efeoglu, Arkin and Busse, Daniela K. (2009): Improving Documentation for eSOA APIs through User Studies. In: Pipek, Volkmar, Rosson, Mary Beth, Ruyter, Boris E. R. de and Wulf, Volker (eds.) End-User Development - 2nd International Symposium - IS-EUD 2009 March 2-4, 2009, Siegen, Germany. pp. 86-105.
Scaffidi, Christopher, Myers, Brad A. and Shaw, Mary (2009): Fast, Accurate Creation of Data Validation Formats by End-User Developers. In: Pipek, Volkmar, Rosson, Mary Beth, Ruyter, Boris E. R. de and Wulf, Volker (eds.) End-User Development - 2nd International Symposium - IS-EUD 2009 March 2-4, 2009, Siegen, Germany. pp. 242-261.
Oney, Stephen and Myers, Brad A. (2009): FireCrystal: Understanding interactive behaviors in dynamic web pages. In: IEEE Symposium on Visual Languages and Human-Centric Computing - VL/HCC 2009 20-24 September, 2009, Corvallis, OR, USA. pp. 105-108.
Scaffidi, Christopher, Bogart, Christopher, Burnett, Margaret M., Cypher, Allen, Myers, Brad A. and Shaw, Mary (2009): Predicting reuse of end-user web macro scripts. In: IEEE Symposium on Visual Languages and Human-Centric Computing - VL/HCC 2009 20-24 September, 2009, Corvallis, OR, USA. pp. 93-100.
Chau, Duen Horng, Myers, Brad A. and Faulring, Andrew (2008): What to do when search fails: finding information by association. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 999-1008.
Sometimes people cannot remember the names or locations of things on their computer, but they can remember what other things are associated with them. We created Feldspar, the first system that fully supports this associative retrieval of personal information on the computer. Feldspar's contributions include (1) an intuitive user interface that allows users to find information by interactively and incrementally specifying multiple levels of associations as retrieval queries, such as: "find the file from the person who I met at an event in May"; and (2) algorithms for collecting the association information and for providing answers to associative queries in real-time. A user study showed that Feldspar is easy to use, and suggested that it might be faster than conventional browsing and searching for these kinds of retrieval tasks. Feldspar could be an important addition to search and browsing tools.
© All rights reserved Chau et al. and/or ACM Press
Beringer, Joerg, Fischer, Gerhard, Mussio, P., Myers, Brad A., Paterno, Fabio and Ruyter, Boris de (2008): The next challenge: from easy-to-use to easy-to-develop. are you ready?. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 2257-2260.
The main challenge of next years is to allow users of software systems, who are non-professional software developers, to create, modify or extend software artefacts. In this panel we want to discuss with the CHI community the key aspects in the area of End User Development and an associated research agenda, which should be then proposed to the main research agencies, such as NSF and EU ICT.
© All rights reserved Beringer et al. and/or ACM Press
Myers, Brad A., Burnett, Margaret M., Rosson, Mary Beth, Ko, Andrew J. and Blackwell, Alan (2008): End user software engineering: chi'2008 special interest group meeting. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 2371-2374.
End users create software whenever they write, for instance, educational simulations, spreadsheets, or dynamic e-business web applications. Researchers are working to bring the benefits of rigorous software engineering methodologies to these end users to try to make their software more reliable. Unfortunately, errors are pervasive in end-user software, and the resulting impact is sometimes enormous. This special interest group meeting has two purposes: to incorporate attendees' and feedback into an emerging survey of the state of this interesting new sub-area, and generally to bring together the community of researchers who are addressing this topic, with the companies that are creating end-user programming tools.
© All rights reserved Myers et al. and/or ACM Press
Jørgensen, Anker Helms and Myers, Brad A. (2008): User interface history. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 2415-2418.
User Interfaces have been around as long as computers have existed, even well before the field of Human-Computer Interaction was established. Over the years, some papers on the history of Human-Computer Interaction and User Interfaces have appeared, primarily focusing on the graphical interface era and early visionaries such as Bush, Engelbart and Kay. With the User Interface being a decisive factor in the proliferation of computers in society and since it has become a cultural phenomenon, it is time to paint a more comprehensive picture of its history. This SIG will investigate the possibilities of launching a concerted effort towards creating a History of User Interfaces.
© All rights reserved Jørgensen and Myers and/or ACM Press
Scaffidi, Christopher, Myers, Brad A. and Shaw, Mary (2008): Toped: enabling end-user programmers to validate data. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 3519-3524.
Inputs to spreadsheets and web forms often contain typos or other errors. However, existing tools require end-user programmers (EUPs) to write regular expressions or even scripts to validate data, which is slow and error-prone. We present a new technique enabling EUPs to describe data as a series of constrained parts. We incorporate our technique in a prototype tool called Toped, which generates validation code for Excel and web forms. Our technique enables EUPs to validate data more quickly and accurately than with existing techniques, finding 90% of invalid inputs in a lab study.
© All rights reserved Scaffidi et al. and/or ACM Press
Kelleher, Caitlin, Myers, Brad A., Siewiorek, Daniel P., Cosgrove, Dennis, Pierce, Jeffrey S., Conway, Matthew and Marinelli, Don (2008): Special session in honor of Randy Pausch. In: Proceedings of ACM CHI 2008 Conference on Human Factors in Computing Systems April 5-10, 2008. pp. 3997-4002.
Randy Pausch is an inspiration to all with his research, teaching, the way he has lived his life, and his courage while confronting pancreatic cancer. This session brings together people he has touched through various phases of his career to discuss his research and legacy.
© All rights reserved Kelleher et al. and/or ACM Press
Wobbrock, Jacob O., Myers, Brad A. and Aung, Htet Htet (2008): The performance of hand postures in front- and back-of-device interaction for mobile computing. In International Journal of Human-Computer Studies, 20 (12) pp. 857-875.
Three studies of different mobile-device hand postures are presented. The first study measures the performance of postures in Fitts' law tasks using one and two hands, thumbs and index fingers, horizontal and vertical movements, and front- and back-of-device interaction. Results indicate that the index finger performs well on both the front and the back of the device, and that thumb performance on the front of the device is generally worse. Fitts' law models are created and serve as a basis for comparisons. The second study examines the orientation of shapes on the front and back of a mobile device. It shows that participants' expectations of visual feedback for finger movements on the back of a device reverse the direction of their finger movements to favor a "transparent device" orientation. The third study examines letter-like gestures made on the front and back of a device. It confirms the performance of the index finger on the front of the device, while showing limitations in the ability for the index finger on the back to perform complex gestures. Taken together, these results provide an empirical foundation upon which new mobile interaction designs can be based. A set of design implications and recommendations are given based directly on the findings presented.
© All rights reserved Wobbrock et al. and/or Academic Press
Beaton, Jack, Jeong, Sae Young, Xie, Yingyu, Stylos, Jeffrey and Myers, Brad A. (2008): Usability challenges for enterprise service-oriented architecture APIs. In: VL-HCC 2008 - IEEE Symposium on Visual Languages and Human-Centric Computing 15-19 September, 2008, Herrsching am Ammersee, Germany. pp. 193-196.
Park, Sun Young, Myers, Brad A. and Ko, Andrew J. (2008): Designers' natural descriptions of interactive behaviors. In: VL-HCC 2008 - IEEE Symposium on Visual Languages and Human-Centric Computing 15-19 September, 2008, Herrsching am Ammersee, Germany. pp. 185-188.
Myers, Brad A., Park, Sun Young, Nakano, Yoko, Mueller, Greg and Ko, Andrew Jensen (2008): How designers design and program interactive behaviors. In: VL-HCC 2008 - IEEE Symposium on Visual Languages and Human-Centric Computing 15-19 September, 2008, Herrsching am Ammersee, Germany. pp. 177-184.
Ko, Andrew Jensen and Myers, Brad A. (2008): Debugging reinvented: asking and answering why and why not questions about program behavior. In: Schäfer, Wilhelm, Dwyer, Matthew B. and Gruhn, Volker (eds.) 30th International Conference on Software Engineering ICSE 2008 May 10-18, 2008, Leipzig, Germany. pp. 301-310.
When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. The Whyline is a new kind of debugging tool that avoids such speculation by instead enabling developers to select a question about program output from a set of why did and why didn't questions derived from the program's code and execution. The tool then finds one or more possible explanations for the output in question, using a combination of static and dynamic slicing, precise call graphs, and new algorithms for determining potential sources of values and explanations for why a line of code was not reached. Evaluations of the tool on one task showed that novice programmers with the Whyline were twice as fast as expert programmers without it. The tool has the potential to simplify debugging in many software development contexts.
© All rights reserved Ko and Myers and/or ACM Press
Scaffidi, Christopher, Cypher, Allen, Elbaum, Sebastian G., Koesnandar, Andhy and Myers, Brad A. (2008): Using scenario-based requirements to direct research on web macro tools. In J. Vis. Lang. Comput., 19 (4) pp. 485-498.
Ko, Andrew J. and Myers, Brad A. (2008): Source-level debugging with the Whyline. In: Proceedings of the 2008 International Workshop on Cooperative and Human Aspects of Software Engineering 2008. pp. 69-72.
The visualizations of the Whyline are presented, which focus on supporting the exploration a source code and how it executes. The visualization is concise, simple to navigate, and mimics syntactic features of its target programming language for consistency. Two studies showed that users with the visualization completed a debugging task twice as fast as users without the visualization, partly due to features of the visualization. Applications of the visualizations to tasks other than debugging are discussed.
© All rights reserved Ko and Myers and/or ACM Press
Wobbrock, Jacob O., Chau, Duen Horng and Myers, Brad A. (2007): An alternative to push, press, and tap-tap-tap: gesturing on an isometric joystick for mobile phone text entry. In: Proceedings of ACM CHI 2007 Conference on Human Factors in Computing Systems 2007. pp. 667-676.
A gestural text entry method for mobile is presented. Unlike most mobile phone text entry methods, which rely on repeatedly pressing buttons, our gestural method uses an isometric joystick and the EdgeWrite alphabet to allow users to write by making letter-like "pressure strokes." In a 15-session study comparing character-level EdgeWrite to Multitap, subjects' speeds were statistically indistinguishable, reaching about 10 WPM. In a second 15-session study comparing word-level EdgeWrite to T9, the same subjects were again statistically indistinguishable, reaching about 16 WPM. Uncorrected errors were low, around 1% or less for each method. In addition, subjective results favored EdgeWrite. Overall, results indicate that our isometric joystick-based method is highly competitive with two commercial keypad-based methods, opening the way for keypad-less designs and text entry on tiny devices. Additional results showed that a joystick on the back could be used at about 70% of the speed of the front, and the front joystick could be used eyes-free at about 80% of the speed of normal use.
© All rights reserved Wobbrock et al. and/or ACM Press
Nichols, Jeffrey, Chau, Duen Horng and Myers, Brad A. (2007): Demonstrating the viability of automatically generated user interfaces. In: Proceedings of ACM CHI 2007 Conference on Human Factors in Computing Systems 2007. pp. 1283-1292.
We conducted a user study that demonstrates that automatically generated interfaces can support better usability through increased flexibility in two dimensions. First, we show that automatic generation can improve usability by moving interfaces that are constrained by cost and poor interaction primitives to another device with better interactive capabilities: subjects were twice as fast and four times as successful at completing tasks with automatically generated interfaces on a PocketPC device as with the actual appliance interfaces. Second, we show that an automatic generator can improve usability by automatically ensuring that new interfaces are generated to be consistent with users' previous experience: subjects were also twice as fast using interfaces consistent with their experiences as compared to normally generated interfaces. These two results demonstrate that automatic interface generation is now viable and especially desirable where users will benefit from individualized interfaces or where human designers are constrained by cost and other factors.
© All rights reserved Nichols et al. and/or ACM Press
González, Iván E., Wobbrock, Jacob O., Chau, Duen Horng, Faulring, Andrew and Myers, Brad A. (2007): Eyes on the road, hands on the wheel: thumb-based interaction techniques for input on steering wheels. In: Proceedings of the 2007 Conference on Graphics Interface 2007. pp. 95-102.
The increasing quantity and complexity of in-vehicle systems creates a demand for user interfaces which are suited to driving. The steering wheel is a common location for the placement of buttons to control navigation, entertainment, and environmental systems, but what about a small touchpad? To investigate this question, we embedded a Synaptics StampPad in a computer game steering wheel and evaluated seven methods for selecting from a list of over 3000 street names. Selection speed was measured while stationary and while driving a simulator. Results show that the EdgeWrite gestural text entry method is about 20% to 50% faster than selection-based text entry or direct list-selection methods. They also show that methods with slower selection speeds generally resulted in faster driving speeds. However, with EdgeWrite, participants were able to maintain their speed and avoid incidents while selecting and driving at the same time. Although an obvious choice for constrained input, on-screen keyboards generally performed quite poorly.
© All rights reserved González et al. and/or Canadian Information Processing Society
Sears, Andrew, Hanson, Vicki L. and Myers, Brad A. (2007): Introduction to special issue on computers and accessibility. In ACM Transactions on Computer-Human Interaction, 14 (3) p. 11.
Scaffidi, Christopher, Cypher, Allen, Elbaum, Sebastian G., Koesnandar, Andhy and Myers, Brad A. (2007): Scenario-Based Requirements for Web Macro Tools. In: VL-HCC 2007 - IEEE Symposium on Visual Languages and Human-Centric Computing 23-27 September, 2007, Coeur dAlene, Idaho, USA. pp. 197-204.
Stylos, Jeffrey and Myers, Brad A. (2007): Mapping the Space of API Design Decisions. In: VL-HCC 2007 - IEEE Symposium on Visual Languages and Human-Centric Computing 23-27 September, 2007, Coeur dAlene, Idaho, USA. pp. 50-60.
Ko, Andrew J. and Myers, Brad A. (2006): Barista: An implementation framework for enabling new tools, interaction techniques and views in code editors. In: Proceedings of ACM CHI 2006 Conference on Human Factors in Computing Systems 2006. pp. 387-396.
Recent advances in programming environments have focused on improving programmer productivity by utilizing the inherent structure in computer programs. However, because these environments represent code as plain text, it is difficult and sometimes impossible to embed interactive tools, annotations, and alternative views in the code itself. Barista is an implementation framework that enables the creation of such user interfaces by simplifying the implementation of editors that represent code internally as an abstract syntax tree and maintain a corresponding, fully structured visual representation on-screen. Barista also provides designers of editors with a standard text-editing interaction technique that closely mimics that of conventional text editors, overcoming a central usability issue of previous structured code editors.
© All rights reserved Ko and Myers and/or ACM Press
Myers, Brad A., Weitzman, David A., Ko, Andrew J. and Chau, Duen H. (2006): Answering why and why not questions in user interfaces. In: Proceedings of ACM CHI 2006 Conference on Human Factors in Computing Systems 2006. pp. 397-406.
Modern applications such as Microsoft Word have many automatic features and hidden dependencies that are frequently helpful but can be mysterious to both novice and expert users. The ""Crystal"" application framework provides an architecture and interaction techniques that allow programmers to create applications that let the user ask a wide variety of questions about why things did and did not happen, and how to use the related features of the application without using natural language. A user can point to an object or a blank space and get a popup list of questions about it, or the user can ask about recent actions from a temporal list. Parts of a text editor were implemented to show that these techniques are feasible, and a user test suggests that they are helpful and well-liked.
© All rights reserved Myers et al. and/or ACM Press
Wobbrock, Jacob O. and Myers, Brad A. (2006): Trackball text entry for people with motor impairments. In: Proceedings of ACM CHI 2006 Conference on Human Factors in Computing Systems 2006. pp. 479-488.
We present a new gestural text entry method for trackballs. The method uses the mouse cursor and relies on crossing instead of pointing. A user writes in fluid Roman-like unistrokes by ""pulsing"" the trackball in desired letter patterns. We examine this method both theoretically using the Steering Law and empirically in two studies. Our studies show that able-bodied users who were unfamiliar with trackballs could write at about 10 wpm with <4% total errors after 45 minutes. In eight sessions, a motor-impaired trackball user peaked at 7.11 wpm with 0% uncorrected errors, compared to 5.95 wpm with 0% uncorrected errors with an on-screen keyboard. Over sessions, his speeds were significantly faster with our gestural method than with an on-screen keyboard. A former 15-year veteran of on-screen keyboards, he now uses our gestural method instead.
© All rights reserved Wobbrock and Myers and/or ACM Press
Wobbrock, Jacob O., Myers, Brad A. and Rothrock, Brandon (2006): Few-key text entry revisited: mnemonic gestures on four keys. In: Proceedings of ACM CHI 2006 Conference on Human Factors in Computing Systems 2006. pp. 489-492.
We present a new 4-key text entry method that, unlike most few-key methods, is gestural instead of selection-based. Importantly, its gestures mimic the writing of Roman letters for high learnability. We compare this new 4-key method to predominant 3-key and 5-key methods theoretically using KSPC and empirically using a longitudinal study of 5 subjects over 10 sessions. The study includes an evaluation of the 4-key method without any on-screen visualization-an impossible condition for the selection-based methods. Our results show that the new 4-key method is quickly learned, becoming faster than the 3-key and 5-key methods after just 10 minutes of writing, although it produces more errors. Interestingly, removing a visualization of the gestures being made causes no detriment to the 4-key method, which is an advantage for eyes-free text entry.
© All rights reserved Wobbrock et al. and/or ACM Press
Nichols, Jeffrey, Myers, Brad A. and Rothrock, Brandon (2006): UNIFORM: automatically generating consistent remote control user interfaces. In: Proceedings of ACM CHI 2006 Conference on Human Factors in Computing Systems 2006. pp. 611-620.
A problem with many of today's appliance interfaces is that they are inconsistent. For example, the procedure for setting the time on alarm clocks and VCRs differs, even among different models made by the same manufacturer. Finding particular functions can also be a challenge, because appliances often organize their features differently. This paper presents a system, called Uniform, which approaches this problem by automatically generating remote control interfaces that take into account previous interfaces that the user has seen during the generation process. Uniform is able to automatically identify similarities between different devices and users may specify additional similarities. The similarity information allows the interface generator to use the same type of controls for similar functions, place similar functions so that they can be found with the same navigation steps, and create interfaces that have a similar visual appearance.
© All rights reserved Nichols et al. and/or ACM Press
Wobbrock, Jacob O. and Myers, Brad A. (2006): From letters to words: efficient stroke-based word completion for trackball text entry. In: Eighth Annual ACM Conference on Assistive Technologies 2006. pp. 2-9.
We present a major extension to our previous work on Trackball EdgeWrite -- a unistroke text entry method for trackballs -- by taking it from a character-level technique to a word-level one. Our design is called stroke-based word completion, and it enables efficient word selection as part of the stroke-making process. Unlike most word completion designs, which require users to select words from a list, our technique allows users to select words by performing a fluid crossing gesture. Our theoretical model shows this word-level design to be 45.0% faster than our prior model for character-only strokes. A study with a subject with spinal cord injury comparing Trackball EdgeWrite to the onscreen keyboard WiViK, both using word prediction and completion, shows that Trackball EdgeWrite is competitive with WiViK in speed (12.09 vs. 11.82 WPM) and accuracy (3.95% vs. 2.21% total errors), but less visually tedious and ultimately preferred. The results also show that word-level Trackball EdgeWrite is 46.5% faster and 36.7% more accurate than our subject's prior peak performance with character-level Trackball EdgeWrite, and 75.2% faster and 40.2% more accurate than his prior peak performance with his preferred on-screen keyboard. An additional evaluation of the same subject over a two-month field deployment shows a 43.9% reduction in unistrokes due to strokebased word completion in Trackball EdgeWrite.
© All rights reserved Wobbrock and Myers and/or ACM Press
Wobbrock, Jacob O. and Myers, Brad A. (2006): Analyzing the input stream for character-level errors in unconstrained text entry evaluations. In ACM Transactions on Computer-Human Interaction, 13 (4) pp. 458-489.
Recent improvements in text entry error rate measurement have enabled the running of text entry experiments in which subjects are free to correct errors (or not) as they transcribe a presented string. In these "unconstrained" experiments, it is no longer necessary to force subjects to unnaturally maintain synchronicity with presented text for the sake of performing overall error rate calculations. However, the calculation of character-level error rates, which can be trivial in artificially constrained evaluations, is far more complicated in unconstrained text entry evaluations because it is difficult to infer a subject's intention at every character. For this reason, prior character-level error analyses for unconstrained experiments have only compared presented and transcribed strings, not input streams. But input streams are rich sources of character-level error information, since they contain all of the text entered (and erased) by a subject. The current work presents an algorithm for the automated analysis of character-level errors in input streams for unconstrained text entry evaluations. It also presents new character-level metrics that can aid method designers in refining text entry methods. To exercise these metrics, we perform two analyses on data from an actual text entry experiment. One analysis, available from the prior work, uses only presented and transcribed strings. The other analysis uses input streams, as described in the current work. The results confirm that input stream error analysis yields richer information for the same empirical data. To facilitate the use of these new analyses, we offer pseudocode and downloadable software for performing unconstrained text entry experiments and analyzing data.
© All rights reserved Wobbrock and Myers and/or ACM Press
Nichols, Jeffrey, Rothrock, Brandon, Chau, Duen Horng and Myers, Brad A. (2006): Huddle: automatically generating interfaces for systems of multiple connected appliances. In: Proceedings of the ACM Symposium on User Interface Software and Technology 2006. pp. 279-288.
Systems of connected appliances, such as home theaters and presentation rooms, are becoming commonplace in our homes and workplaces. These systems are often difficult to use, in part because users must determine how to split the tasks they wish to perform into sub-tasks for each appliance and then find the particular functions of each appliance to complete their sub-tasks. This paper describes Huddle, a new system that automatically generates task-based interfaces for a system of multiple appliances based on models of the content flow within the multi-appliance system.
© All rights reserved Nichols et al. and/or ACM Press
Wobbrock, Jacob O., Myers, Brad A. and Chau, Duen Horng (2006): In-stroke word completion. In: Proceedings of the ACM Symposium on User Interface Software and Technology 2006. pp. 333-336.
We present the design and implementation of a word-level stroking system called Fisch, which is intended to improve the speed of character-level unistrokes. Importantly, Fisch does not alter the way in which character-level unistrokes are made, but allows users to gradually ramp up to word-level unistrokes by extending their letters in minimal ways. Fisch relies on in-stroke word completion, a flexible design for fluidly turning unistroke letters into whole words. Fisch can be memorized at the motor level since word completions always appear at the same positions relative to the strokes being made. Our design for Fisch is suitable for use with any unistroke alphabet. We have implemented Fisch for multiple versions of EdgeWrite, and results show that Fisch reduces the number of strokes during entry by 43.9% while increasing the rate of entry. An informal test of "record speed" with the stylus version resulted in 50-60 wpm with no uncorrected errors.
© All rights reserved Wobbrock et al. and/or ACM Press
Shneiderman, Ben, Fischer, Gerhard, Czerwinski, Mary, Resnick, Mitchel, Myers, Brad A., Candy, Linda, Edmonds, Ernest, Eisenberg, Michael, Giaccardi, Elisa, Hewett, Tom, Jennings, Pamela and Kules, Bill (2006): Creativity Support Tools: Report From a U.S. National Science Foundation Sponsored Workshop. In International Journal of Human-Computer Interaction, 20 (2) pp. 61-77.
Creativity support tools is a research topic with high risk but potentially very high payoff. The goal is to develop improved software and user interfaces that empower users to be not only more productive but also more innovative. Potential users include software and other engineers, diverse scientists, product and graphic designers, architects, educators, students, and many others. Enhanced interfaces could enable more effective searching of intellectual resources, improved collaboration among teams, and more rapid discovery processes. These advanced interfaces should also provide potent support in hypothesis formation, speedier evaluation of alternatives, improved understanding through visualization, and better dissemination of results. For creative endeavors that require composition of novel artifacts (e.g., computer programs, scientific papers, engineering diagrams, symphonies, artwork), enhanced interfaces could facilitate exploration of alternatives, prevent unproductive choices, and enable easy backtracking. This U.S. National Science Foundation sponsored workshop brought together 25 research leaders and graduate students to share experiences, identify opportunities, and formulate research challenges. Two key outcomes emerged: (a) encouragement to evaluate creativity support tools through multidimensional in-depth longitudinal case studies and (b) formulation of 12 principles for design of creativity support tools.
© All rights reserved Shneiderman et al. and/or Lawrence Erlbaum Associates
Nichols, Jeffrey and Myers, Brad A. (2006): Controlling Home and Office Appliances with Smart Phones. In IEEE Pervasive Computing, 5 (3) pp. 60-67.
Stylos, Jeffrey and Myers, Brad A. (2006): Mica: A Web-Search Tool for Finding API Components and Examples. In: VL-HCC 2006 - IEEE Symposium on Visual Languages and Human-Centric Computing 4-8 September, 2006, Brighton, UK. pp. 195-202.
Ko, Andrew J., Myers, Brad A. and Chau, Duen Horng (2006): A Linguistic Analysis of How People Describe Software Problems. In: VL-HCC 2006 - IEEE Symposium on Visual Languages and Human-Centric Computing 4-8 September, 2006, Brighton, UK. pp. 127-134.
Scaffidi, Christopher, Ko, Andrew Jensen, Myers, Brad A. and Shaw, Mary (2006): Dimensions Characterizing Programming Feature Usage by Information Workers. In: VL-HCC 2006 - IEEE Symposium on Visual Languages and Human-Centric Computing 4-8 September, 2006, Brighton, UK. pp. 59-64.
Ko, Andrew J. and Myers, Brad A. (2005): Citrus: a language and toolkit for simplifying the creation of structured editors for code and data. In: Proceedings of the 2005 ACM Symposium on User Interface Software and Technology 2005. pp. 3-12.
Direct-manipulation editors for structured data are increasingly common. While such editors can greatly simplify the creation of structured data, there are few tools to simplify the creation of the editors themselves. This paper presents Citrus, a new programming language and user interface toolkit designed for this purpose. Citrus offers language-level support for constraints, restrictions and change notifications on primitive and aggregate data, mechanisms for automatically creating, removing, and reusing views as data changes, a library of widgets, layouts and behaviors for defining interactive views, and two comprehensive interactive editors as an interface to the language and toolkit itself. Together, these features support the creation of editors for a large class of data and code.
© All rights reserved Ko and Myers and/or ACM Press
Wobbrock, Jacob O. and Myers, Brad A. (2005): Gestural text entry on multiple devices. In: Seventh Annual ACM Conference on Assistive Technologies 2005. pp. 184-185.
We present various adaptations of the EdgeWrite unistroke text entry method that work on multiple computer input devices: styluses, touchpads, displacement and isometric joysticks, four keys or buttons, and trackballs. We argue that consistent, flexible, multi-device input is important to both accessibility and to ubiquitous computing. For accessibility, multi-device input means users can switch among devices, distributing strain and fatigue among different muscle groups. For ubiquity, it means users can "learn once, write anywhere," even as new devices emerge. By considering the accessibility and ubiquity of input techniques, we can design for both motor-impaired users and "situationally impaired" able-bodied users who are on-the-go. We discuss the requirements for such input and the challenges of multi-device text entry, such as solving the segmentation problem. This paper accompanies a demonstration of EdgeWrite on multiple devices.
© All rights reserved Wobbrock and Myers and/or ACM Press
Myers, Brad A. (2005): Using handhelds for wireless remote control of PCs and appliances. In Interacting with Computers, 17 (3) pp. 251-264.
This article provides an overview of the capabilities that we are developing as part of the Pebbles research project for wireless handheld devices such as mobile phones and palm-size computers like Palm Organizers and PocketPCs. Instead of just being used as a phone or organizer, handheld devices can also be used as remote controls for computers and household and office appliances.
© All rights reserved Myers and/or Elsevier Science
Faulring, Andrew and Myers, Brad A. (2005): Enabling rich human-agent interaction for a calendar scheduling agent. In: Proceedings of ACM CHI 2005 Conference on Human Factors in Computing Systems 2005. pp. 1367-1370.
The RhaiCAL system provides novel visualizations and interaction techniques for interacting with an intelligent agent, with an emphasis on calendar scheduling. After an agent interprets natural language containing meeting information, a user can easily correct mistakes using RhaiCAL's clarification dialogs, which provide the agent with feedback to improve its performance. When an agent proposes actions to take on the user's behalf, it can ask the user to confirm them. RhaiCAL uses novel visualizations to present the proposal to the user and allow them to modify the proposal, and informs the agent of the user's actions in a manner that supports long-term learning of the user's preferences. We have designed a high-level XML-based language that allows an agent to express its questions and proposed actions without mentioning user interface details, and that enables RhaiCAL to generate high-quality user interfaces.
© All rights reserved Faulring and Myers and/or ACM Press
Ko, Andrew J., Aung, Htet Htet and Myers, Brad A. (2005): Design requirements for more flexible structured editors from a study of programmers' text editing. In: Proceedings of ACM CHI 2005 Conference on Human Factors in Computing Systems 2005. pp. 1557-1560.
A detailed study of Java programmers' text editing found that the full flexibility of unstructured text was not utilized for the vast majority of programmers' character-level edits. Rather, programmers used a small set of editing patterns to achieve their modifications, which accounted for all of the edits observed in the study. About two-thirds of the edits were of name and list structures and most edits preserved structure except for temporary omissions of delimiters. These findings inform the design of a new class of more flexible structured program editors that may avoid well-known usability problems of traditional structured editors, while providing more sophisticated support such as more universal code completion and smarter copy and paste.
© All rights reserved Ko et al. and/or ACM Press
Wobbrock, Jacob O., Aung, Htet Htet, Rothrock, Brandon and Myers, Brad A. (2005): Maximizing the guessability of symbolic input. In: Proceedings of ACM CHI 2005 Conference on Human Factors in Computing Systems 2005. pp. 1869-1872.
Guessability is essential for symbolic input, in which users enter gestures or keywords to indicate characters or commands, or rely on labels or icons to access features. We present a unified approach to both maximizing and evaluating the guessability of symbolic input. This approach can be used by anyone wishing to design a symbol set with high guessability, or to evaluate the guessability of an existing symbol set. We also present formulae for quantifying guessability and agreement among guesses. An example is offered in which the guessability of the EdgeWrite unistroke alphabet was improved by users from 51.0% to 80.1% without designer intervention. The original and improved alphabets were then tested for their immediate usability with the procedure used by MacKenzie and Zhang (1997). Users entered the original alphabet with 78.8% and 90.2% accuracy after 1 and 5 minutes of learning,
© All rights reserved Wobbrock et al. and/or ACM Press
Myers, Brad A., Burnett, Margaret M. and Rosson, Mary Beth (2005): End users creating effective software. In: Proceedings of ACM CHI 2005 Conference on Human Factors in Computing Systems 2005. pp. 2047-2048.
Is it possible to bring the benefits of rigorous software engineering methodologies to end users? End users create software when they use spreadsheet systems, web authoring tools and graphical languages, when they write educational simulations, spreadsheets, and dynamic e-business web applications. Unfortunately, however, errors are pervasive in end-user software, and the resulting impact is sometimes enormous. A growing number of researchers and developers are working on ways to make the software created by end users more reliable. This special interest group meeting will help support the community of researchers who are addressing this topic.
© All rights reserved Myers et al. and/or ACM Press
Coblenz, Michael J., Ko, Andrew Jensen and Myers, Brad A. (2005): Using Objects of Measurement to Detect Spreadsheet Errors. In: VL-HCC 2005 - IEEE Symposium on Visual Languages and Human-Centric Computing 21-24 September, 2005, Dallas, TX, USA. pp. 314-316.
There are many common errors in spreadsheets that traditional spreadsheet systems do not help users find.
This paper presents a statically-typed spreadsheet language that adds additional information about the
objects that spreadsheet values represent. By annotating values with both units and labels, users denote
both the system of measurement in which the values are expressed as well as the properties of the objects
to which the values refer. This information is used during computation to detect some invalid
computations and allow users to identify properties of resulting values
© All rights reserved Coblenz et al. and/or IEEE Computer Society
Scaffidi, Christopher, Shaw, Mary and Myers, Brad A. (2005): Estimating the Numbers of End Users and End User Programmers. In: VL-HCC 2005 - IEEE Symposium on Visual Languages and Human-Centric Computing 21-24 September, 2005, Dallas, TX, USA. pp. 207-214.
Ko, Andrew Jensen and Myers, Brad A. (2005): A framework and methodology for studying the causes of software errors in programming systems. In J. Vis. Lang. Comput., 16 (1) pp. 41-84.
Ko, Andrew J. and Myers, Brad A. (2004): Designing the whyline: a debugging interface for asking questions about program behavior. In: Dykstra-Erickson, Elizabeth and Tscheligi, Manfred (eds.) Proceedings of ACM CHI 2004 Conference on Human Factors in Computing Systems April 24-29, 2004, Vienna, Austria. pp. 151-158.
Debugging is still among the most common and costly of programming activities. One reason is that current debugging tools do not directly support the inquisitive nature of the activity. Interrogative Debugging is a new debugging paradigm in which programmers can ask why did and even why didn't questions directly about their program's runtime failures. The Whyline is a prototype Interrogative Debugging interface for the Alice programming environment that visualizes answers in terms of runtime events directly relevant to a programmer's question. Comparisons of identical debugging scenarios from user tests with and without the Whyline showed that the Whyline reduced debugging time by nearly a factor of 8, and helped programmers complete 40% more tasks.
© All rights reserved Ko and Myers and/or ACM Press
Nichols, Jeffrey, Myers, Brad A. and Litwack, Kevin (2004): Improving automatic interface generation with smart templates. In: Nunes, Nuno Jardim and Rich, Charles (eds.) International Conference on Intelligent User Interfaces 2004 January 13-16, 2004, Funchal, Madeira, Portugal. pp. 286-288.
One of the challenges of using mobile devices for ubiquitous remote control is the creation of the user interface. If automatically generated designs are used, then they must be close in quality to hand-designed interfaces. Automatically generated interfaces can be dramatically improved if they use standard conventions to which users are accustomed, such as the arrangement of buttons on a telephone dial-pad or the conventional play, stop, and pause icons on a media player. Unfortunately, it can be difficult for a system to determine where to apply design conventions because each appliance may represent its functionality differently. Smart Templates is a technique that uses parameterized templates in the appliance model to specify when such conventions might be automatically applied in the user interface. Our templates easily adapt to existing appliance models, and interface generators on different platforms can apply appropriate design conventions using templates.
© All rights reserved Nichols et al. and/or ACM Press
Stylos, Jeffrey, Myers, Brad A. and Faulring, Andrew (2004): Citrine: providing intelligent copy-and-paste. In: Proceedings of the 2004 ACM Symposium on User Interface Software and Technology 2004. pp. 185-188.
We present Citrine, a system that extends the widespread copy-and-paste interaction technique with intelligent transformations, making it useful in more situations. Citrine uses text parsing to find the structure in copied text and allows users to paste the structured information, which might have many pieces, in a single paste operation. For example, using Citrine, a user can copy the text of a meeting request and add it to the Outlook calendar with a single paste. In applications such as Excel, users can teach Citrine by example how to copy and paste data by showing it which fields go into which columns, and can use this to copy or paste many items at a time in a user-defined manner. Citrine can be used with a wide variety of applications and types of data and can be easily extended to work with more. It currently includes parsers that recognize contact information, calendar appointments and bibliographic citations. It works with Internet Explorer, Outlook, Excel, Palm Desktop, EndNote and other applications. Citrine is available to download on the internet.
© All rights reserved Stylos et al. and/or ACM Press
Wobbrock, Jacob O., Myers, Brad A., Aung, Htet Htet and LoPresti, Edmund F. (2004): Text entry from power wheelchairs: edgewrite for joysticks and touchpads. In: Sixth Annual ACM Conference on Assistive Technologies 2004. pp. 110-117.
Power wheelchair joysticks have been used to control a mouse cursor on desktop computers, but they offer no integrated text entry solution, confining users to point-and-click or point-and-dwell with on-screen keyboards. But on-screen keyboards reduce useful screen real-estate, exacerbate the need for frequent window management, and impose a second focus of attention. By contrast, we present two integrated gestural text entry methods designed for use from power wheelchairs: one for joysticks and the other for touchpads. Both techniques are adaptations of EdgeWrite, originally a stylus-based unistroke method designed for people with tremor. In a preliminary study of 7 power wheelchair users, we found that touchpad EdgeWrite was faster than joystick WiVik, and joystick EdgeWrite was only slightly slower after minimal practice. These findings reflect "walk up and use"-ability and warrant further investigation into extended use.
© All rights reserved Wobbrock et al. and/or ACM Press
Wobbrock, Jacob O., Myers, Brad A. and Aung, Htet Htet (2004): Writing with a joystick: a comparison of date stamp, selection keyboard, and EdgeWrite. In: Graphics Interface 2004 May 17-19, 2004, London, Ontario, Canada. pp. 1-8.
A joystick text entry method for game controllers and mobile phones would be valuable, since these devices often have joysticks but no conventional keyboards. But prevalent joystick text entry methods are slow because they are selection-based. EdgeWrite, a new joystick text entry method, is not based on selection but on gestures from a unistroke alphabet. Our experiment shows that this new method is faster, leaves fewer errors, and is more satisfying than date stamp and selection keyboard (two prevalent selection-based methods) for novices after minimal practice. For more practiced users, our results show that EdgeWrite is at least 1.5 times faster than selection keyboard, and 2.4 times faster than date stamp.
© All rights reserved Wobbrock et al. and/or their publisher
Myers, Brad A., Nichols, Jeffrey, Wobbrock, Jacob O. and Miller, Robert C. (2004): Taking Handheld Devices to the Next Level. In IEEE Computer, 37 (12) pp. 36-43.
Ko, Andrew Jensen, Myers, Brad A. and Aung, Htet Htet (2004): Six Learning Barriers in End-User Programming Systems. In: VL-HCC 2004 - IEEE Symposium on Visual Languages and Human-Centric Computing 26-29 September, 2004, Rome, Italy. pp. 199-206.
Myers, Brad A., Pane, John F. and Ko, Andy (2004): Natural programming languages and environments. In Communications of the ACM, 47 (9) pp. 47-52.
Wobbrock, Jacob O., Myers, Brad A. and Kembel, John A. (2003): EdgeWrite: a stylus-based text entry method designed for high accuracy and stability of motion. In: Proceedings of the 16th annural ACM Symposium on User Interface Software and Technology November, 2-5, 2003, Vancouver, Canada. pp. 61-70.
EdgeWrite is a new unistroke text entry method for handheld devices designed
to provide high accuracy and stability of motion for people with motor
impairments. It is also effective for able-bodied people. An EdgeWrite user
enters text by traversing the edges and diagonals of a square hole imposed over
the usual text input area. Gesture recognition is accomplished not through
pattern recognition but through the sequence of corners that are hit. This
means that the full stroke path is unimportant and recognition is highly
deterministic, enabling better accuracy than other gestural alphabets such as
Graffiti. A study of able-bodied users showed subjects with no prior experience
were 18% more accurate during text entry with Edge Write than with Graffiti
(p>.05), with no significant difference in speed. A study of 4 subjects with
motor impairments revealed that some of them were unable to do Graffiti, but
all of them could do Edge Write. Those who could do both methods had
dramatically better accuracy with Edge Write.
© All rights reserved Wobbrock et al. and/or ACM Press
Myers, Brad A. and Beigl, Michael (2003): Guest Editors' Introduction: Handheld Computing. In IEEE Computer, 36 (9) pp. 27-29.
Ko, Andrew Jensen and Myers, Brad A. (2003): Development and evaluation of a model of programming errors. In: HCC 2003 - IEEE Symposium on Human Centric Computing Languages and Environments 28-31 October, 2003, Auckland, New Zealand. pp. 7-14.
Myers, Brad A., Bhatnagar, Rishi, Nichols, Jeffrey, Peck, Choon Hong, Kong, Dave, Miller, Robert and Long, A. Chris (2002): Interacting at a distance: measuring the performance of laser pointers and other devices. In: Terveen, Loren (ed.) Proceedings of the ACM CHI 2002 Conference on Human Factors in Computing Systems Conference April 20-25, 2002, Minneapolis, Minnesota. pp. 33-40.
Nichols, Jeffrey, Myers, Brad A., Higgins, Michael, Hughes, Joseph, Harris, Thomas K., Rosenfeld, Roni and Pignol, Mathilde (2002): Generating remote control interfaces for complex appliances. In: Beaudouin-Lafon, Michel (ed.) Proceedings of the 15th annual ACM symposium on User interface software and technology October 27-30, 2002, Paris, France. pp. 161-170.
The personal universal controller (PUC) is an approach for improving the
interfaces to complex appliances by introducing an intermediary graphical or
speech interface. A PUC engages in two-way communication with everyday
appliances, first downloading a specification of the appliance's functions, and
then automatically creating an interface for controlling that appliance. The
specification of each appliance includes a high-level description of every
function, a hierarchical grouping of those functions, and dependency
information, which relates the availability of each function to the appliance's
state. Dependency information makes it easier for designers to create
specifications and helps the automatic interface generators produce a higher
quality result. We describe the architecture that supports the PUC, and the
interface generators that use our specification language to build high-quality
graphical and speech interfaces.
© All rights reserved Nichols et al. and/or ACM Press
Wobbrock, Jacob O., Forlizzi, Jodi, Hudson, Scott E. and Myers, Brad A. (2002): WebThumb: interaction techniques for small-screen browsers. In: Beaudouin-Lafon, Michel (ed.) Proceedings of the 15th annual ACM symposium on User interface software and technology October 27-30, 2002, Paris, France. pp. 205-208.
The proliferation of wireless handheld devices is placing the World Wide Web
in the palms of users, but this convenience comes at a high interactive cost.
The Web that came of age on the desktop is ill-suited for use on the small
displays of handhelds. Today, handheld browsing often feels like browsing on a
PC with a shrunken desktop. Overreliance on scrolling is a big problem in
current handheld browsing. Users confined to viewing a small portion of each
page often lack a sense of the overall context -- they may feel lost in a large
page and be forced to remember the locations of items as those items scroll out
of view. In this paper, we present a synthesis of interaction techniques to
address these problems. We implemented these techniques in a prototype,
WebThumb, that can browse the live Web.
© All rights reserved Wobbrock et al. and/or ACM Press
Miller, Robert C. and Myers, Brad A. (2002): Multiple selections in smart text editing. In: Gil, Yolanda and Leake, David (eds.) International Conference on Intelligent User Interfaces 2002 January 13-16, 2002, San Francisco, California, USA. pp. 103-110.
Multiple selections, though heavily used in file managers and drawing editors, are virtually nonexistent in text editing. This paper describes how multiple selections can automate repetitive text editing. Selection guessing infers a multiple selection from positive and negative examples provided by the user. The multiple selection can then be used for inserting, deleting, copying, pasting, or other editing commands. Simultaneous editing uses two levels of inference, first inferring a group of records to be edited, then inferring multiple selections with exactly one selection in each record. Both techniques have been evaluated by user studies and shown to be fast and usable for novices. Simultaneous editing required only 1.26 examples per selection in the user study, approaching the ideal of 1-example PBD. Multiple selections bring many benefits, including better user feedback, fast, accurate inference, novel forms of intelligent assistance, and the ability to override system inferences with manual corrections.
© All rights reserved Miller and Myers and/or ACM Press
Myers, Brad A., Wobbrock, Jacob O., Yang, Sunny, Yeung, Brian, Nichols, Jeffrey and Miller, Robert (2002): Using handhelds to help people with motor impairments. In: Fifth Annual ACM Conference on Assistive Technologies 2002. pp. 89-96.
People with Muscular Dystrophy (MD) and certain other muscular and nervous system disorders lose their gross motor control while retaining fine motor control. The result is that they lose the ability to move their wrists and arms, and therefore their ability to operate a mouse and keyboard. However, they can often still use their fingers to control a pencil or stylus, and thus can use a handheld computer such as a Palm. We have developed software that allows the handheld to substitute for the mouse and keyboard of a PC, and tested it with four people (ages 10, 12, 27 and 53) with MD. The 12-year old had lost the ability to use a mouse and keyboard, but with our software, he was able to use the Palm to access email, the web and computer games. The 27-year-old reported that he found the Palm so much better that he was using it full-time instead of a keyboard and mouse. The other two subjects said that our software was much less tiring than using the conventional input devices, and enabled them to use computers for longer periods. We report the results of these case studies, and the adaptations made to our software for people with disabilities.
© All rights reserved Myers et al. and/or ACM Press
Casares, Juan, Long, A. Chris, Myers, Brad A., Bhatnagar, Rishi, Stevens, Scott M., Dabbish, Laura, Yocum, Dan and Corbett, Albert (2002): Simplifying video editing using metadata. In: Proceedings of DIS02: Designing Interactive Systems: Processes, Practices, Methods, & Techniques 2002. pp. 157-166.
Digital video is becoming increasingly ubiquitous. However, editing video remains difficult for several reasons: it is a time-based medium, it has dual tracks of audio and video, and current tools force users to work at the smallest level of detail. Based on interviews with professional video editors, we developed a video editor, called Silver, that uses metadata to make digital video editing more accessible to novices. To help users visualize video, Silver provides multiple views with different semantic content and at different levels of abstraction, including storyboard, editable transcript, and timeline views. Silver offers smart editing operations that help users resolve the inconsistencies that arise because of the different boundaries in audio and video. We conducted a preliminary user study to investigate the effectiveness of the Silver smart editing. Participants successfully edited video after only a short tutorial, both with and without smart editing assistance. Our research suggests several ways in which video editing tools could use metadata to assist users in the reuse and composition of video.
© All rights reserved Casares et al. and/or ACM Press
Myers, Brad A. (2002): Mobile Devices for Control. In: Paterno, Fabio (ed.) Mobile Human-Computer Interaction - 4th International Symposium - Mobile HCI 2002 September 18-20, 2002, Pisa, Italy. pp. 1-8.
Myers, Brad A., Malkin, Robert, Bett, Michael, Waibel, Alex, Bostwick, Ben, Miller, Robert C., Yang, Jie, Denecke, Matthias, Seemann, Edgar, Zhu, Jie, Peck, Choon Hong, Kong, Dave, Nichols, Jeffrey and Scherlis, William L. (2002): Flexi-Modal and Multi-Machine User Interfaces. In: 4th IEEE International Conference on Multimodal Interfaces - ICMI 2002 14-16 October, 2002, Pittsburgh, PA, USA. pp. 343-348.
Nichols, Jeffrey, Myers, Brad A., Harris, Thomas K., Rosenfeld, Roni, Shriver, Stefanie, Higgins, Michael and Hughes, Joseph (2002): Requirements for Automatically Generating Multi-Modal Interfaces for Complex Appliances. In: 4th IEEE International Conference on Multimodal Interfaces - ICMI 2002 14-16 October, 2002, Pittsburgh, PA, USA. pp. 377-382.
Pane, John F., Myers, Brad A. and Miller, Leah B. (2002): Using HCI Techniques to Design a More Usable Programming System. In: HCC 2002 - IEEE CS International Symposium on Human-Centric Computing Languages and Environments 3-6 September, 2002, Arlington, VA, USA. pp. 198-206.
Nichols, Jeffrey, Myers, Brad A., Harris, Thomas K., Rosenfeld, Roni, Shriver, Stefanie, Higgins, Michael and Hughes, Joseph (2002): Requirements for Automatically Generating Multi-Modal Interfaces for Complex Appliances. In: Proceedings of the 2002 International Conference on Multimodal Interfaces 2002. p. 377.
Several industrial and academic research groups are working to simplify the control of appliances and services by creating a truly universal remote control. Unlike the preprogrammed remote controls available today, these new controllers download a specification from the appliance or service and use it to automatically generate a remote control interface. This promises to be a useful approach because the specification can be made detailed enough to generate both speech and graphical interfaces. Unfortunately, generating good user interfaces can be difficult. Based on user studies and prototype implementations, this paper presents a set of requirements that we have found are needed for automatic interface generation systems to create high-quality user interfaces.
© All rights reserved Nichols et al. and/or their publisher
Pane, John F., Ratanamahatana, Chotirat and Myers, Brad A. (2001): Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems. In International Journal of Human-Computer Studies, 54 (2) pp. 237-264.
Programming may be more difficult than necessary because it requires solutions to be expressed in ways that are not familiar or natural for beginners. To identify what is natural, this article examines the ways that non-programmers express solutions to problems that were chosen to be representative of common programming tasks. The vocabulary and structure in these solutions is compared with the vocabulary and structure in modern programming languages, to identify the features and paradigms that seem to match these natural tendencies as well as those that do not. This information can be used by the designers of future programming languages to guide the selection and generation of language features. This design technique can result in languages that are easier to learn and use, because the languages will better match beginners' existing problem-solving abilities.
© All rights reserved Pane et al. and/or Academic Press
Miller, Robert C. and Myers, Brad A. (2001): Outlier finding: focusing user attention on possible errors. In: Marks, Joe and Mynatt, Elizabeth D. (eds.) Proceedings of the 14th annual ACM symposium on User interface software and technology November 11 - 14, 2001, Orlando, Florida. pp. 81-90.
When users handle large amounts of data, errors are hard to notice. Outlier
finding is a new way to reduce errors by directing the user's attention to
inconsistent data which may indicate errors. We have implemented an outlier
finder for text, which can detect both unusual matches and unusual mismatches
to a text pattern. When integrated into the user interface of a PBD text editor
and tested in a user study, outlier finding substantially reduced errors.
© All rights reserved Miller and Myers and/or ACM Press
Suhm, Bernhard, Myers, Brad A. and Waibel, Alex (2001): Multimodal error correction for speech user interfaces. In ACM Transactions on Computer-Human Interaction, 8 (1) pp. 60-98.
Although commercial dictation systems and speech-enabled telephone voice user interfaces have become readily available, speech recognition errors remain a serious problem in the design and implementation of speech user interfaces. Previous work hypothesized that switching modality could speed up interactive correction of recognition errors. This article presents multimodal error correction methods that allow the user to correct recognition errors efficiently without keyboard input. Correction accuracy is maximized by novel recognition algorithms that use context information for recognizing correction input. Multimodal error correction is evaluated in the context of a prototype multimodal dictation system. The study shows that unimodal repair is less accurate than multimodal error correction. On a dictation task, multimodal correction is faster than unimodal correction by respeaking. The study also provides empirical evidence that system-initiated error correction (based on confidence measures) may not expedite error correction. Furthermore, the study suggests that recognition accuracy determines user choice between modalities: while users initially prefer speech, they learn to avoid ineffective correction modalities with experience. To extrapolate results from this user study, the article introduces a performance model of (recognition-based) multimodal interaction that predicts input speed including time needed for error correction. Applied to interactive error correction, the model predicts the impact of improvements in recognition technology on correction speeds, and the influence of recognition accuracy and correction method on the productivity of dictation systems. This model is a first step toward formalizing multimodal interaction.
© All rights reserved Suhm et al. and/or ACM Press
Myers, Brad A., Casares, Juan P., Stevens, Scott, Dabbish, Laura, Yocum, Dan and Corbett, Albert (2001): A Multi-View Intelligent Editor for Digital Video Libraries. In: JCDL01: Proceedings of the 1st ACM/IEEE-CS Joint Conference on Digital Libraries 2001. pp. 106-115.
Silver is an authoring tool that aims to allow novice users to edit digital video. The goal is to make editing of digital video as easy as text editing. Silver provides multiple coordinated views, including project, source, outline, subject, storyboard, textual transcript and timeline views. Selections and edits in any view are synchronized with all other views. A variety of recognition algorithms are applied to the video and audio content and then are used to aid in the editing tasks. The Informedia Digital Library supplies the recognition algorithms and metadata used to support intelligent editing, and Informedia also provides search and a repository. The metadata includes shot boundaries and a time-synchronized transcript, which are used to support intelligent selection and intelligent cut/copy/paste.
© All rights reserved Myers et al. and/or ACM Press
Myers, Brad A., Peck, Choon Hong, Nichols, Jeffrey, Kong, Dave and Miller, Robert C. (2001): Interacting at a Distance Using Semantic Snarfing. In: Abowd, Gregory D., Brumitt, Barry and Shafer, Steven A. (eds.) Ubicomp 2001 Ubiquitous Computing - Third International Conference September 30 - October 2, 2001, Atlanta, Georgia, USA. pp. 305-314.
Landay, James A. and Myers, Brad A. (2001): Sketching Interfaces: Toward More Human Interface Design. In IEEE Computer, 34 (3) pp. 56-64.
Myers, Brad A. (2001): Using handhelds and PCs together. In Communications of the ACM, 44 (11) pp. 34-41.
Myers, Brad A., Lie, Kin Pou and Yang, Bo-Chieh (2000): Two-Handed Input Using a PDA and a Mouse. In: Turner, Thea, Szwillus, Gerd, Czerwinski, Mary, Peterno, Fabio and Pemberton, Steven (eds.) Proceedings of the ACM CHI 2000 Human Factors in Computing Systems Conference April 1-6, 2000, The Hague, The Netherlands. pp. 41-48.
We performed several experiments using a Personal Digital Assistant (PDA) as an input device in the non-dominant hand along with a mouse in the dominant hand. A PDA is a small hand-held palm-size computer like a 3Com Palm Pilot or a Windows CE device. These are becoming widely available and are easily connected to a PC. Results of our experiments indicate that people can accurately and quickly select among a small numbers of buttons on the PDA using the left hand without looking, and that, as predicted, performance, does decrease as the number of buttons increases. Homing times to move both hands between the keyboard and devices are only about 10% to 15% slower than times to move a single hand to the mouse, suggesting that acquiring two devices does not cause a large penalty. In an application task, we found that scrolling web pages using buttons or a scroller on the PDA matched the speed of using a mouse with a conventional scroll bar, and beat the best two-handed times reported in an earlier experiment. These results will help make two-handed interactions with computers more widely available and more effective.
© All rights reserved Myers et al. and/or ACM Press
Myers, Brad A., Hudson, Scott E. and Pausch, Randy (2000): Past, Present, and Future of User Interface Software Tools. In ACM Transactions on Computer-Human Interaction, 7 (1) pp. 3-28.
A user interface software tool helps developers design and implement the user interface. Research on past tools has had enormous impact on today's developers -- virtually all applications today are built using some form of user interface tool. In this article, we consider cases of both success and failure in past user interface tools. From these cases we extract a set of themes which can serve as lessons for future work. Using these themes, past tools can be characterized by what aspects of the user interface they addressed, their threshold and ceiling, what path of least resistance they offer, how predictable they are to use, and whether they addressed a target that became irrelevant. We believe the lessons of these past themes are particularly important now, because increasingly rapid technological changes are likely to significantly change user interfaces. We are at the dawn of an era where user interfaces are about to break out of the "desktop" box where they have been stuck for the past 15 years. The next millenium will open with an increasing diversity of user interface on an increasing diversity of computerized devices. These devices include hand-held personal digital assistants (PDAs), cell phones, pages, computerized pens, computerized notepads, and various kinds of desk and wall size-computers, as well as devices in everyday objects (such as mounted on refridgerators, or even embedded in truck tires). The increased connectivity of computers, initially evidenced by the World Wide Web, but spreading also with technologies such as personal-area networks, will also have a profound effect on the user interface to computers. Another important force will be recognition-based user interfaces, especially speech, and camera-based vision systems. Other changes we see are an increasing need for 3D and end-user customization, programming, and scripting. All of these changes will require significant support from the underlying user interface software tools.
© All rights reserved Myers et al. and/or ACM Press
Pane, John F. and Myers, Brad A. (2000): Tabular and Textual Methods for Selecting Objects from a Group. In: VL 2000 2000. pp. 157-164.
Myers, Brad A., McDaniel, Richard G. and Wolber, David (2000): Intelligence in Demonstrational Interfaces. In Communications of the ACM, 43 (3) pp. 82-89.
McDaniel, Richard G. and Myers, Brad A. (1999): Getting More Out of Programming-by-Demonstration. In: Altom, Mark W. and Williams, Marian G. (eds.) Proceedings of the ACM CHI 99 Human Factors in Computing Systems Conference May 15-20, 1999, Pittsburgh, Pennsylvania. pp. 442-449.
Programming-by-demonstration (PBD) can be used to create tools and methods that eliminate the need to learn difficult computer languages. Gamut is a PBD tool that nonprogrammers can use to create a broader range of interactive software, including games, simulations, and educational software, than they can with other PBD tools. To do this, Gamut provides advanced interaction techniques that make it easier for a developer to express all aspects of an application. These techniques include a simplified way to demonstrate new examples, called "nudges," and a way to highlight objects to show they are important. Also, Gamut includes new objects and metaphors like the deck-of-cards metaphor for demonstrating collections of objects and randomness, guide objects for demonstrating relationships that the system would find too difficult to guess, and temporal ghosts which simplify showing relationships with the recent past. These techniques were tested in a formal setting with nonprogrammers to evaluate their effectiveness.
© All rights reserved McDaniel and Myers and/or ACM Press
Suhm, Bernhard, Waibel, Alex and Myers, Brad A. (1999): Model-Based and Empirical Evaluation of Multimodal Interactive Error Correction. In: Altom, Mark W. and Williams, Marian G. (eds.) Proceedings of the ACM CHI 99 Human Factors in Computing Systems Conference May 15-20, 1999, Pittsburgh, Pennsylvania. pp. 584-591.
Our research addresses the problem of error correction in speech user interfaces. Previous work hypothesized that switching modality could speed up interactive correction of recognition errors (so-called multimodal error correction). We present a user study that compares, on a dictation task, multimodal error correction with conventional interactive correction, such as speaking again, choosing from a list, and keyboard input. Results show that multimodal correction is faster than conventional correction without keyboard input, but slower than correction by typing for users with good typing skills. Furthermore, while users initially prefer speech, they learn to avoid ineffective correction modalities with experience. To extrapolate results from this user study we developed a performance model of multimodal interaction that predicts input speed including time needed for error correction. We apply the model to estimate the impact of recognition technology improvements on correction speeds and the influence of recognition accuracy and correction method on the productivity of dictation systems. Our model is a first step towards formalizing multimodal (recognition-based) interaction.
© All rights reserved Suhm et al. and/or ACM Press
Miller, Robert C. and Myers, Brad A. (1999): Synchronizing Clipboards of Multiple Computers. In: Zanden, Brad Vander and Marks, Joe (eds.) Proceedings of the 12th annual ACM symposium on User interface software and technology November 07 - 10, 1999, Asheville, North Carolina, United States. pp. 65-66.
This paper describes a new technique for transferring data between computers, the synchronized clipboard. Multiple computers can share a synchronized clipboard for all clipboard operations, so that data copied to the clipboard from one computer, using the standard Copy command, can be pasted directly on another computer using the standard Paste command. Synchronized clipboards are well-suited for a single user moving data among several computers in close proximity. We describe an implementation of synchronized clipboards that works across a wide range of existing systems, including 3Com PalmPilots, Microsoft Windows PCs, Unix workstations, and other Java-capable platforms. Our implementation adds no noticeable overhead to local copy and paste operations.
© All rights reserved Miller and Myers and/or ACM Press
Myers, Brad A. (1998): A Brief History of Human-Computer Interaction Technology. In Interactions, 5 (2) pp. 44-54.
Myers, Brad A. (1998): Scripting Graphical Applications by Demonstration. In: Karat, Clare-Marie, Lund, Arnold, Coutaz, Joëlle and Karat, John (eds.) Proceedings of the ACM CHI 98 Human Factors in Computing Systems Conference April 18-23, 1998, Los Angeles, California. pp. 534-541.
Writing scripts (often called "macros") can be helpful for automating repetitive tasks. Scripting facilities for text editors like Emacs and Microsoft Word have been widely used and available. However, for graphical applications, scripting has been tried many times but has never been successful. This is mainly due to the data description problem of determining how to generalize the particular objects selected at demonstration time. Previous systems have mostly tried to solve this using inferencing, but this has a number of problems, including guessing wrong and providing appropriate feedback and control to users. Therefore, the Topaz framework does not use inferencing and instead allows the user to specify how the appropriate objects should be found. This is achieved by recording changes to which objects are selected and searches for objects, so that scripts can be written with respect to the selected object, in the same way as Emacs keyboard macros. Furthermore, all values can be explicitly generalized in a number of ways, and scripts can be invoked as a result of other commands. By leveraging off of Amulet's command object architecture, programmers get these capabilities for free in their applications. The result is that much more sophisticated scripting capabilities available in applications with no extra work for programmers.
© All rights reserved Myers and/or ACM Press
Myers, Brad A., Stiel, Herb and Gargiulo, Robert (1998): Collaboration Using Multiple PDAs Connected to a PC. In: Poltrock, Steven and Grudin, Jonathan (eds.) Proceedings of the 1998 ACM conference on Computer supported cooperative work November 14 - 18, 1998, Seattle, Washington, United States. pp. 285-294.
The Pebbles project is creating applications to connect multiple Personal Digital Assistants (PDAs) to a main computer such as a PC. We are using 3Com PalmPilots because they are starting to be ubiquitous. We created the "Remote Commander" application to allow users to take turns sending input from their PalmPilots to the PC as if they were using the PC's mouse and keyboard. "PebblesDraw" is a shared whiteboard application we built that allows all of the users to send input simultaneously while sharing the same PC display. We are investigating the use of these applications in various contexts, such as co-located meetings.
© All rights reserved Myers et al. and/or ACM Press
McDaniel, Richard G. and Myers, Brad A. (1998): Building Applications Using Only Demonstration. In: Marks, Joe (ed.) International Conference on Intelligent User Interfaces 1998 January 6-9, 1998, San Francisco, California, USA. pp. 109-116.
By combining the strengths of multiple interaction techniques and inferencing algorithms, Gamut can infer behaviors from examples that previously required a developer to annotate or otherwise modify code by hand. Gamut is a programming-by-demonstration (PBD) tool for building whole applications. It revises code automatically when new examples are demonstrated using a recursive procedure that efficiently scans for the differences between a new example and the original behavior. Differences that cannot be resolved by generating a suitable description are handled by another AI algorithm, decision tree learning, providing a significantly greater ability to infer complex relationships. Gamut's interaction techniques facilitate demonstrating many examples quickly and allow the user to give the system hints that show relationships that would be too time consuming to discover by search alone. Altogether, the concepts combined in Gamut will allow nonprogrammers to build software they never could before.
© All rights reserved McDaniel and Myers and/or ACM Press
McDaniel, Richard G. and Myers, Brad A. (1997): Gamut: Demonstrating Whole Applications. In: Robertson, George G. and Schmandt, Chris (eds.) Proceedings of the 10th annual ACM symposium on User interface software and technology October 14 - 17, 1997, Banff, Alberta, Canada. pp. 81-82.
Gamut is a new tool for building interactive, graphical software like games, simulations, and educational software. A developer can build entire applications in Gamut's domain using only programming-by-demonstration (PBD) and never has to look at or modify code to build any behavior. To accomplish this, we have developed a simple, streamlined interaction for demonstrating so that developers can create new examples quickly and can specify negative examples without confusion. Also, Gamut allows the developer to give hints to point out objects in a relationship that would be too time consuming to find by searching. Gamut automatically revises generated code using an efficient algorithm that recursively scans for the differences between a new example and the previous behavior. To correct the discovered differences, Gamut couples heuristic search with a decision tree learning algorithm allowing it to build more complicated behaviors than it could using heuristic search alone.
© All rights reserved McDaniel and Myers and/or ACM Press
Modugno, Francesmary, Corbett, Albert T. and Myers, Brad A. (1997): Graphical Representation of Programs in a Demonstrational Visual Shell -- An Empirical Evaluation. In ACM Transactions on Computer-Human Interaction, 4 (3) pp. 276-308.
An open question in the area of Programming by Demonstration (PBD) is how to best represent the inferred program. Without a way to view, edit, and share programs, PBD systems will never reach their full potential. We designed and implemented two graphical representation languages for a PBD desktop similar to the Apple Macintosh Finder. Although a user study showed that both languages enabled nonprogrammers to generate and comprehend programs, the study also revealed that the language that more closely reflected the desktop domain doubled users' abilities to accurately generate programs. Trends suggest that the same language was easier for users to comprehend. These findings suggest that it is possible for a PBD system to enable nonprogrammers to construct programs and that the form of the representation can impact the PBD system's effectiveness. A paper-and-pencil evaluation of the two versions of the PBD desktop prior to the study supported these finding and provided interesting feedback on the interaction between usability evaluations and user studies. In particular, the comparison of the paper-and-pencil evaluation with the empirical evaluation suggested that nonempirical evaluation techniques can provide guidance into how to interpret empirical data and, in particular, that PBD systems need to provide support for programming-strategy selection in order to be successful.
© All rights reserved Modugno et al. and/or ACM Press
Modugno, Francesmary and Myers, Brad A. (1997): Visual Programming in a Visual Shell-A Unified Approach. In J. Vis. Lang. Comput., 8 (5) pp. 491-522.
Myers, Brad A. and Kosbie, David S. (1996): Reusable Hierarchical Command Objects. In: Tauber, Michael J., Bellotti, Victoria, Jeffries, Robin, Mackinlay, Jock D. and Nielsen, Jakob (eds.) Proceedings of the ACM CHI 96 Human Factors in Computing Systems Conference April 14-18, 1996, Vancouver, Canada. pp. 260-267.
The Amulet user interface development environment uses hierarchical command objects to support the creation of highly-interactive graphical user interfaces. When input arrives or a widget is operated by the user, instead of invoking a call-back procedure as in most other toolkits, Amulet allocates a command object and calls its DO method. Unlike previous uses of command objects, Amulet organizes the commands into a hierarchy, so that low-level operations like dragging or selection invoke low-level commands, which in turn might invoke widget-level commands, which invoke high-level, application-specific commands, and so on. The top-level commands correspond to semantic actions of the program. The result is better modularization because different levels of the user interface are independent, and better code reuse because the lower-level commands, and even many high-level commands such as cut, copy, paste, text edit, and change-color, can be reused from the library. Furthermore, the commands in Amulet support a new form of Undo, where the user can select any previous operation and selectively undo it, repeat it on the same objects, or repeat it on new objects. In addition, operations like scrolling and selections can be undone or repeated, which can be very useful. Thus, the command objects in Amulet make it easier for developers by providing more reusable components, while at the same time providing new capabilities for users.
© All rights reserved Myers and Kosbie and/or ACM Press
Myers, Brad A., Miller, Robert C., McDaniel, Rich and Ferrency, Alan (1996): Easily Adding Animations to Interfaces Using Constraints. In: Kurlander, David, Brown, Marc and Rao, Ramana (eds.) Proceedings of the 9th annual ACM symposium on User interface software and technology November 06 - 08, 1996, Seattle, Washington, United States. pp. 119-128.
Adding animation to interfaces is a very difficult task with today's toolkits, even though there are many situations in which it would be useful and effective. The Amulet toolkit contains a new form of animation constraint that allows animations to be added to interfaces extremely easily without changing the logic of the application or the graphical objects themselves. An animation constraint detects changes to the value of the slot to which it is attached, and causes the slot to instead take on a series of values interpolated between the original and new values. The advantage over previous approaches is that animation constraints provide significantly better modularity and reuse. The programmer has independent control over the graphics to be animated, the start and end values of the animation, the path through value space, and the timing of the animation. Animations can be attached to any object, even existing widgets from the toolkit, and any type of value can be animated: scalars, coordinates, fonts, colors, line widths, point lists (for polygons), booleans (for visibility), etc. A library of useful animation constraints is provided in the toolkit, including support for exaggerated, cartoon-style effects such as slow-in-slow-out, anticipation, and followthrough. Because animations can be added to an existing application with only a single extra line of code, we expect that this new mechanism will make it easy for researchers and developers to investigate the use of animations in a wide variety of applications.
© All rights reserved Myers et al. and/or ACM Press
Modugno, Francesmary, Corbett, Albert T. and Myers, Brad A. (1996): Evaluating Program Representation in a Demonstrational Visual Shell. In: Gray, Wayne D., Boehm-Davis, Deborah A. and Spohrer, James C. (eds.) Empirical Studies of Programmers - Sixth Workshop January 5-7, 1996, 1996, Alexandria, Virginia. pp. 131-146.
Landay, James A. and Myers, Brad A. (1995): Interactive Sketching for the Early Stages of User Interface Design. In: Katz, Irvin R., Mack, Robert L., Marks, Linn, Rosson, Mary Beth and Nielsen, Jakob (eds.) Proceedings of the ACM CHI 95 Human Factors in Computing Systems Conference May 7-11, 1995, Denver, Colorado. pp. 43-50.
Current interactive user interface construction tools are often more of a hindrance than a benefit during the early stages of user interface design. These tools take too much time to use and force designers to specify more of the design details than they wish at this early stage. Most interface designers, especially those who have a background in graphic design, prefer to sketch early interface ideas on paper or on a whiteboard. We are developing an interactive tool called SILK that allows designers to quickly sketch an interface using an electronic pad and stylus. SILK preserves the important properties of pencil and paper: a rough drawing can be produced very quickly and the medium is very flexible. However, unlike a paper sketch, this electronic sketch is interactive and can easily be modified. In addition, our system allows designers to examine, annotate, and edit a complete history of the design. When the designer is satisfied with this early prototype, SILK can transform the sketch into a complete, operational interface in a specified look-and-feel. This transformation is guided by the designer. By supporting the early phases of the interface design life cycle, our tool should both ease the development of user interface prototypes and reduce the time needed to create a final interface. This paper describes our prototype and provides design ideas for a production-level system.
© All rights reserved Landay and Myers and/or ACM Press
Myers, Brad A. (1995): User Interface Software Tools. In ACM Transactions on Computer-Human Interaction, 2 (1) pp. 64-103.
Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.
© All rights reserved Myers and/or ACM Press
Zanden, Brad Vander and Myers, Brad A. (1995): Demonstrational and Constraint-Based Techniques for Pictorially Specifying Application Objects and Behaviors. In ACM Transactions on Computer-Human Interaction, 2 (4) pp. 308-356.
The Lapidary interface design tool is a demonstrational system that allows the graphics and run-time behaviors that go inside an application window to be specified pictorially. In particular, Lapidary allows the designer to draw example pictures of application-specific graphical objects that the end user will manipulate (such as boxes, arrows, or elements of a list), the feedback that shows which objects are selected (such as small boxes on the sides and corners of an object), and the dynamic feedback objects (such as hairline boxes to show where an object is being dragged). The run-time behavior of all these objects can be specified in a straightforward way using constraints, demonstration, and dialog boxes that allow the designer to provide abstract descriptions of the interactive response to the input devices. Lapidary generalizes from these specific example pictures and behaviors to create prototype objects and behaviors from which instances can be made at run-time. A novel feature of Lapidary's implementation is its use of constraints that have been explicitly specified by the designer to help it generalize example objects and behaviors and to guide it in making inferences.
© All rights reserved Zanden and Myers and/or ACM Press
Sukaviriya, Noi, Kovacevic, Srdjan, Foley, James D., Myers, Brad A., Olsen Jr, Dan R. and Schneider-Hufschmidt, Matthias (1994): Model-Based User Interfaces: What are They and Why Should We Care?. In: Szekely, Pedro (ed.) Proceedings of the 7th annual ACM symposium on User interface software and technology November 02 - 04, 1994, Marina del Rey, California, United States. pp. 133-135.
Myers, Brad A. (1994): Challenges of HCI Design and Implementation. In Interactions, 1 (1) pp. 73-83.
Modugno, Francesmary, Green, T. R. G. and Myers, Brad A. (1994): Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions. In: Cockton, Gilbert, Draper, Steven and Weir, George R. S. (eds.) Proceedings of the Ninth Conference of the British Computer Society Human Computer Interaction Specialist Group - People and Computers IX August 23-26, 1994, Glasgow, Scotland, UK. pp. 91-108.
We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by changes in data objects. The system was designed to provide non-programmers with programming support for common, repetitive tasks and incorporates some principles of cognition to assist these users in learning to use it. With this in mind, we analyzed the language and its editor along cognitive dimensions. The assessment provided insight into both strengths and weaknesses of the system, prompting a number of design changes. This demonstrates how useful such an analysis can be.
© All rights reserved Modugno et al. and/or Cambridge University Press
Zanden, Brad Vander, Myers, Brad A., Giuse, Dario and Szekely, Pedro (1994): Integrating Pointer Variables into One-Way Constraint Models. In ACM Transactions on Computer-Human Interaction, 1 (2) pp. 161-213.
Pointer variables have long been considered useful for constructing and manipulating data structures in traditional programming languages. This article discusses how pointer variables can be integrated into one-way constraint models and indicates how these constraints can be usefully employed in user interfaces. Pointer variables allow constraints to model a wide array of dynamic application behavior, simplify the implementation of structured objects and demonstrational systems, and improve the storage and efficiency of constraint-based applications. This article presents two incremental algorithms -- one lazy and one eager -- for solving constraints with pointer variables. Both algorithms are capable of handling (1) arbitrary systems of one-way constraints, including constraints that involve cycles, and (2) editing models that allow multiple changes between calls to the constraint solver. These algorithms are fault tolerant in that they can handle and recover gracefully from formulas that crash due to programmer error. Constraints that use pointer variables have been implemented in a comprehensive user interface toolkit, Garnet, and our experience with applications written in Garnet have proven the usefulness of pointer variable constraints. Many large-scale applications have been implemented using these constraints.
© All rights reserved Zanden et al. and/or ACM Press
Modugno, Francesmary and Myers, Brad A. (1994): A State-Based Visual Language for a Demonstrational Visual Shell. In: VL 1994 1994. pp. 304-311.
Myers, Brad A., McDaniel, Richard G. and Kosbie, David S. (1993): Marquise: Creating Complete User Interfaces by Demonstration. In: Ashlund, Stacey, Mullet, Kevin, Henderson, Austin, Hollnagel, Erik and White, Ted (eds.) Proceedings of the ACM CHI 93 Human Factors in Computing Systems Conference April 24-29, 1993, Amsterdam, The Netherlands. pp. 293-300.
Marquise is a new interactive tool that allows virtually all of the user interfaces of graphical editors to be created by demonstration without programming. A "graphical editor" allows the user to create and manipulate graphical objects with a mouse. This is a very large class of programs and includes drawing programs like MacDraw, graph layout editors like MacProject, visual language editors, and many CAD/CAM programs. The primary innovation in Marquise is to allow the designer to demonstrate the overall behavior of the interface. To implement this, the Marquise framework contains knowledge about palettes for creating and specifying properties of objects, and about operations such as selecting, moving, and deleting objects. The interactive tool uses the framework to allow the designer to demonstrate most of the end user's actions without programming, which means that Marquise can be used by non-programmers.
© All rights reserved Myers et al. and/or ACM Press
Werth, Andrew J. and Myers, Brad A. (1993): Tourmaline: Macrostyles by Example. In: Ashlund, Stacey, Mullet, Kevin, Henderson, Austin, Hollnagel, Erik and White, Ted (eds.) Proceedings of the ACM CHI 93 Human Factors in Computing Systems Conference April 24-29, 1993, Amsterdam, The Netherlands. p. 532.
Tourmaline is a system that simplifies the formatting of complicated headings and captions in a WYSIWYG word processor. The style systems of typical commercial word processors, although very useful, are too limited when a user needs to format items such as paper headings, which may contain many different styles within a single heading. The style systems of some batch oriented systems give the user more power by providing macro facilities to automatically format text, but these systems are extremely difficult to learn and use. Tourmaline uses demonstrational techniques [2] to combine the ease-of-use of WYSIWYG with the power of batch oriented text formatters. The system allows users to define macrostyles by example. A macrostyle is an abstract representation of a text object that allows different parts of the object to have completely different formatting attributes.
© All rights reserved Werth and Myers and/or ACM Press
Singh, Gurminder, Linton, Mark A., Myers, Brad A. and Szczur, Marti (1993): From Research Prototypes to Usable, Useful Systems: Lessons Learned in the Trenches. In: Hudson, Scott E., Pausch, Randy, Zanden, Brad Vander and Foley, James D. (eds.) Proceedings of the 6th annual ACM symposium on User interface software and technology 1993, Atlanta, Georgia, United States. pp. 139-143.
A significant amount of innovation from research labs and universities is wasted; it is never applied in systems that the actual users can or want to use. The process of going from a novel concept to a usable, useful system is poorly understood by most researchers. The purpose of this panel is to address how research done in research labs and universities can be converted into systems that the end users would use. Each of the panelists has built at least one substantial system which is currently being used by a large community of real users (other than the team that built the system). Based on their experience, they will make recommendations that, if followed early enough in the project, would make the conversion to usable systems faster and easier.
© All rights reserved Singh et al. and/or ACM Press
Jacob, Robert J. K., Leggett, John, Myers, Brad A. and Pausch, Randy (1993): Interaction Styles and Input/Output Devices. In Behaviour and Information Technology, 12 (2) pp. 69-79.
Olsen Jr, Dan R., Foley, James D., Hudson, Scott E., Miller, James R. and Myers, Brad A. (1993): Research Directions for User Interface Software Tools. In Behaviour and Information Technology, 12 (2) pp. 80-97.
Hefley, Bill, Rheinfrank, John and Myers, Brad A. (1993): Interactions: A New ACM User Interface Magazine. In ACM SIGCHI Bulletin, 25 (2) pp. 15-19.
Myers, Brad A. (1993): Report on the CHI'91 Workshop on Languages for Developing User Interfaces. In ACM SIGCHI Bulletin, 25 (2) pp. 20-23.
Myers, Brad A. (1992): Demonstrational interfaces: A step beyond direct manipulation. In IEEE Computer, 25 (8) pp. 61-73.
Myers, Brad A. and Rosson, Mary Beth (1992): Survey on User Interface Programming. In: Bauersfeld, Penny, Bennett, John and Lynch, Gene (eds.) Proceedings of the ACM CHI 92 Human Factors in Computing Systems Conference June 3-7, 1992, Monterey, California. pp. 195-202.
This paper reports on the results of a survey of user interface programming. The survey was widely distributed, and we received 74 responses. The results show that in today's applications, an average of 48% of the code is devoted to the user interface portion. The average time spent on the user interface portion is 45% during the design phase, 50% during the implementation phase, and 37% during the maintenance phase. 34% of the systems were implemented using a toolkit, 27% used a UIMS, 14% used an interface builder, and 26% used no tools. The projects using only toolkits spent the largest percentage of the
© All rights reserved Myers and Rosson and/or ACM Press
Hashimoto, Osamu and Myers, Brad A. (1992): Graphical Styles for Building User Interfaces by Demonstration. In: Mackinlay, Jock D. and Green, Mark (eds.) Proceedings of the 5th annual ACM symposium on User interface software and technology November 15 - 18, 1992, Monteray, California, United States. pp. 117-124.
Conventional interface builders allow the user interface designer to select widgets such as menus, buttons and scroll bars, and lay them out using a mouse. Although these are conceptually simple to use, in practice there are a number of problems. First, a typical widget will have dozens of properties which the designer might change. Insuring that these properties are consistent across multiple widgets in a dialog box and multiple dialog boxes in an application can be very difficult. Second, if the designer wants to change the properties, each widget must be edited individually. Third, getting the widgets laid out appropriately in a dialog box can be tedious. Grids and alignment commands are not sufficient. This paper describes Graphical Tabs and Graphical Styles in the Gilt interface builder which solves all of these problems. A "graphical tab" is an absolute position in a window. A "graphical style" incorporates both property and layout information, and can be defined by example, named, applied to other widgets, edited, saved to a file, and read from a file. If a graphical style is edited, then all widgets defined using that style are modified. In addition, because appropriate styles are inferred, they do not have to be explicitly applied.
© All rights reserved Hashimoto and Myers and/or ACM Press
Myers, Brad A. and Zanden, Brad T. Vander (1992): Environment for rapidly creating interactive design tools. In The Visual Computer, 8 (2) pp. 94-116.
Henry, Tyson R., Yeatts, Andrey K., Hudson, Scott E., Myers, Brad A. and Feiner, Steven K. (1992): A Nose Gesture Interface Device: Extending Virtual Realities. In Presence: Teleoperators and Virtual Environments, 1 (2) pp. 258-261.
Myers, Brad A. (1991): Graphical Techniques in a Spreadsheet for Specifying User Interfaces. In: Robertson, Scott P., Olson, Gary M. and Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. pp. 243-249.
Many modern user interface development environments use constraints to connect graphical objects. Constraints are relationships that are declared once and then maintained by the system. Often, systems provide graphical, iconic, or demonstrational techniques for specifying some constraints, but these are incapable of expressing all desired relationships, and it is always necessary to allow the user interface designer to write code to specify complex constraints. The spreadsheet interface described here, called C32, provides the programmer with the full power of writing constraint code in the underlying programming language, but it is significantly easier to use. Unlike other spreadsheets tools for graphics, C32 automatically generates appropriate object references from mouse clicks in graphics windows and uses inferencing and demonstrational techniques to make constructing and copying constraints easier. In addition, C32 also supports monitoring and debugging interfaces by watching values in the spreadsheet while the user interface is running.
© All rights reserved Myers and/or ACM Press
Myers, Brad A. (1991): Text Formatting by Demonstration. In: Robertson, Scott P., Olson, Gary M. and Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. pp. 251-256.
In text formatters such as troff, Scribe, and TEX, users write macro procedures to specify the desired visual appearance. In What-You-See-Is-What-You-Get text formatters, such as MacWrite and Microsoft Word, the formatting is specified by directly manipulating the text. However, some important functionality is lost in these systems since they are not programmable. For example, if the user wants to change the formatting and content of all the chapter headings or page headings, each one must be individually edited. If they had been generated by macros, then editing the macro definition would change them all at once. This paper describes the design for a demonstrational text formatter that allows the user to directly manipulate the formatting of one example, and then the system automatically creates the macro by generalizing the example. This technique makes the formatting for headers, itemized lists, tables, bibliographic references, and many other parts of documents significantly easier to specify and edit.
© All rights reserved Myers and/or ACM Press
Myers, Brad A., Cypher, Allen, Maulsby, David, Smith, David Canfield and Shneiderman, Ben (1991): Demonstrational Interfaces: Coming Soon?. In: Robertson, Scott P., Olson, Gary M. and Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. pp. 393-396.
A "demonstrational interface" watches while the user executes conventional direct manipulation actions, creating a general abstraction from the specific examples. The panel will discuss how demonstrational interfaces can be used, and when and whether they will become more common.
© All rights reserved Myers et al. and/or ACM Press
Zanden, Brad Vander and Myers, Brad A. (1991): The Lapidary Graphical Interface Design Tool. In: Robertson, Scott P., Olson, Gary M. and Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. pp. 465-466.
Myers, Brad A. (1991): The Garnet User Interface Development Environment. In: Robertson, Scott P., Olson, Gary M. and Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. p. 486.
Henry, Tyson R., Hudson, Scott E., Yeatts, Andrey K., Myers, Brad A. and Feiner, Steven K. (1991): A Nose Gesture Interface Device: Extending Virtual Realities. In: Rhyne, James R. (ed.) Proceedings of the 4th annual ACM symposium on User interface software and technology Hilton Head, South Carolina, United States, 1991, Hilton Head, South Carolina, United States. pp. 65-68.
This paper reports on the development of a nose-machine interface device that provides real-time gesture, position, smell and facial expression information. The DATANOSE{trade} Data AtomaTa CORNUCOPIA pNeumatic Olfactory I/O-deviSE Tactile Manipulation [Olsen86, Myers91] allows novice users without any formal nose training to perform complex interactive tasks.
© All rights reserved Henry et al. and/or ACM Press
Zanden, Brad Vander, Myers, Brad A., Giuse, Dario and Szekely, Pedro (1991): The Importance of Pointer Variables in Constraint Models. In: Rhyne, James R. (ed.) Proceedings of the 4th annual ACM symposium on User interface software and technology Hilton Head, South Carolina, United States, 1991, Hilton Head, South Carolina, United States. pp. 155-164.
Graphical tools are increasingly using constraints to specify the graphical layout and behavior of many parts of an application. However, conventional constraints directly encode the objects they reference, and thus cannot provide support for the dynamic runtime creation and manipulation of application objects. This paper discusses an extension to current constraint models that allows constraints to indirectly reference objects through pointer variables. Pointer variables permit programmers to create the constraint equivalent of procedures in traditional programming languages. This procedural abstraction allows constraints to model a wide array of dynamic application behavior, simplifies the implementation of structured object and demonstrational systems, and improves the storage and efficiency of highly interactive, graphical applications. It also promotes a simpler, more effective style of programming than conventional constraints. Constraints that use pointer variables are powerful enough to allow a comprehensive user interface toolkit to be built for the first time on top of a constraint system.
© All rights reserved Zanden et al. and/or ACM Press
Myers, Brad A. (1991): Separating Application Code from Toolkits: Eliminating the Spaghetti of Call-Backs. In: Rhyne, James R. (ed.) Proceedings of the 4th annual ACM symposium on User interface software and technology Hilton Head, South Carolina, United States, 1991, Hilton Head, South Carolina, United States. pp. 211-220.
Conventional toolkits today require the programmer to attach call-back procedures to most buttons, scroll bars, menu items, and other widgets in the interface. These procedures are called by the system when the user operates the widget in order to notify the application of the user's actions. Unfortunately, real interfaces contain hundreds or thousands of widgets, and therefore many call-back procedures, most of which perform trivial tasks, resulting in a maintenance nightmare. This paper describes a system that allows the majority of these procedures to be eliminated. The user interface designer can specify by demonstration many of the desired actions and connections among the widgets, so call-backs are only needed for the most significant application actions. In addition, the call-backs that remain are completely insulated from the widgets, so that the application code is better separated from the user interface.
© All rights reserved Myers and/or ACM Press
Myers, Brad A. (1991): Demonstrational Interfaces: A Step Beyond Direct Manipulation. In: Diaper, Dan and Hammond, Nick (eds.) Proceedings of the Sixth Conference of the British Computer Society Human Computer Interaction Specialist Group - People and Computers VI August 20-23, 1991, Heriot-Watt University, Edinburgh, UK. pp. 11-30.
Direct manipulation interfaces, where objects on the screen can be pointed to and manipulated using a mouse and keyboard, are now almost universally accepted. However, some limitations of these interfaces are well known. These include the lack of programmability and the difficulty of providing abstract commands. Demonstrational interfaces can overcome these problems while still providing the benefits of direct manipulation. A "demonstrational interface" watches while the user executes conventional direct manipulation actions, but creates a more general abstraction from the specific example. For instance, the user might drag a file named v1.ps to the trash can, and then a file named v2.ps, and a demonstrational system might automatically create a macro to delete all files that end in .ps. This paper defines demonstrational interfaces, presents a number of examples, and then discusses some potential application areas.
© All rights reserved Myers and/or Cambridge University Press
Myers, Brad A. and Rosson, Mary Beth (1991): User Interface Programming Survey. In ACM SIGCHI Bulletin, 23 (2) pp. 27-30.
Kojima, Keiji and Myers, Brad A. (1991): Parsing Graphic Function Sequences. In: VL 1991 1991. pp. 111-117.
Zanden, Brad Vander and Myers, Brad A. (1990): Automatic, Look-and-Feel Independent Dialog Creation for Graphical User Interfaces. In: Carrasco, Jane and Whiteside, John (eds.) Proceedings of the ACM CHI 90 Human Factors in Computing Systems Conference 1990, Seattle, Washington,USA. pp. 27-34.
Jade is a new interactive tool that automatically creates graphical input dialogs such as dialog boxes and menus. Application programmers write a textual specification of a dialog's contents. This specification contains absolutely no graphical information and thus is look-and-feel independent. The graphic artist uses a direct manipulation graphical editor to define the rules, graphical objects, interaction techniques, and decorations that will govern the dialog's look-and-feel, and stores the results in a look and feel database. Jade combines the application programmer's specification with the look-and-feel database to automatically generate a graphical dialog. If necessary, the graphic artist can then edit the resulting dialog using a graphical editor and these edits will be remembered by Jade, even if the original textual specification is modified. By eliminating all graphical references from the dialog's content specification, Jade requires only the absolutely minimum specification from the application programmer. This also allows a dialog box or menu's look and feel to be rapidly and effortlessly changed by simply switching look and feel databases. Finally, Jade permits complex inter-field relationships to be specified in a simple manner.
© All rights reserved Zanden and Myers and/or ACM Press
Myers, Brad A. (1990): A New Model for Handling Input. In ACM Transactions on Information Systems, 8 (3) pp. 289-320.
Although there has been important progress in models and packages for the output of graphics to computer screens, there has been little change in the way that input from the mouse, keyboard, and other input devices is handled. New graphics standards are still using a fifteen-year-old model even though it is widely accepted as inadequate, and most modern window managers simply return a stream of low-level, device-dependent input events. This paper presents a new model that handles input devices for highly interactive, direct manipulation, graphical user interfaces, which could be used in future toolkits, window managers, and graphics standards. This model encapsulates interactive behaviors into a few "Interactor" object types. Application programs can then create instances of these Interactor objects which hide the details of the underlying window manager events. In addition, Interactors allow a clean separation between the input handling, the graphics, and the application programs. This model has been extensively used as part of the Garnet system and has proven to be convenient, efficient, and easy to learn.
© All rights reserved Myers and/or ACM Press
Myers, Brad A., Giuse, Dario A., Dannenberg, Roger B., Zanden, Brad T. Vander, Kosbie, David S., Pervin, Edward, Mickish, Andrew and Marchal, Philippe (1990): Garnet: Comprehensive Support for Graphical, Highly Interactive User Interfaces. In IEEE Computer, 23 (11) pp. 71-85.
Myers, Brad A. (1990): Invisible Programming. In: VL 1990 1990. pp. 203-208.
Myers, Brad A. (1989): Encapsulating Interactive Behaviors. In: Bice, Ken and Lewis, Clayton H. (eds.) Proceedings of the ACM CHI 89 Human Factors in Computing Systems Conference April 30 - June 4, 1989, Austin, Texas. pp. 319-324.
Although there has been important progress in models and packages for the output of graphics to computer screens, there has been little change in the way that input from the mouse, keyboard and other input devices is handled. New graphics standards are still using a ten year old model even though it is widely accepted as inadequate, and most modern window managers simple return a stream of device-dependent input events. This paper presents a new model for how input devices can be handled for highly-interactive, direct manipulation, graphical user interfaces. This model encapsulates interactive behaviors into a few "interactor" object types. Application programs can then create instances of these interactor objects, and the details of the handling of the input devices are separated from the application and from the output graphics.
© All rights reserved Myers and/or ACM Press
Myers, Brad A., Zanden, Brad Vander and Dannenberg, Roger (1989): Creating Graphical Interactive Application Objects by Demonstration. In: Sibert, John L. (ed.) Proceedings of the 2nd annual ACM SIGGRAPH symposium on User interface software and technology November 13 - 15, 1989, Williamsburg, Virginia, United States. pp. 95-104.
The Lapidary user interface tool allows all pictorial aspects of programs to be specified graphically. In addition, the behavior of these objects at run-time can be specified using dialogue boxes and by demonstration. In particular, Lapidary allows the designer to draw pictures of application-specific graphical objects which will be created and maintained at run-time by the application. This includes the graphical entities that the end user will manipulate (such as the components of the picture), the feedback that shows which objects are selected (such as small boxes on the sides and corners of an object), and the dynamic feedback objects (such as hair-line boxes to show where an object is being dragged). In addition, Lapidary supports the construction and use of "widgets" (sometimes called interaction techniques or gadgets) such as menus, scroll bars, buttons and icons. Lapidary therefore supports using a pre-defined library of widgets, and defining a new library with a unique "look and feel." The run-time behavior of all these objects can be specified in a straightforward way using constraints and abstract descriptions of the interactive response to the input devices. Lapidary generalizes from the specific example pictures to allow the graphics and behaviors to be specified by demonstration.
© All rights reserved Myers et al. and/or ACM Press
Myers, Brad A. (1988): Creating User Interfaces by Demonstration. New York, Academic Press
Myers, Brad A. (1987): Creating dynamic interaction techniques by demonstration. In: Graphics Interface 87 (CHI+GI 87) April 5-9, 1987, Toronto, Ontario, Canada. pp. 271-278.
Buxton, William and Myers, Brad A. (1986): A Study in Two-Handed Input. In: Mantei, Marilyn and Orbeton, Peter (eds.) Proceedings of the ACM CHI 86 Human Factors in Computing Systems Conference April 13-17, 1986, Boston, Massachusetts. pp. 321-326.
Two experiments were run to investigate two-handed input. The experimental tasks were representative of those found in CAD and office information systems. Experiment one involved the performance of a compound selection/positioning task. The two sub-tasks were performed by different hands using separate transducers. Without prompting, novice subjects adopted strategies that involved performing the two sub-tasks simultaneously. We interpret this as a demonstration that, in the appropriate context, users are capable of simultaneously providing continuous data from two hands without significant overhead. The results also show that the speed of performing the task was strongly correlated to the degree of parallelism employed. Experiment two involved the performance of a compound navigation/selection task. It compared a one-handed versus two-handed method for finding and selecting words in a document. The two-handed method significantly outperformed the commonly used one-handed method by a number of measures. Unlike experiment one, only two subjects adopted strategies that used both hands simultaneously. The benefits of the two-handed technique, therefore, are interpreted as being due to efficiency of hand motion. However, the two subjects who did use parallel strategies had the two fastest times of all subjects.
© All rights reserved Buxton and Myers and/or ACM Press
Myers, Brad A. (1986): What are visual programming programming by example and program visualization?. In: Graphics Interface 86 May 26-30, 1986, Vancouver, British Columbia, Canada. pp. 62-65.
Myers, Brad A. (1986): A Complete and Efficient Implementation of Covered Windows. In IEEE Computer, 19 (9) pp. 57-67.
Myers, Brad A. (1985): The Importance of Percent-Done Progress Indicators for Computer-Human Interfaces. In: Borman, Lorraine and Curtis, Bill (eds.) Proceedings of the ACM CHI 85 Human Factors in Computing Systems Conference April 14-18, 1985, San Francisco, California. pp. 11-17.
Myers, Brad A. (1985): The Importance of Percent-Done Progress Indicators for Computer-Human Interfaces. In: Borman, Lorraine and Curtis, Bill (eds.) Proceedings of the ACM CHI 85 Human Factors in Computing Systems Conference April 14-18, 1985, San Francisco, California. pp. 11-17.
A "percent-done progress indicator" is a graphical technique which allows the user to monitor the progress through the processing of a task. Progress indicators can be displayed on almost all types of output devices, and can be used with many different kinds of programs. Practical experience and formal experiments show that progress indicators are an important and useful user-interface tool, and that they enhance the attractiveness and effectiveness of programs that incorporate them. This paper discusses why progress indicators are important. It includes the results of a formal experiment with progress indicators. One part of the experiment demonstrates that people prefer to have progress indicators. Another part attempted to replicate earlier findings to show that people prefer constant to variable response time in general, and then to show that this effect is reversed with progress indicators, but the results were not statistically significant. In fact, no significant preference for constant response time was shown, contrary to previously published results.
© All rights reserved Myers and/or ACM Press
Myers, Brad A. (1985): Using percent--done progress indicators to enhance user interfaces. In: Graphics Interface 85 May 27-31, 1985, Montreal, Quebec, Canada. pp. 167-170.
Myers, Brad A. (1984): Strategies for creating an easy to use window manager with icons. In: Graphics Interface 84 May 28 - June 1, 1984, Ottawa, Ontario, Canada. pp. 227-233.
Show this list on your homepage
Changes to this page (author)
03 Apr 2012: Added03 Apr 2012: Added27 Oct 2011: Modified
27 Oct 2011: Modified
27 Oct 2011: Modified
12 Jul 2011: Added
20 Apr 2011: Added
20 Apr 2011: Added
20 Apr 2011: Added
20 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
14 Apr 2011: Added
15 Jan 2011: Modified
15 Jan 2011: Added
19 Nov 2010: Added
03 Nov 2010: Added
02 Nov 2010: Added
02 Nov 2010: Added
02 Nov 2010: Added
24 Feb 2010: Modified
02 Sep 2009: Modified
01 Sep 2009: Modified
31 Aug 2009: Modified
23 Aug 2009: Modified
17 Aug 2009: Added
17 Aug 2009: Added
17 Aug 2009: Added
17 Jun 2009: Added
17 Jun 2009: Added
17 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
16 Jun 2009: Added
05 Jun 2009: Added
02 Jun 2009: Added
02 Jun 2009: Added
01 Jun 2009: Added
01 Jun 2009: Added
01 Jun 2009: Added
01 Jun 2009: Added
01 Jun 2009: Added
01 Jun 2009: Added
31 May 2009: Added
30 May 2009: Added
30 May 2009: Added
30 May 2009: Added
29 May 2009: Added
09 May 2009: Added
09 May 2009: Added
09 May 2009: Added
09 May 2009: Added
09 May 2009: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
12 May 2008: Added
26 Jul 2007: Added
25 Jul 2007: Added
24 Jul 2007: Added
24 Jul 2007: Added
24 Jul 2007: Added
29 Jun 2007: Added
29 Jun 2007: Added
29 Jun 2007: Added
29 Jun 2007: Added
27 Jun 2007: Added
27 Jun 2007: Added
27 Jun 2007: Added
24 Jun 2007: Added
24 Jun 2007: Added
24 Jun 2007: Added
23 Jun 2007: Added
23 Jun 2007: Added
23 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
19 Jun 2007: Added
11 Jun 2007: Added
11 Jun 2007: Added
28 Apr 2003: Added
Page Information
Page maintainer:
The Editorial TeamHow to cite/reference this page
URL: http://www.interaction-design.org/references/authors/brad_a__myers.html