Whether you are integrating conceptual ideas into your pages (e.g., color or typographical principles) or specific elements (e.g., icons, buttons, forms), the development and integration should follow the pervasive usability procedure.
This requires understanding the utility of specific elements in relation to user tasks and needs, a method for developing quick and easy drafts of the ideas, a means for testing the true utility of specific elements, and a refinement and review process for the chosen elements. Following this approach will lead to a design that serves to effectively communicate the information and ideas intended.
The software development phase of the web site development cycle is the last chance to prevent usability problems prior to final testing. It is also a time when unforeseen issues can arise, often where they are not expected. Many potential pitfalls are technology specific and may change over time.
We focus on production issues that are likely to continue to cause problems irrespective of the current version of HTML standards.
Usability problems
Many of the usability problems that are created during the software development process related to the extra time it takes users to accomplish their tasks. Download time and system performance time continue to be among the top user complaints. Other issues are caused by server-side problems inconsistent development practices within a site, changes to a site over time (beyond the Version 1.0 release), and poor use of other non-HTML technologies.
There is not necessarily a one-to-one relationship between usability problems and solutions. In some cases, a single technique will address multiple problems. In other cases, multiple techniques are needed to address a single issue. This section discusses such problems. The next section discusses solutions.
Poor Response Time
Speed, speed, speed! Users can’t get enough of it. It seems that as soon as hardware and communication technologies speed up enough for acceptable performance, software developers create products that are bigger and slower. A rule of thumb from the early days of client-server systems was that system response times longer than a tenth of a second were noticeable to users and could adversely affect usability.
Even fast web pages today take several seconds to display and sometimes much longer. Overuse and misuse of graphics is a primary contributor to slow download time, as are poorly coded pages. Until technology allows us to achieve display speeds closer to a tenth of a second, users will continue to complain about speed.
Response time, however, is not just download time. It is a combination of data transfer time, server processing time, and browser-side display time. Often the real time-delay culprit isn’t just the transfer of page contents, but the processing time on the server side. Serving a static web page is a relatively simple task for a web server, but for more complex, dynamic pages, the web server may have to perform database queries, process credit card transactions, or request other services from legacy systems. Each server task contributes to the overall time.
Overloaded servers, slow database integration systems, and inefficiently coded server transactions all contribute to slow response time.
A third contributor to poor response time is the time it takes the web browser software to display a web page’s screen image. Overly complex or nested HTML, table code can add considerably to display time.
Unused size attributes for image tags can make progressively downloaded data unusable because the browser constantly shifts screen objects as new objects are loaded. This often makes it practically impossible for users to read any text that may have been displayed earlier.
Web Page Code Inconsistency
Another problem that can surface in production is that different pages written by different coders can be implemented in completely different ways. These differences can change the appearance slightly or dramatically, and can also affect how the page appears while downloading. For example, the decision to code using a single table, multiple tables, or no tables can have a noticeable effect on the final page and how it is presented to the user.
In addition, the use of different coding styles, over time, can become a nightmare for maintenance. The web site will change. That is a given. How much the changes will cost, however, is completely up to you.
For example, what if your client wanted to make a global change to the size of the buttons on the navigation bar? What would normally be a simple change completed in a matter of seconds from a consistent code base (e.g., one built from templates) could take hours for code written inconsistently by multiple people. Usability is also important for programmer productivity.
Platform Incompatibilities
Many usability problems stem from the ways different browsers, or even the same company’s browser implemented on a different computing platform, can interpret the same HTML or JavaScript code differently.
For example, JavaScript code that makes use of time and date functions requires separate functions for older versions of Netscape and Internet Explorer because the JavaScript routines were implemented with incompatible outputs. In addition, proprietary and nonstandard extensions of HTML and JavaScript are sometimes incompatible with various browsers and platforms.
Poor Use of Technology
Companies are always trying to find some technological edge to set themselves apart from the competition. The Web has provided such companies an endless supply of bleeding-edge technology with which to wreak usability havoc on hapless users. Early on we saw a proliferation of huge, beautiful graphics that served no other purpose than eye candy.
Then came animated GIFs, movies, Java applications, Flash, and so on. While each of these is very useful for some purposes, they are often used more for their name than for any useful purpose. For example, many companies are creating splashy Flash presentations in place of their home page because that’s the hot technology of the moment.
This type of design often requires users to download and install the latest plug-ins and requires that the user wait for an extra data file to download, sometimes without any way to bypass it (other than pressing the Back button).
Related to poorly used technology is proper technology that is poorly implemented. In addition to being compatible across platforms, an implementation must be sufficiently robust to handle common user behaviors and errors.
For example, what happens if the user clicks on a link before the web page is finished loading? If JavaScript or other hidden code has not be loaded, any calls to nonloaded JavaScript functions will fail, leaving the web browser and the user hanging.
Poor Product Documentation
Documentation is another often overlooked part of web site production. Whether the project will be maintained in-house or by the client, documentation is very important for using, maintaining and extending a web site. How will the system be used? How will it be updated and maintained?
A site that does not explain how users can most efficiently use it is a usability problem for the users. A site that is delivered without adequate documentation on how it can be best managed, maintained, and updated is a usability problem for the client.
Poor documentation of your own web site will, of course, become a usability problem for you and will likely cost much more in lost productivity than the cost of creating proper documentation.
Report This Post