Inky: a Sloppy Command Line for the Web with Rich Visual Feedback
Total Page:16
File Type:pdf, Size:1020Kb
Inky: a sloppy command line for the web with rich visual feedback The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Miller, Robert C. et al. “Inky: a sloppy command line for the web with rich visual feedback.” Proceedings of the 21st annual ACM symposium on User interface software and technology. Monterey, CA, USA: ACM, 2008. 131-140. As Published http://dx.doi.org/10.1145/1449715.1449737 Publisher Association for Computing Machinery Version Author's final manuscript Citable link http://hdl.handle.net/1721.1/51696 Terms of Use Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. Inky: A Sloppy Command Line for the Web with Rich Visual Feedback Robert C. Miller1, Victoria H. Chou1, Michael Bernstein1, Greg Little1, Max Van Kleek1, David Karger1, mc schraefel2 1MIT CSAIL 2Electronics and Computer Science 32 Vassar St University of Southampton Cambridge, MA 02139 USA SO17 1BJ, United Kingdom {rcm,vikki,msbernst,glittle,emax,karger}@csail.mit.edu [email protected] ABSTRACT while using novel techniques to mitigate the costs. Inky We present Inky, a command line for shortcut access to (short for Internet Keywords) is a popup window, invoked common web tasks. Inky aims to capture the efficiency from the user’s web browser, into which the user can type benefits of typed commands while mitigating their usability keywords expressing a command. Keywords may include problems. Inky commands have little or no new syntax to command names, such as reserve or email or search learn, and the system displays rich visual feedback while flights, and command parameters, such as 9 am or vik- the user is typing, including missing parameters and con- [email protected] or New York. The keywords are matched textual information automatically clipped from the target heuristically against a set of known commands using tech- web site. Inky is an example of a new kind of hybrid be- niques presented in previous work [8,9] to produce a list of tween a command line and a GUI interface. We describe possible interpretations for the user to choose from. When the design and implementation of two prototypes of this the user chooses an interpretation and runs it, Inky fills in idea, and report the results of a field study. the menu-and-form interface for the corresponding web ACM Classification: H5.2 [Information interfaces and site. presentation]: User Interfaces. - Graphical user interfaces. Inky mitigates the classic pitfalls of command line interfac- General terms: Design, Algorithms, Human Factors, Lan- es in two ways: sloppy syntax and rich feedback. First, guages. Inky commands have little or no syntax to learn. Key- words may be provided in any order, command names may Keywords: command languages, natural language be omitted or replaced with synonyms, and parameters may processing, web automation be entered in a variety of ways. The Inky interpreter makes its best effort to match the user’s input against the available INTRODUCTION commands. In the traditional taxonomy of user interface styles [11], Second, Inky provides more rapid, richer feedback than a most web sites offer a menu-and-form interface, which traditional command line. While the user is typing, Inky delivers important benefits to learnability, memorability, incrementally and continuously displays how it is interpret- and error prevention. For frequent users, however, a ing the command. The interpretation also shows missing menu-and-form interface can be inefficient, particularly if parameters to remind the user what other information can the interface is poorly designed and presents a long, com- be included in the command, reducing the learning and plex form or a multi-step process. For these cases, a com- memory burden. mand line interface may be far more efficient, but at the cost of requiring the user to learn command names and In addition to textual feedback, Inky also judiciously in- syntax, putting more demands on the user’s memory and corporates graphical user interface widgets in its feedback. making more chances for errors. Some widgets are useful for parameter entry, such as a date picker for picking the day of a meeting, or a list of confe- This paper presents Inky, a command line for the Web that rence rooms for the meeting location. Other widgets pro- aims to capture the efficiency benefits of typed commands vide context for the command that helps the user choose parameters and avoid errors. For example, Inky retrieves the user’s own calendar and displays a snapshot of the re- levant day and time. Inky thus represents a hybrid between a command line and a GUI interface. Since Inky acts as a frontend shortcut for an existing menu- and-form system, the user does not need to write a com- plete command. If a command is invoked with important parameters missing, then Inky fills out as much of the form as it can from the parameters that were provided, and 1 leaves the user to complete the form and submit it. Inky Many search engines effectively implement a sloppy key- also distinguishes between functions with persistent side word-driven command line, at least for information retriev- effects (such as sending email or making a reservation) and al. For example, Google can display times (Samoa time), functions without side effects (such as viewing a calendar weather reports (weather 02139), arithmetic (67/83), and or looking up a person). For commands with side effects, maps (Monterey CA). Google Calendar’s Quick Add fea- Inky normally leaves it to the user to submit the final form, ture uses a similar approach to quickly add events to the unless the user presses Control-Enter to perform the side- calendar (dinner with Michael Tues 7 pm). Unlike these effect immediately. Thus Inky covers a spectrum from systems, Inky provides rich visual feedback while the simple bookmarks (email, then Enter, to go to the mail command is being entered, and can be used to automate composition page) to partial commands (email vik- web sites that are not accessible to public search engines, [email protected], Enter, to start composing an email to Vikki) such as an intranet conference room booking site. to complete automation (email [email protected] I’m run- Sloppy syntax has been used in other web automation sys- ning late, Control-Enter, to send a quick email right away). tems, notably Koala/CoScripter [7] and Smart Bookmarks One important application of a sloppy command line is [6]. The command languages in these systems operate at a lightweight personal information management (PIM), such lower level than Inky: clicking buttons and links, filling in as entering to-do items, calendar meetings, and contact text boxes, and selecting from lists, checkboxes, and radio information. Previous work [1,12] suggests that the cost of buttons. Inky commands aim at higher-level user goals, starting, navigating, and entering data in PIM applications such as reserving conference rooms and sending email, is one reason why users turn to Post-It notes or paper note- which have a greater variety of commands and parameter books, despite the difficulty of search and retrieval that types than other web automation systems must handle. paper poses later. A command line with sloppy syntax Others have considered how to solve usability problems in allows PIM data to be captured quickly and efficiently, command line interfaces. Seminal work by Furnas et al. [4] while filing it immediately in the appropriate application. showed that the names used for commands and objects This paper describes our experience building and evaluat- vary widely across users, so unlimited aliasing offers the ing two prototypes. The first prototype, called simply best hope for success. Inky follows this prescription by Inky, uses sloppy syntax with textual feedback, and pro- supporting synonyms. Usability improvements have been vides commands for several dozen websites. It was dep- aimed at the Unix shell, notably Fishy2, which adds syntax loyed in a small field study and a sample of commands highlighting, multiple line editing, more autocompletion for invoked by those users is analyzed in this paper. The command arguments, and better error messages. Systems second prototype, called Pinky, focuses primarily on data like XMLterm3 and LAPIS [10] move the Unix shell into entry for PIM web applications, such as Google Calendar the web browser, so that command line programs can dis- and Remember the Milk. Pinky incorporates GUI widgets play HTML or XML user interfaces for the user to interact to help enter some arguments, and automatically shows with. relevant web clippings from the target web site to help the Command lines have also been built on top of desktop GUI user complete the command. Both prototypes are imple- applications, notably Quicksilver4 and Enso5. These sys- mented as Firefox extensions using Chickenfoot [2] to au- tems incrementally search for desktop applications, files, tomate web sites. even dialog boxes and menu items. Quicksilver can be The rest of this paper is organized as follows. First we extended with plugins and user-written scripts. The conti- survey related work in web automation and command lines. nuous feedback provided by these desktop command lines Then we describe the user interface and implementation of inspired Inky’s feedback. the Inky prototype, and report the results of a small field For PIM data, our earlier Jourknow system [14] aimed to study. Finally, we describe recent work on the Pinky pro- bridge the gap between lightweight text entry and struc- totype, which includes GUI widgets and web clippings. tured information retrieval by managing the user’s data as RELATED WORK information scraps, but we found in subsequent studies that Most browsers support command-line-style shortcuts for users are loath to abandon their current PIM tools.