Giving Undo Attention
Total Page:16
File Type:pdf, Size:1020Kb
Giving undo attention Gregory D Ab owd & Alan J Dix HCI Group, Dept. of Computer Science UniversityofYork Heslington, YORK YO1 5DD UK Abstract In this pap er, weinvestigate the problems asso ciated with the provision of an undo supp ort facility in the context of a synchronous shared or group editor. Previous work on the development of formal mo dels of undo has b een restricted to single user systems and has fo cused on the functionality of undo, as opp osed to discussing the supp ort that users require from any error recovery facility. Motivated by new issues that arise in the context of computer supp orted co op erativework, weaimtointegrate formal mo delling of undo with an analysis of how users understand undo facilities. Together, these combined p ersp ectives of the system and user lead to concrete design advice for implementing an undo facility. The sp ecial issues that arise in the context of shared undo also shed light on the emphasis that should b e placed on even single user undo. In particular, we come to regard undo not as a system command to b e implemented, but as a user intention to b e supported by the system. Keywords: Undo support, CSCW, formal methods 1 Intro duction In this pap er we discuss the issue of design options for undo in a group editor, b oth in terms of what is wanted by the users and what is meaningful and p ossible for the system to provide. We explore the extenttowhich the system supp orts the users' intention for undo within the wider context of recovery. The imp ortance and problem of undo Few p eople would argue ab out the imp ortance of undo. As Yang [29 ] p oints out: Gregory Ab owd is a Research Asso ciate with the HCI Group and Dep endable Computing Systems Centre at York. Alan Dix is funded byaSERCAdvanced ResearchFellowship B/89/ITA/220 with the HCI Group at York. 1 2 Gregory D Ab owd & Alan J Dix \Most sophisticated interface systems should b e provided with an undo supp ort facility." Similar quotes can b e found in the literature dating back at least 10 years; indeed, Shnei- derman [24] regards the ability to easily and incrementally undo one's actions as a char- acteristic of direct manipulation systems whichmakes them so app ealing. Despite the general agreement of the imp ortance of undo, few systems supply more than the simplest single-step undo command and, even then, the e ect of command and when it can b e ap- plied is often far from obvious. In a recent study of the use of Microsoft Word [27], it was found that even exp ert users were unable to b oth predict the e ect of the undo command or recognise its b ehaviour. Undo supp ort for single user systems is regarded as essential, but recognised to b e fraught with p otential pitfalls. Users who have come to exp ect e ective undo supp ort in their single user applications will carry forward this exp ectation to their groupware. Extending single user notions of undo into a multi-user context raises many new issues and even calls for a re-examination of the understanding of conventional single-user undo. However, the authors have only found one brief reference to this issue in the CSCW literature [22]. We therefore b elieve that multi-party undo is an area which is urgently due attention. Undo|a system function? Most analyses of undo consider it as a function, that is, the system undo es the user's last action in resp onse to the undo command invoked bya keyb oard button press or a menu selection. From a computing p ersp ective, the system function invoked by the user's command can b e extended to lo ok at rep eated undo or redoing previously undone commands. There are also questions ab out how to eciently implement undo|whichis why most systems supply undo in such a restricted form. Even psychologists, who takea more user-centred approach to undo analysis, still remain con ned to the idea of undo as a system function. Examples of suchpsychological analysis are the ab ove-mentioned study of undo in Microsoft Word [27] and the knowledge analysis of Young and Whittington [30]. which has also b een applied to the question of multi-user undo [21]. Our analysis will take this dominant theme of undo as a system function as far as it will meaningfully go in the multi-user case. Even though we are able to suggest principles for the supp ort of the multi-user undo function, the issues of group undo necessarily lead us to rethink this stance. Rather than ask, \What do es the undo button do?", we instead ask \What is the undo button for?" The former question leads to an analysis of undo as a system function, but the latter to an interpretation of undo as a user intention. Th user wants to recover from a recognised erroneous state and mayachievethisintention by use of any system function, not necessarily the undo function. This p ersp ective suggests that designers must fo cus on supplying to ols to facilitate this recovery. Overview In Section 2, we will describ e a scenario for the design of a multi-user undo for a shared text editor, summarize the results of a knowledge analysis of undo, de ne the scop e of the Giving undo attention 3 problem we are considering and the particular formal approachwe adopt in our analysis. Our analysis in Sections 3{5 will push the `undo as a function' p ersp ective as far as p ossible. Section 3 will lo ok at existing mo dels of single user undo and how they extend to the multi-user case. It is here that the con ict arises b etween the user preference for lo cal undo and the system preference for global undo. A more formal discussion in Section 4 will characterise conditions under which the con icting system and user preferences for undo can b e reconciled. Section 5 will then discuss more concrete mechanisms which a designer can use to satisfy lo cal user undo with a global system undo. Unfortunately, the ma jority of these mechanisms work only b e decreasing the p ossibilityofinterference b etween users, whichinthecontext of the shared editor means reducing the p ossibility for co op eration. Though we do present some more ne-grained mechanisms in Section 5 for resolving con ict whilst maintaining co op eration, there still remain situations in which the system cannot provide a sensible interpretation for lo cal undo. The only p erson who knows what to do is the user. Given this, Section 6 takes a lo ok at the more general issue of recovery, in which undo is but one form. We conclude that recovery is more prop erly understo o d as a user intent and not a system function, and we discuss mechanisms which can b e used to supp ort that intention. Section 7 summarizes the recommendations for undo in a group editor, b oth as a function and as user supp ort. 2 The problem Scenario A team of designers are developing a group text editor intended for co op erative do cument preparation. Early versions of the editor allow for only one insertion p ointinto the shared do cument, so that simultaneous editing requires the users to \pass" control of the insertion p ointbetween them. It is p ossible that future versions of the system will allowmultiple insertion p oints so that truly concurrent and synchronous editing can o ccur. The designers feel it is imp ortanttoprovide supp ort for undoing, so that the users could reverse the e ects of the most recent editing op erations if they pro duced undesirable e ects on the shared do cument. They are not sure, however, how that undo facilityshouldwork. Some feel it should work relative to the do cument, that is, allowing one user to undo the most recent op eration regardless of whether they were the initiators of that op eration. The others b elieve that a single user should only b e able to undo op erations that they themselves initiated. None of the designers can app eal to anything other than intuition as to which is the b est solution, and in this case there is no consensus. The designers recognise that an undo facilityisnot something that can b e develop ed as an add-on comp onent to an existing system but rather requires consideration from the very early stages of design. Therefore, developing systems which manifest the two undo schemes implies the parallel developmentoftwo systems, and there are not the resources for such a luxury. In short, they are unable to give undo attention. 4 Gregory D Ab owd & Alan J Dix The user's p ersp ective A reasonable requirement for the construction of an undo supp ort facility is an under- standing of what a user must know ab out undo in order to make e ective use of it. A know ledge analysis of undo byYoung and Whittington [30, 21] highlights four questions the user must b e able to answer ab out undo: 1. What stream of activity is relevant? For a single user system, this is normally the user's stream of actions. For multi-user systems wemust also consider whether the stream is the user's own actions or the intermingled stream of all the users' actions.