improving learnability and usability of software applications

4 downloads 11782 Views 370KB Size Report
forms we can make the UI more learnable too; In addition, we make ... applications, mobile communication devices and web sites with the focus on the user's .... It starts from one (number 0 is assigned to “Show Desktop” task, as is shown in Fig ...
IADIS International Conference Interfaces and Human Computer Interaction 2008

IMPROVING LEARNABILITY AND USABILITY OF SOFTWARE APPLICATIONS Ali Sajedi Department of Computer Engineering, Azad University of Lahijan, Lahijan, Iran

Hamidreza Afzali Young Researchers Club of Islamic Azad University, Lahijan, Iran

Mehregan Mahdavi Department of Computer Engineering, Faculty of Engineering, University of Guilan, Iran

ABSTRACT In this paper, we study important aspects of a user interface (UI) from learning and usability point of view and propose useful suggestions. These aspects include help and documentation, search, automation, flexibility and efficiency. We suggest using functionality tree structure to have an intensive help; hence a learnable software may result especially in case of web based and mobile applications. We show that by means of visibling invisible objects and having intelligent forms we can make the UI more learnable too; In addition, we make suggestions for designing software with friendlier UI and discuss their impact on the quality factors of a UI with emphasis on improving “time to learn” and “user satisfaction” measures. KEYWORDS Software Engineering, User Interface Design, Usability

1. INTRODUCTION Design of computers, applications, mobile communication devices and web sites with the focus on the user’s interaction and experiences is called user interface design (UID) (Arroyo, et al, 2006), (Dutoit, et al, 2005). User interface design is used widely in different types of projects, from home and office applications to today’s modern cars (Störrle, 2002), (Gaffar, et al, 2005). In form based UI design we have to deal with drawing shapes on the screen and recognizing user’s interaction with parts of the shapes (e.g., clicking on an item or dragging an item to somewhere else). UI design packages can help us to manage these time consuming events easily, instead of writing hundreds of lines of repetitive codes. Mac App system was one of the first UI design packages that leaded to an 80% reduction in coding time. Increasing design speed, simplicity of changes, concentrating on essential details of program rather than controlling the interface and uniform design are some of the most important benefits of using UI design tools (Medina, et al, 2007). Using a well designed user interface for a web site has a great impact on increasing its number of visitors. Using eye-tracking techniques, web designers will be able to analyze visitors’ interaction with the website and find out which points on the web pages are read, glanced at or skipped (Arroyo, et al, 2006), (Scapin, et al, 2000). In this paper, we focus on improving both learnability and usability by making new suggestions. In the next sections, we study important aspects of software applications’ UI regarding these two issues.

277

ISBN: 978-972-8924-59-1 © 2008 IADIS

2. IMPORTANT ASPECTS OF UI DESIGN In this section, three important aspects of UI of software applications with great impact on usability and learnability are studied. 1- Flexibility, Efficiency and Simplicity; A system should be designed suitable for both expert and novice users. This means gathering ease of use and powerful functionality together. What makes a system efficient is its fundamental architecture. Therefore, having efficient forms with suitable relationships between them is desirable (Sajedi, et al, 2008a). Simplicity is also an important issue. To achieve this goal, we should design simple but complete forms. Then we can create required links between them (Molina and Tratteberg, 2005). 2- Metaphors; Metaphors have great effects on the user’s mind in memorizing different concepts. By choosing a good metaphor we can infuse contexts to the users. A good example can be seen in Microsoft windows; the Recycle Bin. That is what we see in the real world with a similar application. The use of buttons in Media Player softwares is another example of metaphor seen in everyday’s life. 3- Help and documentation; The Help part makes the software more learnable. It should be contextsensitive. To make a help system more useful there should be the ability of searching words and commands in the total help system. Therefore users can find the needed information easier. These methods are widely seen in today’s help systems. We will offer an idea about the search ability in the help systems later.

3. INCREASING LEARNABILITY AND USABILITY In this section, suggestions are made in order to improve learnability and usability of applications based on the aspects mentioned in the previous section.

3.1 Functionality Tree Architecture Using a tree structure is a common way to implement menus and help systems. In most help systems this is just a simple tree structure classifying subjects. Moreover, There may be a separate search tab that indexes the keywords and gives the ability of searching. We offer to have an exhaustive investigation over the system and create a universal functionality tree containing the most important and more general items in the top level and the others in the next levels. Each item in this tree corresponds to a functionality in the system; Whether is a main functionality or a trivial one. In fact, the more general functionalities are gathered in top levels and the trivial ones are distributed in branches and leafs based on the importance. The functionality tree differs from “contents” part in the common Help systems (see Fig. 1); in addition, it contains trivial functionalities in each part of the software. Moreover, it focuses on the functionalities rather than concepts. If one follows this tree from top level, every minor task in the software will be then traceable. In the next sections, we make some suggestions on the functionality tree.

Figure 1. A sample common help in MS Windows

278

Figure 2. The same tree with search ability

IADIS International Conference Interfaces and Human Computer Interaction 2008

3.1.1 Functionality Tree with Search Capability Although a tree categorizes the subjects in a proper manner, sometimes it needs a long time to find an idea in a tree. Our suggestion is to embed the search ability inside the tree structure (see Fig. 2). In fact, the search keywords are the functionality tree items; furthermore, an option can be applied to include the final level's documentations in the search or not. When you search a word it goes through the tree and finds it in tree nodes one by one. As a result, the expanded but limited tree is shown with the desired items highlighted and the extra nodes are omitted. This way, there is a controlled sight on the topics guarantying retention of subjects. In other words, we have benefits of both tree view and search together in the functionality tree. Because the functionality tree contains all the system’s capabilities, the user can often access the desired item of his/her mind in the system more rapidly.

3.1.2 Considering Some Automation In some cases there is more than one path to do a task (alternative ways). In some others, the user should do some tasks in different parts of the system, before being able to run the main task. In such cases, all needed tasks (prerequisites) should be displayed in a sequenced order related to the main task, in a way that shows both "Being prerequisite of the main task" and "sequenced order of them". Both the cases (the alternative ways and the prerequisites) are in fact nodes somewhere in the functionality tree and should be offered to the user clearly.

3.2 Visibling Invisible Objects There are several items embedded in our commonly used windows that even an expert user never knows about them. By using functionality tree, we tried to take them into account. To improve users’ accessibility we suggest to visible these invisible concepts. Visibling these concepts help the user to select and use the best way of doing an action. Some of these concepts are studied in this section.

3.2.1 Switch Window We use this window to switch between in-memory programs. In Microsoft windows it appears when you press Alt + Tab keys. Microsoft used this window to visible an invisible concept between the currently running programs. This list is always sorted by the last activation time of the programs. The selected program will be activated by releasing the keys and the order of icons in the Switch window will be refreshed. The Switch window, as implemented in Microsoft Windows, has some problems; specifying the right program to switch to, especially when several instances of a program are running along with other programs needs a lot of attention, because icons are not even sorted by the start time. Placements of icons are not fixed too; nevertheless, the first icon always belongs to the last activated program. Our idea is to focus on the programs, not their order of activation. We propose two suggestions; Our first suggestion is to assign a sequenced index number to each task when it is running, and show it over the icon in the Switch window and even the Title Bar. This way you can find the document you want at a glance, by the index number. It starts from one (number 0 is assigned to “Show Desktop” task, as is shown in Fig. 3), increases by one and will be reset to one if all running tasks end. Using this method, each window will have a fixed number. besides, It can also be possible to select a window by typing its index number in a specified text box.

Figure 3. A sample proposed Switch window

Figure 4. A sample categorized Switch window

Another approach is grouping similar programs. In this situation icons can be shown by a hierarchical control (see Fig. 4). The topmost level shows the applications and the next level shows the windows that the

279

ISBN: 978-972-8924-59-1 © 2008 IADIS

application has opened. The advantage is more realized when switching between similar windows or closing them; however, the previous order of icons (by activation time) isn’t preserved yet. Complicated solutions are also possible to have both mentioned advantages simultaneously; however, it needs more attention and can be studied in a separate research and is not the main focus of this work.

3.2.2 Available Shortcut Keys Usually the expert users use the keyboard more frequently (maybe more than mouse). There are a lot of shortcut keys in most programs. But non-experienced users usually don’t know much about them. Knowing and identifying these shortcut keys can help non-expert users use the keyboard more often and faster (without changing the currently using interaction device); hence, having the more usable software. We suggest having a part in the help section to guide users finding them. There may also be a visual panel with a defined and well known icon to be activated to show available shortcut keys of each environment/form to the user. Hence there are several shortcut keys assigned by the operating systems to different tasks, the idea may also be applied in designing operating systems. The layered structure of (Sajedi, et al, 2008b) can also be used as well.

3.3 Intelligent Forms Human beings have always wanted to change the world around to be easier to access. In software world, we deal with a huge number of objects and subjects. The user should select the desired one between them based on the situation. The faster you find the tools you need, the faster you do the job. So if you have the tools you use frequently more accessible than the other ones, this would improve your speed. A simple implementation of this idea can be seen in “Start Menu” in Microsoft Windows XP and later versions. It would be great to have intelligent virtual workspaces to handle this issue. These workspaces can help to have easier access to more important widgets and items and even sometimes hide unnecessary ones. In order to have such software, we suggest sorting widgets and objects by frequency of use. The system may also reform, resize or change color of items based on the situation. For more complicated environments we need more technical solutions. A data mining approach is desirable. In this approach not only the usage of all widgets has to be monitored and captured in a database, but also the usage times should be saved to determine the best arrangement of them in the form based on their frequency and time of use. Then the software should decide how to handle it with some heuristics considering both most frequently used and most recently used items. This issue can be the subject of a separate research.

4. EVALUATION For a regular program, there are 5 main factors for UI design (Shneiderman, 1992): 1- Time to learn (average time for a user to learn to interact with the system) 2- Speed of performance (how long does it take to perform relevant benchmarks) 3- Rate of errors by users (average number of errors produced by a user or type of users) 4- Retention over time (how much can a user retain his/her knowledge about working with the system after a period) 5- Users satisfaction (this parameter can be determined with questionnaire or conversation) The effect of our suggestions in improving the UI quality based on these parameters is evaluated and presented in Table 1. Table 1. The effect of our improvements on the main factors of a UI Time to learn User satisfaction Rate of errors by user Retention over time Speed of performance

280

Functionality Tree Architecture High Middle High Middle Low

Visibling Invisible Objects High High Low Middle Middle

Intelligent Forms High High High Middle Low

IADIS International Conference Interfaces and Human Computer Interaction 2008

Although the above results are all theoretical, the great impact of the suggestions and improvements in the current generation of software applications is obvious. For example embedding functionality tree structure especially in a newly developed software package rapidly adopts the user with the way of triggering new introduced actions or generally doing them. It is also true when you buy a new mobile cell phone especially a different model from the previous one. It has been reported repeatedly that several important capabilities of an advanced mobile cell phone remained unknown during its lifetime. The claim is also true for invisible objects; in fact, most of these objects and capabilities hide from the users’ view.

5. CONCLUSIONS AND FUTURE WORK We studied some important guidelines for designing a friendly UI and made suggestions for improving the quality of the UI design. Although there are several other guidelines to improve the software’s quality we focused on the most important ones with much more tendencies to the impact on learning the capabilities and usability aspects. We made some suggestions to create friendlier and more useful interfaces considering the evaluation factors. Considering these suggestions in software, improves its learnability and usability for both novice and expert users. The proposed functionality tree can be used widely in software applications. It has a great impact on learning time of the software. Especially in web based applications and mobile applications, the “time to learn” factor is so important; hence, there is more attention on well introducing the full capabilities to the user. The functionality tree structure can be used as a main describer for them. One can browse or search it to find the capabilities and the way of accessing them. Currently, many of the mobile cell phones and even computer users don’t know most of the invisible objects till the time they change their hardware/software. Visibling them is another idea to identify the system’s hidden interaction capabilities. Having intelligent forms is another technique that can be used for complicated forms, especially in the limited screens such as mobile cell phones. In addition, the suggestions can be expanded in a separate research paper to improve software’s quality.

REFERENCES Molina, P.J., Tratteberg, H., 2005. Analysis & Design of Model Based User interfaces. Computer science, Springer. Netherlands, pp. 211-222. Shneiderman, B., 1992. Designing the User Interface, Addison Wesley. 2nd edition. Arroyo, E., et al, 2006. Teaching User Interface Design using a web-based Usability Tool, CHI 2006, ACM, Montreal, Canada. Dutoit, A.H. et al, 2005. Using Rationale for Software Engineering Education, Proceedings of the 18th Conference on Software Engineering Education & Training (CSEE&T 2005), IEEE Computer Society, pp. 129-136. Störrle, H., 2002. Group Exercises for the Design and Validation of Graphical User Interfaces, Modellierung'2002, Tutzing, GI Lecture Notes in Information, pp. 12. Medina, P. et al, 2007. A Survey of Model Driven Engineering Tools for User Interface Design, computer science, Springer, Berlin, Heidelberg, pp. 84-97 Scapin, D.L. et al, 2000. Transferring knowledge of User Interfaces Guidelines to the Web, Tools for Working with Guidelines, Proceedings of the International Workshop on Tools for Working with Guidelines TFWWG’2000, Springer, Verlag, London. Gaffar, A. et al, 2005. User-Centered Design Practices Management and Communication, Proceedings of HCII 2005, Human Computer Interaction International, Las Vegas, Nevada, USA. Sajedi, A. et al, 2008a, Fundamental Usability Guidelines for User Interface Design, To appear in the proceedings of ICCSA 2008, International Conference on Computational Science and its Applications, IEEE CS, Perugia, Italy. Sajedi, A. et al, 2008b, Enabling Effective User Interface Design Using Compound and Layered Structures, To appear in the proceedings of ICCSA 2008, International Conference on Computational Science and its Applications, IEEE CS, Perugia, Italy.

281

Suggest Documents