Human-Computer Interface


The Human-Computer Interface (HCI) deals with the methods by which computers and their users communicate. It is the process of designing interface software so that computers are pleasant, easy to use and do what people want them to do. Dealing with HCI requires the study of not only the hardware of the computer, but that of the human side also. Therefore   attention must be paid to human psychology and physiology.
This is because to build a better two-way communication, one must know the capabilities and limitation of both sides. This seminar also deals with concepts and guidelines that should be followed in order to produce a good HCI. Specifically dealt with topics include Dialogue Design, Presentation Design, General Input and Output.


DOWNLOAD

HUMAN PSYCHOLOGY & PHYSIOLOGY

This section mainly deals with the way humans communicate.

The human brain is where all the cognitive functions take place. It is ultimately where a human receives, interprets and stores information. Information can be processed by the sense organs and sent to the brain faster and more precise than the brain can handle. Many models have been developed in order to try and use a computer analogy to brain functions but with mixed success. They are however quite useful because they present to us a model with which we can illustrate capabilities and limitations.

These models suggest that there are two forms of human memory: short term and long term. Each sense appears to have its own short-term memory, which acts like a buffer or staging area for input from the particular sense organ to the brain. Any memory that is not reinforced and moved to long-term memory is forgotten. Short term memory has a capacity of about seven blocks of information but this too seems to be able to be increased with practice and added levels of abstraction and association.

In order for information to be remembered it must be moved into long-term memory. This can be a conscious act as in deliberately memorizing something through repetition or unconscious as when a particularly interesting piece of data is retrieved and requires more thought. No maximum size of long-term memory has yet been determined. This aspect of memory and the fact that the human brain can only process so much information is important to the layout of an HCI. People sometimes describe a particular screen as "too busy". What this means is that there is too much information on the screen at once. The brain is incapable of taking in so much information at once and ambiguity and confusion results. Precision should be a primary concern for the HCI designer.

Research has also indicated that a person’s ability to receive and interpret data can be influenced by outside factors like noise, lighting and other ergonomic factors. The operators stress and fatigue can impair their ability to function as well.

The primary method of receiving information from a computer is visually. The physiology of the eye will determine what limitations must be placed on an HCI. Current technology is able to present information at a faster rate then the eye can see. Limitations of HCI seem to be placed by the Human, not the Computer.

There are two different types of photoreceptors on the retina which are commonly referred to as "Rods" and "Cones". Rods are very sensitive to light whereas Cones are less sensitive. The angle of view for which there is a clear image is actually quite small, no more than 1 or 2 degrees. Clarity decreases rapidly in the optic field of view as one moves away from the center of the image. The amount of data that can be accurately seen within a single view is therefore also quite small and the eye must continually be moving in order to see a complete screen and then must mentally assimilate all the data into a complete mental page. This, in combination with the capacity of short-term memory sets a relatively low limit on the amount of data that can be contained on a single screen.

The eye's ability to distinguish colour, luminance, contrast and brightness also is a factor which must be considered in HCI. The colour of an object is determined by the frequency of the light that is reflected from it. Colour sensitivity is created by the existence of three different types of cones in the eye. One for blue, one for green and one for red. Each type of cone responds to a certain range of wavelengths. Colour blindness is the inability to distinguish certain colours, notably reds and greens. This fact is also important to remember when designing an HCI.

Luminance is a measure of the amount of light reflected from a surface. It is determined by the amount of light that is falling on an object and the reflectance of the surface of the object. Research has determined that there is a range of optimal luminance levels and that low illumination can be a hindrance to an otherwise good HCI.

Contrast is defined as the difference between the luminance of an object and its background divided by the luminance of the background. It is a measure of an eyes ability to distinguish foreground from background easily. It can have both a positive and a negative number. The higher the absolute value of the contrast the easier it is to distinguish objects. What this suggests is that in order for a user to be able to assimilate the information on a screen better, the background colour and the colour of the foreground text should be of opposing intensity. For example, black writing on a white background is ideal.

Brightness is usually thought of as a subjective property of light. It depends on many factors, the main one being comparative illumination. Brightness contrast can cause several common optical illusions as well. A common one is the "Hermann Grid" shown below as figure 1.0. Due to the comparative black and white sections, gray dots that aren't there are seen at the intersections.
The physical characteristics of the eyes and of vision must be taken into consideration when designing an HCI and knowledge of basic vision principles can greatly aid the HCI designer.

Although there is no question that visual is the primary means of relaying information from a computer to a human, practically every personal computer purchased today has a sound card and speakers. Audio is becoming a common way of relaying information to a user. Many help packages for software have an audio as well as visual component. Having a basic understanding of human hearing, capabilities and limitations can also aid the HCI designer in designing audio HCI components. Hearing involves the same problems inherent to seeing; reception of the signal, translating it into nerve impulses and attaching meaning to the messages. Sound waves travel through air. They have two major attributes which will be of concern to the HCI designer, frequency and amplitude. Frequency determines the pitch of the sound and amplitude determines the volume. Young children can hear in the range of about 20 Hz to over 15,000 Hz but this range decreases with age. Rarely are sounds of a single frequency however. Speech, as well as most everyday sounds, is a very complex mixture of frequencies.

What is more important than the anatomy of the ear and the physics of sound is the ear and brains ability to interpret sound. The auditory centre of the brain appears to be able to distinguish three different types of sound; background unimportant sounds (noise), background sounds that have significance (child's cry, dog's bark, etc.) and speech. The same sounds can therefore be "heard" differently depending on the context. Speech is a continuous thing. When analyzed, it doesn't appear as disjointed syllables or phonemes but as a continuous stream that must be interpreted at a rate of between 160 and 220 words per minute

The sense of touch is used as a primary input source and rarely as an output. Touch is mostly used for output when dealing with the disabled; sight and hearing impaired. Some pagers vibrate to attract the wearer’s attention etc. The use of a keyboard, mouse, joystick, light pen, touch pad etc. all use the sense of touch and the reason that there are so many different keyboards, mice etc. on the market is due to the different "touch" that each device has. The hand shaped mouse and the "split" keyboard are all examples of devices made to improve the touch of the device.

Vision is the primary sense used in HCI design and any designer should have a complete understanding of human vision capabilities and limitations. Hearing is the second most important sense in HCI design and anyone who undertakes a project with an audio component should have an understanding of how the ear works and the method by which speech is interpreted in order to aid in design. Touch should be well understood for the design of hardware and special function devices.


INTERFACE ANALYSIS AND SPECIFICATION
Before one can design an appropriate HCI one has to know the reason for the interface. In other words, an HCI will be part of a larger project developing a complete product for which the HCI is only a component. An HCI can only be designed if the purpose for the product itself is well known and understood. This is the task of Requirements Engineering in which the requirements for the system are elicited from the stakeholders, confirmed and documented in a manner such that a system can be developed from them.

There are several diverse techniques available for the Requirements Engineer to use in gathering requirements. One of the components of the results of these techniques will be an interface design. In order to create an interface design one must begin the task of "Functional Decomposition". Functional Decomposition is the task of examining a system or set of requirements and breaking it down into its individual components. Determine what base functionality you want the system to do. Document these singly and also in such a manner as to show the relationships between the different tasks. Also list each function using a spreadsheet or matrix. From this list of required functionalities, determine the ones that require an HCI. Before deciding the specifications of the HCI, the designer must look at the target market for the product. Four levels of users are generally defined:

1.     Naive - These are the users who have never encountered or used a computer in their lives. With the fact that computers now permeate our lives to such an extent, this group is becoming quite small, but will always exist.
2.     Novice - These are users who are slightly familiar with computers but would be quite unfamiliar with your system and how it would work. They are not computer phobic but just lack the exposure and experience.
3.     Skilled - Skilled users have considerable computer experience and would be quite comfortable operating most computer systems. They would know where to go for help with a system functional problem but still would not have the expertise to understand the internal working of a computer or application.
4.     Expert - The expert user is extremely comfortable with many aspects of computers and systems. They understand how they function and would attempt first to correct many problems themselves before obtaining professional help.

The majority of users today fall into categories 2 and 3. Caution must be taken when designing an HCI for a market containing a number of level 1 users.

As well as understanding the types of users that will eventually be using your product, it is equally important to understand a number of other user and system attributes. Consider the following user and application characteristics:

1.     Frequency of use - How often will this system be used? Some systems, for example, are to be used only once and once used, discarded. A year 2000 fix program is a prime example. If the system is to be used only one a year, such as a system for closing year end financials, then the user cannot be expected to learn and retain system functionality from one use to the next. Many times it will be a new user each use.
2.     Discretionary usage - An application may be used everyday by the same person so that workarounds, tricks, shortcuts etc. can be used quite frequently. What if the main user is away and someone who has never used this system suddenly has to step in?
3.     User knowledge - A user may be a skilled computer user but totally unskilled in this particular application. You don't want to treat an expert user as a novice nor do you want to treat every user as an expert.
4.     Mental abilities - It is stated that all systems should be "idiot proof". Too "idiot proof" can prevent a sophisticated user from making the best use out of the system.
5.     Physical skills - Most applications assume a normal human that can see, hear, has two arms etc. A vast number of people don't have these capabilities and the area of developing interfaces for the handicapped in a large area of research.

Having determined what interfaces are required based on your requirements document and the type of user that you will be designing the interface for, one must look at the different components of an HCI. There are the two basic components, that of getting information into an application and retrieving it from the application. Most decisions made by an application require more than a single piece of data however. A dialogue must be created between the application and the user in order to retrieve all the required information, in the correct order and format, and this is necessary to have the application fulfill its function.
DIALOGUE DESIGN
The intention of an HCI is to construct a mechanism so that a user can communicate with the desired application. A computer application is a tool and the HCI is the interface between the tool and the user. Most tools have interfaces of one form or another. For example, televisions, VCRs, telephones, etc. have HCI's. Common to these HCI's is the fact that the information is entered or retrieved in a specific format and sequence. The sequence of events by which a human and a computer communicate is known as a dialogue.

Dialogues occur in HCI's due to the fact that many decisions must be made. Breaks in the dialogue must occur at decision points. Once the task of determining the functionality that the system will possess through the Analysis and Specification phase is complete, the required dialogue must be mapped out. This task is best done visually via a flowchart. Figure 2.0 shows a simple Interface Structure Diagram for a library system.
In the diagram, the rectangles are nodes, which represent decision points or key entry or exit points in the dialogue. The arrows represent state transitions when the dialogue switches from one participant to the other. This can be the pressing of the Enter key, the clicking of a mouse button etc. They usually coincide with the completion of a specific function.

Research has shown that the best dialogues are created with the input from the actual user. The best designs are collaborative efforts between the HCI designer and the user. Prototyping is a key tool in this collaboration. If the user can actually sit at a terminal and use the dialogue, errors or improvements can quickly be found, faster than by the designer only who, in most cases, is not going to be the end user.

At this stage in the process, the basic structure of the dialogue is known. Even after the product is delivered to the end user, feedback on the HCI should be retrieved based on use and this feedback used to improve future versions. The next steps must be to begin to detail what occurs at the dialogue nodes. This deals with the specifics of how information is entered into the computer and how it is presented as output.

PRESENTATION DESIGN
 This section deals with determining what information should be used at what stages of the HCI. Presentation design deals with general principles of designing both input and output.

After the task of mapping the interface is complete, a number of input and output points in the process must be determined. These points coincide with events in the dialogue where information must be received by one party from the other in order to proceed. In general, the steps for determining these points and dealing with them are as follows:

1.     Identify all system inputs and outputs.
2.     Segment the dialogue specification into screens, overlays, windows, using closure events, such as the hitting of a key or the clicking of a mouse button, to determine boundaries.
3.     Identify user requirements and characteristics. Before designing your display, know your user. This will help in deciding how much help to give, how many prompts etc.
4.     Describe in detail the data that will be on each logical screen.
5.     Design screen structure beginning with a general layout and adding additional information as required.
6.     Test the screens with the users. Get their feedback and modify if necessary.

As a result of these steps it is possible to develop a concrete implementation of the required dialogue.

Data that is on a screen can be from several different categories.
1. Basic identification data must be part of every screen. What is the            application? What is the current screen? Who is the current user? 2.Application data is dependent upon the current functionality. What data is currently displayed? What data is required input?
3. Support data is intended to aid the user. This comes in the form of help screens, pulldown lists, prompts etc., all intended to make sure that the user is never in a position of not knowing what to do or what can be done.
4.Navigation data deals with questions like: How do you leave the application? How can you undo changes? How can you advance to the next screen?

 Also, the designer has to think about errors or extraordinary occurrences. What happens when the user enters invalid data? What can the user do when they aren't sure what to do? These are the types of questions that must be asked at this stage in the HCI design and development.

DATA ENTRY INERFACES
HCI dialogues require that two parties, namely the Human and the Computer communicate. At this stage the future dialogue has been determined and the method by which this dialogue will be implemented has been designed. Once it is determined what inputs are desired when, it remains to implement those input requirements. This section deals strictly with the input function. It mainly deals with the options the designer has and what best practices have been developed that he can utilize?

Many hardware devices exist for data input. Computers have keyboards and mice for data input, microphones for voice input, scanner for graphics input if desired, modem for input from fax, phone, and the Ethernet card, for input from the Internet, cable television, DVD etc. Other devices may include bar code readers, which are commonly used today in supermarkets, libraries, etc.

Primary methods of input are still the keyboard, mouse and increasingly, the microphone. The other devices listed tend to be secondary input devices in that the computer usually accesses them as the result of an instruction originally through one of the primary devices. Bar code readers can be the primary input devices, which initiate transactions on devices such as Automated Bank Tellers etc.

The keyboard is used to enter data into specific areas on a screen as the result of a response required from the computer. A key aspect of HCI is that the user knows what is required of him in regards to that response. This is done during screen design. As stated above, we know what the screen flow will be and what data we want on or from a specific screen. Improvements can be done to the screen to remove ambiguity and assist the user in understanding what is required from him.

Some guidelines that are commonly used to improve the screen layout and usage:

1.     Set defaults for commonly entered items.
2.     If codes and abbreviations are used, ensure that translations and interpretations are available.
3.     Automatically fill in previously entered fields or data that can be retrieved from a file.
4.     Use selection or pulldown lists if selections are from a previously determined set of options.
5.     If the input screen resembles an already used and accepted form, try to use the form as a model.
6.     Group like data. When data has a logical connection, place them on the same screen if possible without crowding. For example, all of a customer’s address information should be entered on a single screen.

A screen consists of fields that, when entered, are processed. Several types of processing are done, namely unit validation such as confirming that numeric values are only numbers, dates are valid etc., referential validation such as confirming that an entered customer number exists etc. Decisions must be made as to when the different types of processing takes place. Some general guidelines that are followed are:

1.            Explicit Enter. Referential validation only occurs when the user presses the enter key. Unit validation can occur when the focus leaves a specific field.
2.            Explicit Movement. If the user can have choices as to which field to enter next, force the user of the TAB or CR entries or reposition with the mouse.
3.            Explicit Cancel. If the user interrupts data input, do not erase it but leave it visible for consideration. Only upon validation should invalid data be removed.
4.            Explicit Delete. On any undoable transactions, force a confirmation. The user should also be warned of the undoability of the transaction so as to minimize any user error.
5.            Feedback. Make sure that the user can see what they've entered.
6.            Allow editing. While maintaining referential integrity, allow the user the ability to go back to previous data and modify.
7.            Provide Undo. As far as possible, allow the user to undo previously entered transactions or actions.
8.            Autoformat. Where there is a predefined required format, show that format on the screen or give the user the ability to determine that format.
9.            Show valid responses. When the input is from a predetermined list of entries, allow the user access to that list either through the use of a pulldown list, selection buttons etc.
10.       Let the user control. Let the user determine the rate of data entry. The designer cannot be assured that the application can handle all eventualities.

When designing a screen, it is essential to understand that a single screen consists of a number of different components. The following is a description of the user interface of Microsoft Word, which is used commonly for text processing. The top is the title bar that describes what the current application is. Beneath that is the menu bar which describes what the user can do. This consists of various options like File, Edit, Insert, Format, etc. Different options are clearly spelled out with a comprehensive help function available. Beneath that are tool bars that vary depending on what the user can do on the current screen. Where options must be chosen from a predefined list, such as for the font size and font name, a pulldown list gives all the options. Although this Word Processor has a relatively simple HCI it is sophisticated in the fact that the user controls the flow, has complete knowledge of what is expected and what options are available. Its basic features should be utilized in developing more complex applications.

DATA RETRIEVAL INTERFACES
Information can be retrieved from a computer in many ways. It is possible to read the output either on a screen or from a paper copy. It is also possible to have a voice synthesizer which will output the data through a speaker if the reader is vision impaired.

Other methods for retrieving information are: printers, plotters, signals to devices to start a device, stop a device etc., writing to storage devices. HCI deals mainly with screens, printed material, and audio. Similar principles apply to both screen and printed output as they are both visual. In other words, visual and audio are the two main HCI interfaces. The section on human physiology and psychology examined the capabilities and limitations of the human visual and audio senses. A successful HCI must adapt to these. The following guidelines should be considered when designing the Computer to Human component of an HCI.

1.            Group data in a logical manner. Data that can be associated and has a logical relationship should be easily obtainable from the users current position within the application.
2.            Order data according to meaning. People read from left to right. The most important information should be at the top left of a screen or report.
3.            Use lists. When the relationships and similarities between various data can be seen all within the same field of view the relationships can be assimilated easier.
4.            Use appropriate fonts and sizes. The user should not have to search a screen to find data because it's too small.
5.            Provide clear headings, titles and navigational information.
6.            Use colour to highlight important data. This can be error warnings or any other information that the application wishes to draw the users’ attention to.
7.            Use popup and dialog boxes for extraordinary situations. These can include errors but also one time date entries, logons etc.
8.            Where there are different conventions, show the convention currently in use. For example, the conventions used for expressing the date vary between places. If the expected date input format is YYYY/MM/DD, make sure that the user knows this.

When the designer has a chance to use graphics, they should take that opportunity. It is especially true with HCI that a picture is worth a thousand words. Data that is spatial in nature should be shown on a map. Graphs or pie charts should be used to represent statistical data. Ensure that any graphs are well labeled. All axes should be labeled with legends for all displays. It should also be ensured the scale is known. All key points should be labeled so that anyone using the graph can clearly see what is being represented.

The software engineering process is followed for the design of an HCI. As with any stage in systems design, the user must be involved early in the design process. Mockups and prototypes have clearly been proven as effective tools to improve HCI design and the sooner the end user gets a chance to comment on the product, the better the product will be.

CONCLUSIONS
This seminar attempts to give an introduction to the subject of designing and developing good Human Computer Interfaces. Understanding how the human perceives information and its capabilities and limitations is of prime importance in developing workable HCI's. Several proven methods were explored which should assist the HCI designer in determining what interfaces have to be developed and how to make them so that they assist the user in accomplishing the desired tasks.

The techniques that can be used from a computer perspective are changing quite rapidly. The fact that this field has undergone and will go through a lot of changes is reflected in the way computer technology has developed. Only some years back an HCI involved punch cards, paper tape and massive printouts. Today terminals, keyboards, mice, speakers, touchpads etc take up the main role. Twenty years from now it is possible to have highly advanced forms of 3D virtual reality displays and voice interpreters, all which are on the market now in a primitive way. Recent technology that enables transmission of the sense of touch is only an indication of the things to come. HCI will be an ongoing area of research for many years to come.

No comments:

Post a Comment