Introduction
Lists are common in web applications for displaying a collection of items. However, the approach used to present lists depends on the nature of items in the collection. A SIMPLE LIST is typically used to present a collection of items with only one or two attributes. It may be used for multiattribute items, if additional attributes are not going to be referenced by users for comparing or sorting. Presenting multiattribute items for which sorting and comparing are important is best accomplished using a TABULAR LIST.
When list items need to show a parent–child relationship, a HIERARCHICAL LIST is most appropriate. Items in a hierarchical list often revert to a TABULAR LIST when restored as a parent–child relationship may no longer be appropriate with the changed order of the list items.
An EVENTS LIST and TIMELINES are used for lists containing items with time-based information. EVENTS LIST are appropriate when showing future events and TIMELINES are suitable for showing historical events.
With increasing multimedia content, textual lists are giving way to IMAGE LISTS/GRIDS, where items are shown as image thumbnails. Images are now being considered even for items that have traditionally been shown as textual lists—especially for search results. With geographical map information being easily accessible through open application programming interfaces (APIs), map-based interaction is becoming commonplace and item lists with geographical (or spatial) attributes are often complemented by MAPS.
In web applications, users do not simply view list items but take actions either on individual items (e.g., edit, remove, copy, etc.) or on multiple items (e.g., compare, move, delete, etc.). These LIST ACTIONS affect items in one or more ways. There are a set of actions, however, that do not change the items and, instead, facilitate sharing, printing, and analysis by exporting data in other formats (LIST UTILITY FUNCTIONS).
Simple List
Problem
Users need to be presented with a list of items with one to a few attributes, and each item could be associated with one or more actions. In addition, the items to be presented do not need to be sorted or compared on any of the attributes.
Solution
Show users a simple list of items with associated actions (
Figure 7.1).
Why
Users’ familiarity with lists makes it a very effective design approach to present a set of items, especially when items are primarily text based and have basic actions associated with them. For example, lists are commonly used on dashboards and portals (see
Chapter 4), where users are shown a list of items such as to-dos, top referrer web sites, most popular products, and so forth (
Few, 2006). Users can then click on a list item to navigate to view its details.
How
Show simple lists as either numbered or nonnumbered lists. Numbered lists are especially useful when numbers represent the item's rank order, such as in the top 10 movies of the week or the top 10 news stories (
Figure 7.2).
Consider using icons or other symbols with nonnumbered lists to improve the list's visual impact or to indicate the type of item. In addition, lists may use alternate shades of background color or a line separator to improve readability of closely spaced list items (
Figure 7.3).
Although most simple lists show items with only one or two attributes, some lists may contain more. For example, search results often show page title, a brief description, web site address, and other information in a simple list format. When users do not need to sort the multiattribute list and compare items of those attributes, using a simple list is often a better alternative than a
TABULAR LIST (see the next pattern). However, when showing simple lists with multiple attributes, facilitate quick scanning by making the most important attribute in the list salient and by placing it before other attributes (
Figure 7.4).
CONSIDER SHOWING SECONDARY ACTIONS ON HOVER
Items in simple lists may have one or more actions associated with them. To minimize visual clutter, limit actions that are visible for each list item by showing additional actions on-hover (
Figure 7.5).
Related design patterns
Although a simple list may be acceptable for showing items with multiple attributes, consider a TABULAR LIST if the list needs to be sorted or list items compared based on one or more of the attributes and as a way to minimize the space required for multiattribute lists.
Tabular List
Problem
Users need to be presented a collection of items with several attributes so that they can clearly associate each item with its attributes as well as compare items to each other based on those attributes. In addition, they may want to sort the list based on one or more attributes.
Solution
Show users the list in a tabular format, where items are listed in rows and their attributes are shown in columns (
Figure 7.6).
Why
Multiattribute information is best presented in tables because it provides structure to data. For example, column headers can identify the attributes for items presented in rows. In addition, presenting information in a tabular format makes it easy for users to compare items and, when supported, sort them in the desired order. Most important, users’ familiarity with tabular arrangement of data into rows and columns makes it a useful approach to present multiattribute data.
How
Tabular data are generally read in rows with items in rows and attribute values in columns. Show attribute names in the table headers, unless they are implied by the data. For effective design, it's important that the table design
match its intended use rather than relying on users to do additional analysis (
Figure 7.7).
MAKE TABULAR DATA READABLE BOTH BY ROWS AND COLUMNS
The readability of tabular data is affected by the readability of rows as well as columns. Improve the readability of rows by either adding a separator line for each row or using a different shade of color for alternate rows, known as
row striping or
zebra striping (
Figure 7.8). Both approaches help create a visual grouping of items for rows and are particularly important for data tables with many columns (or wide columns), where users may find tracing data in each row difficult. A study by
Enders (2008) concluded that zebra striping led to better task performance (at least not worse) and had a higher preference when compared with other table styles such as plain, lined, two-color row striping, double striped, and triple striped.
In addition, improve the readability of columns by aligning attribute values in columns based on table cell contents (
Figure 7.9). Follow these rules to align data (
Galitz, 2002;
Mayhew, 1992):
• Use right alignment for columns containing whole numbers (not “text” numbers such as a person's identifier).
• Use a decimal point and right alignment for numbers with decimal fractions; negative numbers may be shown in red and or enclosed within parentheses.
• Use left alignment for columns that contain text (including date and time).
• Use center alignment for columns that contain short words or status information (e.g., active, inactive).
An important exception is when numbers in a column do not share the same unit of measure, in which case use left alignment so that users do not compare the numbers.
ALLOW USERS TO SORT DATA COLUMNS
Sorting long data lists by columns helps users find desired items quickly and analyze them for specific types or statuses. Like its desktop counterpart, a common interaction approach for sorting tabular data is to let users click a column heading to sort by that column (
Figure 7.10) and a second click to reverse the sort order (ascending or descending).
Indicate the column attribute by which the tabular data are sorted by placing an arrow icon next to the corresponding column heading to indicate whether data are sorted in an ascending (up arrow) or descending (down arrow) order. Sorting the data by columns and showing a sort indicator by default also suggests to users that the table can be sorted.
Sorting by column headings is appropriate when all possible ways users might sort data are available in columns. In instances where this is not possible, show sort options explicitly either as a dropdown list or a set of links (
Figure 7.11).
For applications that require multiple levels of sorting (e.g., reporting), provide the functionality separately, where users can select more than one level of sorting, and for each sort can indicate if sorting should be ascending or descending (
Figure 7.12). For multilevel sorting, three levels are usually sufficient.
ALLOW USERS TO FILTER LARGE LISTS
Filters help users narrow a large number of items in a list to a manageable set. If narrowing options are attributes contained in the list and users are likely to narrow down by only one of them at a time, filters may be embedded in the tabular list itself (
Figure 7.13).
On the other hand, if not all of the filtering options are available in the list and users are likely to filter by more than one option at a time, show filtering options separately above the list (
Figure 7.14).
In addition, consider a matrix view when data can be filtered by row and column attributes individually and combined (
Figure 7.15).
ALLOW USERS TO SEE ALTERNATE VIEWS OF TABULAR DATA
Offer alternative views of tabular data when they help users understand data better and/or make it easier for them to find desired items. For example, when viewing reports on e-commerce applications, it's common to allow users to switch between textual and graphical views (
Figure 7.16 and
Figure 7.17).
IMPROVE THE ACCESSIBILITY OF TABULAR DATA
Improve the accessibility of tabular information by including the following in the HTML markup (see also the ACCESSIBLE TABLES pattern in
Chapter 11):
1. Describe the table's content using the <CAPTION> tag and the <SUMMARY> attribute. Within the <CAPTION> tag, include a short title describing the table's content. Unlike the <CAPTION> tag, the content of which is visible to users, the content within the SUMMARY attribute is not rendered on the page but provides a more detailed description of the table's content to those using alternate browsers.
2. Describe the relationship between column or row headings and the corresponding data by using the SCOPE attribute in the <TH> tag, which helps users establish context for the table's data.
Related design patterns
Most large lists need to be filtered; see the FILTERING pattern in
Chapter 6 and the DYNAMIC QUERYING pattern in
Chapter 8 for the choices available to designers for narrowing large lists. Large lists also typically cannot show all items on the same page, so PAGINATION is often an integral part of tabular lists; consider CONTINUOUS SCROLLING as an option as well (see
Chapter 6).
Image Lists/Grids
Problem
Items presented to users are visual in nature, and presenting them using only their textual description may make it difficult for users to recognize and locate desired items. In addition, users may be able to recognize an item by its image but may be unfamiliar with the item's name.
Solution
Show users items as image grids or image lists rather than a textual list. However, complement images with a textual description (
Figure 7.33).
Why
A picture is worth a thousand words. –A proverb
Humans are able to recognize and recall images better than words (Paivio et al., 1968). Therefore, when showing multimedia content, such as photos, movies, music, and so forth, it's easier for users to scan and find the desired item when all items are presented as images rather than just in a textual list. The advantage of images over textual information—commonly referred to as Picture Superiority Effect (
Lidwell et al., 2003)—is particularly evident in situations where users may have been casually exposed to the image before or know what the “prototypical” image they are searching for looks like. For example, if users are looking for a photo, an artist, an album, or a video that they have seen before or remember one or more elements of, it'd be faster for them to find it using images rather than text. Because memory for images and text together is generally better than text or images by themselves, consider
complementing images with textual description (
Childers and Houston, 1984;
Paivio et al., 1968).
In the early days of the Web, bandwidth was a limiting factor, and the focus was on sharing textual information. With broadband becoming commonplace, user interaction is changing, as users are not only viewing and uploading photos, music, and videos, but also sharing them. This has made the use of image lists quite commonplace.
How
Facilitate the quick scanning of items by showing item thumbnails in an image grid. Like other lists, consider providing users with necessary list pagination, sorting, and filtering options (
Figure 7.34; see also the PAGINATION, SORTING, and FILTERING patterns in
Chapter 6).
When space is limited, image lists may be implemented using the CAROUSEL pattern, where users are shown fewer items at a time, but they can use navigation controls to view images hidden from their view (
Figure 7.35; see also the CAROUSEL pattern in
Chapter 8).
SHOW USERS A PREVIEW OF THE IMAGES
When thumbnails are used to represent actual images, consider showing users a preview of the larger image on hover to minimize unnecessary navigation (
Figure 7.36).
Image previews can also be integrated when an image list is part of a slideshow. Although the detailed image does not require navigating to another page, showing a preview makes it easy for users to distinguish between similar images, especially when thumbnails are relatively small in size (
Figure 7.37).
EXPLORE USING AN IMAGES LIST AS AN ALTERNATIVE FOR OTHER INTERACTIONS
Increasingly, interaction with the Web is becoming visual. The assumption is that users would be more efficient and effective in their interaction if they can
view (or preview) content before navigating. Newer search engines have started exploring use of images to show search results (
Figure 7.38 and
Figure 7.39).
Related design patterns
Unlike lists, especially tabular lists, which can be quite compact, image lists/grids usually require more space. When screen space is limited, consider using the CAROUSEL pattern to accommodate more items (see
Chapter 8).
MAPS
Problem
Items to be presented to users contain spatial information that refers to either geographical (e.g., location of restaurants on a map) or physical locations (e.g., seating in an aircraft, a concert hall, or a stadium). In addition, for users, it's important to know the item's location in a geographical or physical space as well as its relation to other items in the same space.
Solution
Show items on either the map of a region or space in question (
Figure 7.40).
Why
Because users are presented with spatial information, showing them on a map of the physical space eliminates the need for users to visualize its location. It also makes information more meaningful and relevant to user goals, such as finding a location, navigating to and from a location, and relating data to the targeted region.
How
Maps are typically used as a background image on which geographical, physical, and statistical information are superimposed. Depending on users’ needs, maps may be represented as illustrations (using points, lines, and polygons), photographic or satellite images, text, or a combination (
Figure 7.41).
SHOW DETAILED INFORMATION ON DEMAND
When showing several locations on a map, providing details of all of them at the same time could clutter the map and may make it difficult for users to parse relevant information. In addition, users may be interested in seeing details of only a few locations. To minimize complexity, a common approach is to provide users necessary details when they hover over or click on map markers. Detailed information is usually presented as hover tips or pop-ups.
Hover tips are typically used when details are not extensive, are purely informational in nature, and do not require users to take an action on the presented information, whereas, pop-ups are used when users can take actions such as find directions (
Figure 7.42). Another alternative is to show the pop-up after a few seconds' delay to support relatively new users who may not know what actions are available on the map markers (e.g., Microsoft's Live Maps).
FOR LARGE MAPS, PROVIDE USERS CONTEXT BY SHOWING OVERVIEWS
When panning and zooming large maps, it is important that users do not feel lost and are able to maintain their sense of location. Overviews within the map help provide such context (
Figure 7.43). Most map overviews support panning within them, allowing users to move the “region” box inside the overview, thus affecting the map being viewed.
Some map overviews support zooming as well. However, using overviews for panning and zooming is generally not as efficient as panning and zooming on the main map (Hornbæk et al., 2002) (see also the OVERVIEW-PLUS-DETAIL pattern in
Chapter 8).
CONSIDER USE OF SYMBOLS FOR SHOWING LOCATION TYPES
Maps may have to show more than one type of location—for example, a map may show restaurants, gas stations, lodging facilities, and so forth. Use one or more of the following approaches to indicate different location types:
Colors and shapes. Use of distinct colors and shapes is helpful when showing two to three location types on the map. Include a legend so that users can associate colors and shapes to location types. In addition, to not disadvantage users with color vision deficiencies, colored markers must be used in combination with a unique shapes.
Pictographic symbols. Use recognizable pictographic symbols use to identify types of locations such as restaurants, restrooms, gas stations, trail symbols, and so forth (
Figure 7.44).
Although not used to indicate a location type per se, using thumbnails of actual photographs to identify a location is becoming a popular way to indicate a location on a map (
Figure 7.45).
COMPLEMENT MAP VIEWS WITH A LIST, OR TABULAR VIEW, OF ITEMS
Although a map view is useful for showing location information, the location itself may have other attributes that are better represented in a list format. In addition, when users are interested in comparing attributes of items other than their location, tabular lists are more useful—for example, when comparing prices of homes shown on a map. Enable such comparison by offering users a list view of items in addition to the map view (
Figure 7.46; see also TABULAR LISTS pattern earlier in this chapter).
For data with just a few attributes, it may help to show the list and map views side by side to make it easy for users to either select a location from the list and see it on a map or select a location on the map and see it on the list with all its attributes (
Figure 7.47).
USE MAPS TO SHOW STATUS INFORMATION
Maps are also useful for showing status information on dashboards. For example, ShipCompliant for Six88 uses the U.S. map to show wineries their shipping compliance information to wineries (
Figure 7.48).
USE MAPS TO SHOW REAL-TIME INFORMATION ABOUT MOVING OBJECTS
Maps may also be used to show real-time information about the location of objects in transit (e.g., trucks, trains, airplanes, and so forth). Once equipped
with global positioning system (GPS) devices, an object's current position can be overlaid on the map to show its current location. This is useful for tracking locations of a fleet or figuring out the current location of a train, for example (
Figure 7.49).
Related design patterns
Large maps typically don't fit within the available screen space and often use the OVERVIEW-PLUS-DETAIL pattern to allow users to maintain their context. In addition, maps use DRAG-AND-DROP for panning. See
Chapter 8 for more information.
List Utility Functions
Problem
Certain actions users might take do not require them to select specific items but rather apply to the list as a whole—for example, printing, downloading, emailing, and so forth.
Solution
Similar to dedicated functions, show utility functions, such as email, export, and so forth, outside the item list (
Figure 7.61).
Why
The list view as shown may not be sufficient for users’ needs. They may want to use information in their own analysis using their own tools. In addition, they may want to share information with others who may not have direct access to the data. Utility functions can help users in performing such analyses and facilitate sharing.
How
First, distinguish utility functions from shared list actions. Because utility functions apply to the list as a whole and not individual items, it's important they be shown outside the list and are presented separately from the shared list actions. The latter requires selecting items from the list, whereas the former does not.
The most common export/download formats include Adobe PDF, Excel, CSV (comma-separated values), TSV (tab-separated values), and XML (eXtensible Markup Language), because they allow users to import data to a preferred spreadsheet or database application and manipulate or view the data as necessary. The XML data format is also useful when data may be used as input to other applications and/or converted to other formats such as HTML (HyperText Markup Language) or SVG (Scalable Vector Graphics) for presentation purposes. Adobe PDF is useful when it's important to maintain the visual look of data being exported.
Another commonly used utility function is “Print.” This may be implemented as simply a “printer-friendly” version of the page that users can print on standard printers, by removing banners, advertisements, navigation, and other branding information and resizing it to fit. Resizing the page for printing is particularly important with FIXED-WIDTH LAYOUTS (see
Chapter 12), which may cut off text on the right when pages are printed in a portrait layout mode (instead of landscape). When printing lists, it may help to ask users if they want to include details in the printed report (
Figure 7.62).
SHOW USERS A PAGE PREVIEW BEFORE PRINTING
Because it may not be clear to users what they are printing, show users a preview and offer a print action (
Figure 7.63).
FOR REPETITIVE ACTIONS, ALLOW USERS TO SET UP ALERTS AND/OR SCHEDULES
If a utility function is likely to be repeated in the future or on a regular basis (e.g., email), allow users to either set up an alert or schedule the function to repeat at regular intervals (
Figure 7.64).
Related design patterns
List utility functions are similar to list actions and require users to be shown appropriate acknowledgment messages after successful task completion.