Usability and Forms
Introduction to Usability — What is Usability?
Usability is an often-used word that addresses the relationship between tools and their users. In order for a tool to be effective, it must allow intended users to accomplish their tasks in the best way possible. The same principle applies to computers, websites, and other software. In order for these systems to work, their users must be able to employ them effectively. Usually, a usability expert works with an organization to review the design of a site. Often, the review is done very late in the process which is not optimal and tends to drive the programmers crazy because they find they have wasted a lot of time implementing code that is not going to be usable after all. In the case of The Ocean Project's website (one used for Project 2 in class in 2009), we used both consultants and our board of directors to advise as to the usability of the site. Then, we watched the Web use analytics for use and page flow to see if how they said they were going to use the site was congruent with how they actually were using it. More or less, there was some alignment which is not always the case (based on my experience).
What makes a website or piece of software usable?
Usability depends on a number of factors including how well the functionality fits user needs, how well the flow through the application fits user tasks, and how well the response of the application fits user expectations. We can learn to be better user interface designers by learning design principles and design guidelines. But even the most insightful designer can only create a highly-usable system through a process that involves getting information from people who actually use the system. Usability is the quality of a system that makes it easy to learn, easy to use, easy to remember, error tolerant, and subjectively pleasing.
Why is Usability Important?
From the user's perspective usability is important because it can make the difference between performing a task accurately and completely or not, and enjoying the process or being frustrated. From the developer's perspective usability is important because it can mean the difference between the success or failure of a system. From a management point of view, software with poor usability can reduce the productivity of the workforce to a level of performance worse than without the system. In all cases, lack of usability can cost time and effort, and can greatly determine the success or failure of a system. Given a choice, people will tend to buy systems that are more user-friendly.
How Do You Achieve a High Level of Usability?
The key principle for maximizing usability is to employ iterative design, which progressively refines the design through evaluation from the early stages of design. The evaluation steps enable the designers and developers to incorporate user and client feedback until the system reaches an acceptable level of usability.
The preferred method for ensuring usability is to test actual users on a working system. Achieving a high level of usability requires focusing design efforts on the intended end-user of the system. There are many ways to determine who the primary users are, how they work, and what tasks they must accomplish. However, clients' schedules and budgets can sometimes prevent this ideal approach. Some alternative methods include user testing on system prototypes, a usability inspection conducted by experts, and cognitive modeling.
Where is Usability Applied?
Usability is one of the focuses of the field of Human-Computer Interaction. As the name suggests, usability has to do with bridging the gap between people and machines. A user interface (or human-computer interface) refers to the parts of a hardware and/or software system that allow a person to communicate with it. This includes output devices (the way the computer talks to a user) and input devices (the way a user talks to the computer). Typical "output devices" include computer monitors and the windowing systems that run on them, but also include speakers and other devices that provide feedback. "Input devices" include peripherals like keyboards, mice, and joysticks, but also include microphones and even eye movement devices. Each of these interface components has devices corresponding to the visual (sight), aural (sound), and haptic (touch) channels of the brain. Usability engineering studies these elements of the user's experience.
This forms tutorial comes to us mainly thanks to our friends at www.tizag.com.
Forms are a vital tool for any webmaster to use to receive information from the Web surfer, including such basic information as: their name, email address, credit card, etc. A form will take input from the page visitor and, depending on your needs, let you store that data into a file, place an order via a database, gather organized user statistics, register the person to your Web forum, or perhaps subscribe them to your weekly newsletter.
Before we teach you how to make a complete form, let's start out with the basics of forms. Input fields are the main controls with which a Web visitor enters information for submittal back to a website. The <input> tag has a few attributes that you should be aware of:
<form method="post" action="mailto:email@example.com"> Name: <input type="text" size="10" maxlength="40" name="name"> <br /> Password: <input type="password" size="10" maxlength="10" name="password">
Input Fields accept information as seen here:
Do not use the HTML password feature and think you have handled all your security concerns. The data entered in a password field is not encrypted and is not secure in any way. But, it does prohibit someone watching over your shoulder to see what you have typed by just watching a screen.
HTML Form Email
Now we will add the submit functionality to your form. Generally, the submit button should be the last item of your form and have its name attribute set to "Send" or "Submit". The Name attribute defines what the label of the button will be. In addition to adding the submit button within your form, we must also add a destination for this information so it can be sent using the Web and specify how we want it to travel to that place. Adding the following attributes to your <form> open tag will do just this:
<form method="post" action="mailto:firstname.lastname@example.org"> Name: <input type="text" size="10" maxlength="40" name="name"> <br /> Password: <input type="password" size="10" maxlength="10" name="password"><br />
Email Forms work as follows:
Simply change the e-mail address to your own and you will have set up your first functional form (if you have registered a basic e-mail form with your Web browser)!
HTML Radio Buttons
Radio buttons are a popular form of interaction. You may have seen them on quizzes, questionnaires, and other websites that give the user a multiple choice question. Radio button groups only allow you to choose one option per group (or set). Below are a couple attributes you should know that relate to the radio button.
<form method="post" action="mailto:email@example.com"> What kind of shirt are you wearing? <br /> Shade:
Radio Buttons work as follows:
If you change the email address to your own and "Email Myself" then you should get an email with "shade=(choice) size=(choice)".
HTML Check Boxes
Check boxes allow for multiple items to be selected for a certain group of choices. The check box's name and value attributes behave the same as a radio button.
<form method="post" action="mailto:firstname.lastname@example.org"> Select your favorite cartoon characters. <input type="checkbox" name="toon" value="Goofy">Goofy <input type="checkbox" name="toon" value="Donald">Donald <input type="checkbox" name="toon" value="Bugs">Bugs Bunny <input type="checkbox" name="toon" value="Scoob">Scooby Doo <input type="submit" value="Email Myself"> </form>
Check Boxes work as follows:
HTML Drop Down Lists
Drop down menues are created with the <select> and <option> tags. <select> is the list itself and each <option> is an available choice for the user (the options are nested within the <select> and </select> tags).
<form method="post" action="mailto:email@example.com"> College Degree? <select name="degree"> <option>Choose One</option> <option>Some High School</option> <option>High School Degree</option> <option>Some College</option> <option>Bachelor's Degree</option> <option>Doctorate</option> <input type="submit" value="Email Yourself"> </select> </form>
Drop Down Lists work as follows:
HTML Selection Forms
Yet another type of form, a highlighted selection list. This form will post what the user highlights. Basically just another type of way to get input from the user.
The size attribute selects how many options will be shown at once before needing to scroll, and the selected option tells the browser which choice to select by default.
<form method="post" action="mailto:firstname.lastname@example.org"> Musical Taste <select multiple name="music" size="4"> <option value="emo" selected>Emo</option> <option value="metal/rock" >Metal/Rock</option> <option value="hiphop" >Hip Hop</option> <option value="ska" >Ska</option> <option value="jazz" >Jazz</option> <option value="country" >Country</option> <option value="classical" >Classical</option> <option value="alternative" >Alternative</option> <option value="oldies" >Oldies</option> <option value="techno" >Techno</option> </select> <input type="submit" value="Email Yourself"> </form>
Selection Boxes (also called scroll lists) work as follows:
HTML Upload Forms
An upload form consists of three basic parts. The first being a hidden field. This hidden field does nothing more than limit the allowed file size of our uploaded file. The second part is the input field itself. In this field, the user has the option to type in the full local URL of the file or he/she may click the browse button to thumb through directory after directory. HTML codes this automatically when we place the type="file" attribute within the input tag.
<input type="hidden" name="MAX_FILE_SIZE" value="100" /> <input name="file" type="file" />
Upload Forms work as follows:
HTML Text Areas
Text areas serve as an input field for viewers to place their own comments onto. Forums and the like use text areas to post what you type onto their site using scripts. For this form, the text area is used as a way to write comments to somebody.
Rows and columns need to be specified as attributes to the <textarea> tag. Rows are roughly 12pixels high, the same as in word programs and the value of the columns reflects how many characters wide the text area will be. i.e. The example below shows a text area 5 rows tall and 20 characters wide. Another attribute to be aware of is the wrap. Wrap has 3 values.
Virtual means that the viewer will see the words wrapping as they type their comments, but when the page is submitted to you, the web host, the document sent will not have wrapping words.
<form method="post" action="mailto:email@example.com"> <textarea rows="5" cols="20" wrap="physical" name="comments"> Enter Comments Here </textarea> <input type="submit" value="Email Yourself"> </form>
Text Areas work as follows:
Also note that any text placed between the opening and closing textarea tags will show up inside the text area when the browser views it.Tips