OPERATIONAL COMPLEXITY OF DIRECT MANIPULATION TASKS IN A WINDOWS ENVIRONMENT John R. Maltby Faculty of Business and Computing Southern Cross University P.O. Box 157, East Lismore NSW 2480, Australia jmaltby@scu.edu.au ABSTRACT A method to quantify operational complexity of direct manipulation tasks in a windows environment is discussed. The method utilises a formula from communication theory due to Shannon and Weaver which describes the uncertainty H(p\,p2,...pn) in outcome of an event which is the result of a Markov process where the individual events have probabilities of occurrence Pi,p2,-Pn- A taxonomy of basic windows operations is developed for Microsoft Windows and used to show that a windows dialogue can also be described as a Markov process. The H formula is then applied to determine the total complexity of a sequence of basic windows operations and thus provide some measure of the complexity of a given task as seen by the user. An estimate of the total entropy of a Microsoft Windows language source is obtained, indicating that the redundancy of windows dialogue is about 28%. INTRODUCTION Guidelines for graphical user interface (GUI) and screen designs are reasonably numerous (Galitz 1989; Rivlin, Lewis and Davies-Cooper 1990; Powell 1990; Marcus 1992; Mayhew 1992; Schneiderman 1992; Hix and Hartson 1993). Most of these guidelines appear sound and are clearly constructive in helping eliminate aspects of poor interface design, but they are all qualitative and are in general directed towards the interface design process. Some formal methods do exist for analysing and documenting user actions and operations: these include the Keystroke-level model (Card and Moran, 1980), Command Language Grammar (CLG) (Moran, 1981), the Goals, Operators, Methods and Selection (GOMS) model (Card, Moran and Newell, 1983), Task Action Grammar (TAG) (Payne and Green, 1986) and User Action Notation (UAN) (Hartson, Siochi and Hix, 1990); however, these methods are also in general directed towards the design process. Neither the guidelines nor the formal methods listed above can provide a quantitative method of analysis of interface design which will enable different interfaces to be compared on the basis of their complexity, usability and efficiency, as seen by the user when performing specific tasks. In this paper, we attempt to address this problem for GUIs, firstly by describing a windows dialogue as a Markov process and secondly by utilising a formula from communication theory, originally derived by Shannon and Weaver (1949), in order to 30 describe the complexity of a GUI. Specifically, we will choose the Microsoft Windows interface for our analysis and assume that the interface is directly manipulated using the usual one or two button mouse pointing device. THE WINDOWS USER AS A LANGUAGE SOURCE We begin by describing the nature of the communication process between a user and a GUI. In order to complete a task in a windows environment, a user has to sequentially undertake a series of actions and operations. This sequence is similar to transmitting a series of symbols down a half-duplex communication channel and waiting for a response after each symbol has been transmitted: in the case of a GUI, the interface will respond after each operation is transmitted by changing its state. The messages transmitted to the interface from the user in this way are the result of user actions and operations. Thus we can consider the user as the source of a sequence of actions and operations which we will refer to as basic windows actions (BWAs) and basic windows operations (BWOs). BWAs are the actions undertaken by the user on the mouse and/or keyboard, with which the user manipulates instances of windows object classes (WOCs) in a WIMP GUI. BWOs are the operations performed on the interface which are necessary in order to complete a task, such as copying a file, cutting and pasting text, or creating a document with a word processor. Thus Title bar is an example of a WOC, click is an example of a BWA and open window is an example of a BWO. In constructing a sequence of BWOs, the user is bound by the rules of the windows language in the same way that an author is the source of an English sentence and is bound by the rules of the English language. We will thus refer to the user as a language source for the particular GUI being utilised. Any language source can be considered as a stochastic system and thus be analysed as a Markov process in which the occurrence of a future state depends upon the probability of transition from an immediately preceding state. By assigning a symbol of the English language to each state 5; of a communication system, Shannon and Weaver (1949) use a Markov process to describe the transmission of a message which consists of a series of such symbols, where a symbol can be either a letter or a word unit. The transition probability for each state (i.e. the chance of occurrence of each symbol) is determined as a series of approximations: in the zero-order approximation, each symbol in a message is independent and has an equal probability of occurrence; in the first-order approximation, the symbols are independent but occur with the frequency of English text; in the second- order approximation, the probability of occurrence of each symbol depends upon the previous symbol in the message according to the structure of English text (this is known as a digram structure); in the third-order approximation, the probability of occurrence of each symbol depends upon the previous two symbols in the message according to the structure of English text (trigram structure); etc. In order to use the same technique to describe a windows dialogue, it is necessary to define the equivalent of alphanumeric 31 and special symbols (or word units) in a windows system. We approach this problem by first describing user actions at their most primitive level using the User Action Notation. USER ACTION NOTATION User Action Notation (UAN) (Hartson, Siochi and Mix, 1990) can be used to describe GUI operations in a high degree of detail. Its purpose is to enable such operations to be explicitly detailed so that they can be unambiguously implemented by an interface programmer. By way of example, we will use it here to analyse a simple task with Microsoft Windows: that of copying a file from a directory on one drive to a directory on another. We will imagine that the task is carried out by a user with a specific Microsoft Windows set up in which the File Manager icon is minimized and that the user performs the steps described in Table 1 and illustrated in Figures 1 through 6. Steps Step 1 (Figure 1) Step 2 Step 3 (Figure 2) Step 4 (Figure 3) Step 5 (Figure 4) Step 6 (Figure 5) Step 7 (Figure 6) Step 8 Step 9 BWO [xi] [mw] [of] [vd] [mo] [mo] [ma] [cw] [nw] Operation Description Execute the file manager by double clicking on file manager icon. Maximise the file manager window by clicking on the maximise button. Open the folder files in the C:\ drive directory tree by double clicking on the files folder icon. This operation makes visible the icon of the file which is to be copied to A:\ drive, which is ass4.xls. View the directories of drive A:\ by double clicking on the drive icon and opening a new window. This operation obscures the file icon ass4.xls which is to be copied. Move the A:\ window out of the way of the source file, ass4.xls Drag the ass4.xls icon from the C:\FILES window to the A:\ window. This operation makes the target window inactive. It also completes the file copy task. All future operations are to restore the system to its original state. Make active the A:\ window again so that it can be closed. Close the A:\ window. Minimise the file manager window. The system is now back in its original state, as represented in Figure 1 . Table 1: 9 steps of a file copy task 32 Hng. Figure 1: step 1, BWO [xi] file Qlsk Iree Ylew Options Tool] Window Help fflhd Dtant Opngcov E. OK Q« t. Owe Ocartii Gtdg Oeum @«ntnt. DM*" Optogcorp CD'BMCh DioJogo C]iai>wt Di Ddg fD«oitî a) B»4doc [f]«Te|»td)c ©•nan. doc DtfCdomtyd Bocfcidot B«it»ntpdac ^&^H^ QbDutud ntatl.M Db«2ea EL SelBOBd 1 We(i) (<.212 bylsj) ToteJ 89 tle(«) (883.672 byws) Figure 6: step 7, BWO [ma] 33 A Windows user will have noted that the above file copy task could have been completed in fewer operations: instead of opening a new window for the A drive (as in step 4, Figure 3), the user could have simply dragged the source file icon to the A drive icon. However, we will imagine in this case that either the user did not know that this was possible, or that the user wanted to check the contents of the disc in drive A before performing the copy. It is also of interest to note that the move object operation of step 6 (Figure 5) makes and leaves active the C drive window which consequently overlaps the A drive window. Not only this, but Windows immediately repositions the dragged icon to the top left of the right hand partition. In this case, the icon and accompanying text turns out to be totally obscured by the source window, as shown in step 7 (Figure 6), thus denying the user any feedback as to the result of the copy process. A UAN description of the file copy task is given in Table 2, using the symbols recommended by Hix and Hartson (1993). As can be seen, the UAN details tasks at the user action level: the actions specified are primitive user actions (PUAs), so called because they cannot be broken down into sub-components. These actions include a mouse button press (Mv), a mouse button release (MA) and a mouse move (~). In UAN, the typographic symbols are chosen to symbolically represent the actual action; thus v is similar to a down arrow, A to an up arrow, while ~ gives the indication of movement and * is used to indicate repetition. A prime (') is used to indicate a specific instance of an object, such as a particular file. Other symbols to depict the interface feedback to the user include > to represent follow the cursor and ! to represent highlighting. The UAN symbols used in this example are summarised in Table 3. It is seen that the analysis of even a simple task like copying a file can reveal design defects in the interface. In the task just described, at least one unnecessary action is required of the user because of step 4. If the destination window had been tiled with the source window, rather than cascaded, then the source file icon might still be visible, thus removing the need for step 5. If UAN were used by an interface designer to design an interface for copying a file, then the lines in Table 2 which depict step 5 would presumably not have been included. Such a design might not then have explicitly specified exactly how the secondary windows were to be arranged. This illustrates an important difference between using a notation for design and using it for analysis: when used for analysis, the notation can emphasise poor design because it explicitly requires the analyst to document all user actions; when used for design, however, the notation cannot compensate for any omissions of the designer. Thus certain user operations may be dictated by the nature of the interface rather than chosen by the user as direct steps towards goal accomplishment. Although UAN provides a method of describing primitive user actions in detail, its analysis is at too low a level for our purposes. We require to describe a GUI dialogue in terms of more coarse actions and operations, such that each "symbol" in the dialogue is the equivalent of a word in a natural language. Towards this end, we look at classifications of basic windows actions and operations. 34 GUI: Microsoft Windows TASK: copy file USER ACTIONS -[icon'] MvA (ten) MvA -[folder icon'] MvA (ten) MvA -[disk icon'] MvA (ten) MvA -[title bar'] Mv ~[x,y]* ~[x',y'] MA -[secondary window'] MvA -[file icon'] Mv ~(x,y)* ~(x",y") MA -[secondary window"] MvA -[close icon"] MvA (ten) MvA -[minimise icon'] MvA INTERFACE FEEDBACK display(primary window") display(secondary window') folder icon! display(folder tree) display(folder contents) display(secondary window") outline(title bar') > - @x',y' redisplay(secondary window") file icon! file icon > - file icon-! minimise(primary window) INTERFACE STATE selected = folder' selected = title bar" selected = title bar' selected = file icon' selected = title bar' ' selected = title bar' Table 2: UAN sequence for a file copy operation in Microsoft Windows ~ [X] V A M t * > (t to denote a specific BWA. With a mouse, there are three basic actions that can be undertaken: these are a click, a double click and a drag. These actions can be defined using the UAN in the following way: < c > <- MvA < cc> <— MvA (t< n) MvA <-Mv ~(x ,y)* ~(x 'y ' )M A Thus a click is the action of both pressing and releasing a mouse button, a double click is the action of doing this twice within a set time period, and a drag is the action of pressing a mouse button, moving the mouse to a specific position, and then releasing the mouse button. With a keyboard, there are two basic actions that can be undertaken: these are a single key press and holding down one key whilst pressing and releasing another (as when using the SHIFT, ALT or CTRL keys, for example). These actions can be defined in the UAN as follows: < k > <-KvA < k k > <-K'vK"vA K'A Note that the actual motion of a mouse prior to selecting a target is not defined as a BWA, although it is normally represented in UAN. Moving a mouse prior to target selection is here considered similar to moving a hand over a keyboard before deciding which key to press. Although such actions, known as homing, are considered in some models such as the Keystroke Level Model (Card, Moran and Newall, 1980), they are not relevant to the GUI language we are trying to develop, which does not include time as an independent variable. Neither have we included the symbols for motion (x,y)* etc. in the definition of , even though, strictly speaking, a finger (perhaps on the same hand) will be moved to a different key. Finally, an action can be performed similar to which requires a key to be pressed and held down whilst a mouse button is pressed and released. This action can be represented in UAN thus: < kb > 4- Kv MvA KA 36 BASIC WINDOWS OPERATIONS The Windows interface consists of a number of objects each of which is an instance of a particular windows object class (WOC). These objects can be manipulated by basic windows operations (BWOs) which in turn are performed using BWAs. There are some problems in defining and identifying window operations and a decision must be made on the granularity of the dialogue analysis. For example, should scroll up be a single operation, or should it be a goal (or sub-task) which can be achieved by a variety of different operations? If we consider scroll up to be a BWO, then it can be achieved by using a variety of BWAs; if we consider it to be a goal, then it can be achieved by using a variety of BWOs. We will choose to consider scroll up to be a goal because it can be achieved by manipulating one or more of a variety of different WOCs. Let us represent goals by using curly braces, so that scroll up is written {scroll up}. Given this starting point, it is then clear that in Microsoft Windows the goal of {scroll up} can be reached by performing one of the following operations: 1. click on the scroll up icon at the top of the scroll bar; 2. slide (by dragging) the elevator on the scroll bar in the up direction; Let us identify each of these operations by using two letter mnemonics in square brackets. Thus we will let [su] stand for the BWO scroll up icon and [ve] stand for the BWO slide vertical elevator. Using this nomenclature, the relationship between basic windows operations, basic windows actions and primitive user actions for these two methods of reaching the goal {scroll up} is as shown in Figure 7. Each method shown requires a different BWO and each BWO requires various combinations of PUAs. In the first method, the mouse is clicked upon the scroll up icon; in the second method, the vertical elevator is dragged upwards. f[su] «— < c> <— [scroll up icon] MvA up j^ <_< d > <— [vertical elevator] Mv ~ (x, y) * ~ (x1, y') MA Figure 7: decomposition of the goal {scroll up} Proceeding in this manner, we identify 26 basic window operations as listed in Table 4. This list is clearly not exhaustive and is subject to addition and refinement through further investigation. The window object classes and the basic window operations required to manipulate window objects to perform tasks are listed in Table 4. The basic window action or actions necessary to perform each operation are given in the last column of this table. In this column, alternative BWAs for the same BWO are indicated by the I symbol. Thus 37 [d]l[c] indicates that the desired BWO can be achieved by either dragging or by a single click. This particular alternative occurs for the BWO [so], where the operation can be performed by opening the menu and then dragging the mouse pointer to the required option in a single operation, or by clicking on a menu option of an already open menu. BWO close folder close window scroll left/right make active move object maximize window minimize window open folder open menu open window position cursor resize frame restore window BWO code [cf] [cw] [he] [ma] [mo] [mw] [nw] [of] [om] [ow] [pc] [rf] [rw] BWO scroll down select icon scroll left select option scroll right select text scroll up type text view directories scroll up/down execute icon execute option execute task BWO code [sd] [si] [si] [so] [sr] [st] [su] [tt] [vd] [ve] [xi] [xo] [xt] Table 4: basic window operations Different BWOs can be performed on the same WOC. For example, a program group icon can be moved [mo] or opened into a window [ow]. In this case, these different operations require different basic window actions: to perform [mo] a must be executed; to perform [ow] a must be executed. But this is not always the case. For the program group icon, both [mo] and [rw] can be performed with the same basic window action, that of . However, the action is performed in different ways. In order to move the group icon, the drag must be performed on the icon itself; in order to restore the program group window, the drag must be performed on the program group menu. Note also that different BWOs can be performed to achieve the same functional goal and obtain the same response from the GUI. For example, it is possible to execute a program from the Program Manager by performing any one of 3 different operations: [xi], or the combined operations [si] + [so] or [so] + [tt] + [xt]. It is possible to execute a program from the File Manager by performing the operation [xo], and in the case of an application such as Microsoft Office, it is also possible to execute a program by performing the operation [xt]. It is not altogether clear at this stage how different BWOs should be selected and classified; this is still the subject of on-going research. Given that we can identify a finite number of basic window operations, it becomes possible to record the sequences of such operations which are necessary to perform specific tasks. Thus the sequence of operations of the file copy task described in steps 1 through 9 and depicted in Figures 1 though 6 is 38 [xi][mw][of)[vd][mo][mo][ma][cw][mw], as detailed in Table 1. This includes those operations required to return the system to its original state. In order to analyse the complexity of this task, it is necessary to know the initial and digram frequencies which dictate the structure of a Windows dialogue. woe title bar close button minimize button maximize button restore button window window frame active menu item prog, group icon Possible BWOs [ma] [mo] [cw] [om] [so] [nw] [mw] [rw] [ma] [rf] [so] [si] [om] [so] [ow] [mo] [rw] [mw] Required BWAs kc> kc> woe program icon scroll up icon scroll down icon scroll left icon scroll right icon hor. elevator butn. ver. elevator butn. disk icon folder/file icon tool icon document text keyboard Possible BWOs [xi] [si] [mo] [su] [sd] [si] [sr] [he] [ve] [vd] [of] [cf] [mo] [xt] [pc] [st] [xo] [tt] Required BWAs Table 5: window object classes and corresponding operations and actions CONSTRUCTION OF A TRANSITION PROBABILITY MATRIX FOR BASIC WINDOW OPERATIONS Comprehensive data has yet to be collected in order to determine initial and digram frequencies of each BWO. However, a pilot study of 462 BWOs over several different tasks was made by the author logging his own operations during normal work sessions on a computer. The tasks included file management sessions and document production using Microsoft Word, Excel and Powerpoint. The study yielded the frequency information in Tables 6 and 7. cf 1 CW 14 he 0 ma 3 mo 8 mw 5 nw 6 of 21 om 0 ow 2 pc 103 rf 1 rw 0 sd 48 si 1 si 3 so 25 sr 1 st 25 su 18 tt 78 vd 2 ve 2 xi 7 xo 5 xt 83 total 462 Table 6: initial frequencies for basic window operations 39 The initial frequencies of occurrence of the various BWOs are as shown in Table 6. Note that during these short sessions there are 3 operations that were never performed by the user, these being [he], [om] and [rw]. This may be a reflection of the user's windows language style as well as a reflection of the very small sample size. The digram transition frequencies are given in Table 7. In this table, the frequency of occurrence of each BWO is dependent upon the previous BWO; thus each cell contains the frequency of occurrence with which a BWO j follows a BWO i in the sample sequence of 462 BWOs. The data can be normalised to produce a table of transition probabilities by applying the condition for all i to each row. Pi(j) i cf cw he ma mo mw nw of om ow pc rt rw sd si si so sr st su M vd ve xl xo xt cf 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cw 0 2 0 2 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 6 he 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ma 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 mo 0 0 0 0 2 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 mw 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 2 nw 0 3 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 of 0 0 0 1 0 1 0 2 0 0 0 1 0 9 0 0 1 0 0 3 1 0 0 1 0 1 om 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ow 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pc 0 0 0 0 0 1 0 0 0 0 22 0 0 3 0 0 6 0 1 1 56 0 0 1 0 13 i rt 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 rw 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sd 0 0 0 0 0 0 0 10 0 0 0 0 0 23 0 0 1 0 0 2 5 0 1 0 3 3 si 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 si 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 2 so 0 0 0 0 0 0 0 1 0 0 3 0 0 1 0 0 1 0 8 1 2 0 0 2 0 2 sr 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 st 0 0 0 0 1 0 0 1 0 0 0 0 0 2 0 0 6 0 0 1 5 0 0 0 1 8 su 1 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 1 0 0 5 1 0 0 0 0 6 M 0 0 0 0 0 0 0 0 0 1 62 0 0 1 0 0 3 0 3 1 0 0 0 0 0 7 vd 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ve 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 xl 0 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 xo 0 0 0 0 0 0 0 3 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 xt 0 4 0 0 1 1 2 1 0 0 15 0 0 0 1 1 3 1 13 2 6 0 1 1 0 29 Table 7: digram frequencies from a sample of 462 basic window operations THE ENTROPY EQUATION We next require some method of quantifying the uncertainty in outcome at any point in a Markov chain of BWOs. For this we utilise a formula from communication theory due to 40 Shannon and Weaver (1949). Consider a message transmitted using a message alphabet consisting of n different types of symbol, where at any given point in the message the symbol types have the probabilities of occurrence p\, p2,---Pn- Shannon and Weaver proposed that the uncertainty in occurrence of a given symbol type at any particular place in such a message is given by H(p\, P2,...p