Efficiency relates to how fast a user accomplish tasks once he or she has learned to use a system. The basic idea behind it is that, as you use a computer system more and more, your level of expertise in use of that system increases, thus lowering the amount of time that it took you to do a particular task. A good example of this is in the concept of shortcuts or quick keys. For example, many people use CTRL-X to cut a piece of text on a PC (alternatively, Mac users use Apple-X) and use CTRL-V to paste text (or Apple-V on the Mac). This is a very basic concept that allows people to be more efficient: Without this, a user would have to highlight the text with their mouse, then go to the edit menu, pick the cut item in the menu, then go to the place where the text is to be pasted, go back to the edit menu and click on the paste item in the menu. Using the quick keys, they highlight the text they want to cut, press CTRL-X, go where they want to paste the text and press CTRL-V. In this process, two extra time-consuming tasks have been removed. While it may not seem like much, if you consider the number of times a user might use those function in a given day, it adds up to quite a large amount of time.
One of the main challenge to the OSS community in terms of improving usability will stem from the fact that most OSS developers do not interact with everyday users when they are developing a system. The challenge here is in figuring out how to increase the speed at which a user can do a particular task. A good example used in the usability community to explain this concept is that of the microwave. The basic question boils down to which is faster, cooking a cup of water for 1 minute and 10 seconds or 1 minute and 11 seconds? From a purely mathematical answer, one would say that the former is the fastest. But from an interface standpoint, it isn’t. A user can more quickly type 1-1-1 than 1-1-.. This seems completely counter-intuitive to established mathematical formulas but highlights some of the complexities of usability design. What this highlights, however, is that one must think of those things before coding. This means that basic usability issues should be part of the design cycle of an application.
Here are a few points that one should consider as part of this process:
java.lang.foo error 1023123will be confused. However, if the same message says Your request could not be processed, please press enter again, the user will be working more efficiently. Clear instructions are part of a good usability system. In this case, the user is not spending a while trying to figure out what happens and is asked to do something to solve the problem!
Reusing commonly used functions will allow users who have used other systems to easily make the jump to yours, without have to relearn a lot of tasks. This will make them more efficient as the learning curve to move to your program will be lessened.
If you follow those basic points, you will increase the efficiency of your system. As a result, they will be happier and will tell all their friends to use it. See, usability is already paying off!
© Tristan Louis 1994-present Some rights reserved.