CHAPTER 4

Data Input: Lists

As discussed in Chapter 3, data-centric web applications generally have two views: lists of objects, and the objects themselves (objects are also called “forms,” “records,” and “rows,” depending on the context).

Users of these kinds of applications generally start from lists, selecting and opening individual objects they wish to examine or change. When they’re done with the objects, they close them and return to the list view.

If this seems too broad a statement—you fill in forms all the time and you never start from a list—keep in mind that as a user of a public site (an e-commerce site, a government agency, or even an automatic teller machine) you won’t see the list view. Only the people at the company managing the site’s database will see the entire set of forms, of which yours will be just one instance. From your point of view, there is only one form, but from the organization’s point of view, there is a list and many forms.

You can find these types of lists in web applications:

• A simple list of objects filtered, searched for, or selected from the database.

• List or tree (hierarchical list) on the left, an individual object on the right (with additional variations).

• A picture on the left and an individual object on the right.

This chapter describes the three types of lists, as well as methods for selecting, opening, and changing objects using each type.

A Simple List

Simple lists are good for showing the contents of a database, either the entire database or filtered so that only certain records appear. However, their main purpose is to let users see, open, and change objects. The column headings are database field names, which usually have to be modified to be understandable by users. The rows are individual objects.

In addition to the lists, list screens usually contain embedded filters or search options that people use to control their views of large databases. These tools appear at the bottom on the screen in Figure 4-1, but they often appear at the top. The correct placement depends on your users’ task flow: Filter first, study the records later? Or look at the records first, then change the view? For more on search and filter options, see Chapter 5, “Data Retrieval: Search,” and Chapter 6, “Data Retrieval: Filtering and Browsing,”

image

FIGURE 4-1 A simple list with a filter area at the bottom.1

Simple lists are also used as ad hoc reports. See Chapter 7, “Data Output: Reports,” for details.

List on the Left, Object on the Right

Many web applications use a hybrid window, part list and part object. The list, in a frame on the left, can be a straightforward set of objects or a tree (hierarchical list). The object area on the right can contain an object, a list of objects, or even a program or action area.

Use Split Windows for Navigation as Well as for Lists

The left-hand list can be a navigation device as well as a set of items. For example, the tree in Figure 4-2 shows various parts of a database management system, from “Connection” information to “Management,” “Security,” “Tools,” and “Preferences.” Users can move through the system by opening and closing the branches of the tree and clicking items. Once they find what they want, then they can turn their attention to the object area.

image

FIGURE 4-2 The database hierarchy (left) is the navigation for the window.2

In this example, “Tables” is selected on the left and the tables in the system are listed at the right in the object (or detail) area. Users can click the buttons in the rows to change the tables. So if a user clicks the “Structure” button on the “Account” table, the structure definition frame replaces the “Tables” list (Figure 4-3).

image

FIGURE 4-3 The Account table opens so that you can make structural changes.

Consider Heterogeneous Windows

The hybrid list+object windows described earlier are perfect for power users such as system administrators or database managers. These users like to have everything in one place, even when the various items are very different. For example, being able to run a wizard (Figure 4-4) from the same window as they use to restructure databases would probably not disconcert them.

image

FIGURE 4-4 You can run programs from the same navigation frame.3

However, keep in mind that they can be difficult for casual or inexperienced users to understand or get used to. Check users’ workflows and test for usability before you try heterogeneous windows. They may seem too messy for some people; the wrong activities may be bundled together; and functionality may be too hidden.

Use Lists for Parts of an Object

The left-hand list can be all navigation, listing parts of one complex object rather than many different objects. For example, in Figure 4-5, the tree on the left shows sections of a single mortgage application, from the basic applicant information and the good-faith estimates to the Fannie Mae report.

image

FIGURE 4-5 The tree shows the structure of the individual record.4

Note that this is a different sort of list+object strategy than the ones described above, since the entire window is one object. The list of all objects would be managed on a different window.

Consider Using Pictures

Some data-input jobs entail setting up pieces of equipment—for example, entering the IP addresses and other local characteristics of a server.

When the user is working with physical equipment, consider using a photo or schematic of that piece of equipment instead of a text list (Figure 4-6).

image

FIGURE 4-6 Hotspots on photo used to open object information.

Note that graphs, diagrams, and geographic maps are actually lists, but they show the objects as icons or shapes rather than as rows of text. Visualization is a very powerful tool in troubleshooting, analysis, and decisionmaking situations—for more information, see the chapters on graphs, diagrams, and maps later in this book.

Potential Problems with the List-Object Strategy

Besides being confusing to some users, splitting the browser window into list and object can bring up other issues.

• If the list is very long, users will want to search and filter it, the same as they would search and filter a simple list. However, there won’t be much room for search or filter entry areas inside the frame.

• A tree with many children and children of children will become very wide and long. To maintain context, people will be forced to close earlier sections and/or scroll horizontally in the tree frame. See Figure 4-7.

image

FIGURE 4-7 Trees can quickly become too (from Macromedia Dreamweaver).

• Databases intersect other databases, and users may have trouble sorting out what they want from day to day: “Do I want to see where Ms. Jones fits in the department? Or do I want to see where she fits in the context of the business units?”

There are no clear solutions to these three and other, as-yet-unidentified, problems. However, the first might be resolved by letting users turn the object frame on and off—in other words, if the users need to find a particular record or set of records, they toggle the object area off and show the list with an extended set of search or filter fields.

A solution to the second might be to transform the whole window into a more graphical representation. For example, if the tree contains equipment, with parts inside parts inside parts, consider switching to a picture or schematic of the piece of equipment. The relationships would become concrete wide Dreamweaver). rather than abstract. Although the visual version might not be as compact as the text version, it would probably be easier to understand. Again, you might provide a toggle between the tree and graphic versions.

A solution to the third might be a “visual pivot,” as described by Robertson, et al. (2002, pp. 423–430). In this experimental strategy, the user picks a item of interest and then pivots or turns from one database to another via a metadirectory. The metadirectory provides a common interface to all of the relevant databases and the interface provides a visual metaphor (an animation) for the intellectual movement from one direction to another. See Figure 4-8 for one shot from the animation.

image

FIGURE 4-8 Pivoting from a management to a business-unit hierarchy around pivot point “Andrew Dixon.”

How to Select the Right List-Object Strategy

With all these options, how do you know which strategy to use? Here are some guidelines:

• Use a simple list when all of the objects are basically the same and when users would be uncomfortable with anything more complicated.

• Use hierarchical trees when there are hierarchical relationships between objects—for example, “This building contains these businesses, and this business contains these people,” and so on.

• Use pictures or graphics when the information is associated with a real-life object like a piece of equipment or with well-understood visual representations like geographical maps.

• Use a list style of navigation for heterogeneous mixes of data tables, settings, and applications, all of which are related to a particular task (managing servers, for example).

• Use trees or lists to navigate through complex objects that are broken into many pages.

Be sure, however, to test your ideas with users before committing to one strategy over another. In fact, consider providing different strategies for the same window for different audiences: simple, separate list and object windows for occasional or nontechnical users and a tree hierarchy mixing data, settings windows, and applications for power users. The key is to pick the type of list that makes the most sense to the people who are going to use your system.

How to Select and Open Objects from Lists

In desktop applications, there are at least three methods for opening a record from a list. Users can click on the record and select Open from a menu; they can click it and press Enter; and they can double-click it. The result is a second window containing the details for that particular record.

On web sites, however, this selection style has been replaced. First of all, unless you’re using a development platform like Java, there is no double-click (although your developers might be able to capture and code an “Open” action for double-clicks; it’s worth asking). Second, users generally can’t click-select an entire row to open a record. Instead, users click links inside the row itself. For instance, in the Hotmail examples, Figures 4-9 and 4-10, users click the underlined “From” name to open the records, which in these cases are the email messages themselves.

image

FIGURE 4-9 Link to object.5

image

FIGURE 4-10 The object from the link.

In some systems, the rows comprise more than one object, and for these, clicking a link opens only one part of the row. For example, in Figure 4-11, system administrators can look either at the overall topology (“Fabric Name” column) or individual switches by clicking the underlined links (“Switches” column).

image

FIGURE 4-11 Multiple drill-down options in a row.6

To select an entire heterogeneous row requires a different method—usually a column of checkboxes at the beginning of the rows, described next.

Selecting Multiple Rows

As well as providing a way to select heterogeneous rows, checkboxes let users act on a set of records as a group-for example, delete them, assign them to someone, change their statuses, or set them aside (flag them) to work on later. In Figure 4-9, for example, you can select the entire list by clicking the topmost checkbox and then click Delete, Block, Mark as Unread, or Put in Folder … to act on all the rows at once. (Note that you can have a column of radio buttons, too, but they restrict users to one selection per list.)

Another reason to have multiselect checkboxes is to manage network traffic better. Experienced web application designers say that it’s too time-consuming and uses too many network resources to update web-based records one by one. Instead, they recommend a three-step process.

1. The user makes changes (the types of changes can vary).

2. The user selects all records that have been changed.

3. The user explicitly selects an “Update all on the server now” option to post all of the changes at once.

You can design the system so that users will be able to post changes in batch without selecting individual rows. However, if they don’t mark the ones they’ve changed, the system has to compare each record on the list to its original in the database to see if there were any changes. This is very inefficient from a systems point of view. It is not more efficient from a user’s point of view, however, who is likely to complain about being forced to mark each record he or she wants to change. If you want to use this type of design, consider automatically turning on checkboxes for all of the records that the users touch and letting them turn off the ones they decide they don’t want to change after all.

Here are things to consider when designing multiple-selection for lists:

List size. The size of the list affects what users can do without overwhelming the system. For example, changing one setting for 200 records might not be a problem. Recalculating fees for the same 200 records might tie up the system for hours. Consider warning users about the time factor or let them schedule batch changes for off-hours.

Toggle for selecting and deselecting all. Some lists have a button at the top of the checkbox column that lets users toggle between selecting and deselecting all items on the list. Users can then change selection status for individual rows if they need to.

Multiple pages. If the list is longer than a page, do you remember the user’s selections from page to page?

The meaning of select all. If you have 500 items on a list, say, but show only 50 at a time and the user selects all, does that mean the program will apply the action to only the visible 50 or to all 500?

To decide on the right answers, you will have to check the users’ workflows.

How to Change Objects from Lists

In a system like the one shown in Figure 4-1, users have to select a row and then click the View Detail button if they want to see or change the object’s details. However, experienced users may want to change records directly, right on the list, rather than open a separate form for each one. They may also want to change settings for groups of records simultaneously. Figure 4-12 is a good example of this second strategy. Users can change certain object details right on the list itself without opening the object. For example, they can click one of the

image

FIGURE 4-12 Making changes on the list.7

Actions buttons (in the third column) to open a popup. If the popup allows changes, they can make their changes and save them as they close the popup, thereby updating the entire object.

Here are the advantages of this strategy.

• You don’t “go” anywhere—you stay on the home window and dip in and out of individual records as you need to.

• You can build validation into the popups and dropdowns and handle most of the error checking in small, easily digested bites.

• Using a list lets you change one or two fields in many records at the same time. For example, say you want to assign a dozen sales leads to one sales representative. You check off all the records you want to go to that representative, select his or her name from a dropdown list or other control above the list, and then click “Assign.” Poof, all done.

How to Show Actions

To show actions, use buttons, dropdown lists, toolbar equivalents, and tabs.

Buttons: Use buttons, not links to indicate an action. To most people underlined links mean “more information,” not “do something.”

Dropdown lists: Use dropdown lists to change settings or select pieces of information, such as state names and titles.

Toolbars: Although web content areas don’t have toolbars in the desktop sense—the real toolbar belongs to the browser—designers often create a visual toolbar along the top of the content area. If you use this method, try to restrict the buttons to actions that affect the content as a whole.

Tabs: Use tabs to divide information between pages and to provide a virtual task flow. For more information, see Chapter 3, Data Input: Forms.

Also consider these issues.

Look at the interactions between actions. A system can allow more than one action on groups of records. However, some actions—for example, “delete” and just about any other action—are mutually exclusive.

Divide primary from secondary actions. Complex systems often allow dozens of actions. To avoid overwhelming users, restrict the visible set to the actions they use most often. Secondary actions can be hidden under a “More …” button like the one in Figure 4-13 or on a dropdown list.

Where to Put the Actions

Put actions affecting multiple rows—in Figure 4-13, “Remove,” “Show Paths,” and so on—above the list.

image

FIGURE 4-13 A set of actions with a More… button.8

Embed actions in the rows when the actions can be taken only, or primarily, on the individual rows—see the “Actions” column in Figure 4-14, for example.

image

FIGURE 4-14 Actions embedded in the rows (see Actions column).9

Put tools in the cells themselves whenever possible—see Figure 4-15.

image

FIGURE 4-15 Cells with embedded tools: calendar and dropdown lists.

Put window-level buttons (like Save and Continue) on the top and the bottom of the window. People often drop to the bottom of a window, even if the same buttons are visible at the top, out of habit—buttons in most desktop applications appear at the bottom.

Use Popups for Secondary Data

One of the problems with changing data directly on a list is that users can’t always tell whether they’ve changed the entire record or only some small part of it or—perhaps more importantly—whether they’ve canceled all changes to the record or only to a piece of it.

You can clarify matters by popping up a box whenever users ask to change information (Figure 4-16). This box has the traditional Save (or OK) and Cancel operations. When the user closes it, the changes should appear in the original row (perhaps by marking the row as changed), thereby providing both good feedback and a clear interaction.

image

FIGURE 4-16 Popup used to collect secondary information.10


1from “MediCoder Standard,” © 2003 by Software Technics, U.K., http://www.meddra.co.uk/ MedDRA%20Browser.htm (accessed 2 November 2003).

2Figures 4-2 and 4-3 from “myLittleAdmin (for SQL Server and MSDE)” demo, © 2003 by Elian Chrebor, myLittleTools.net, http://www.mylittletools.net/livedemo/mla_sql/ (accessed 2 November 2003).

3From “myLittleAdmin (for SQL Server and MSDE)” demo, © 2003 by Elian Chrebor, myLittleTools.net, http://www.mylittletools.net/livedemo/mla_sql/ (accessed 2 November 2003).

4From “Eclipse System, Loan Registration,” © 2003 by Palisades Technology Partners (accessed 28 October 2003).

5Figures 4-9 and 4-10 from Hotmail, © 2003 by Microsoft Corporation, http://hotmail.com (accessed 2 November 2003).

6Clip from Sun StorEdge Enterprise Storage Manager 1.0 Topology Reporter Administration and Operations Guide, © 2002 Sun Microsystems, Inc.

7From “Windchill-PDMLink,” © Parametric Technology Corporation, http://www.ptc.com/ products/windchill/pdmlink/image_gallery.htm (accessed 2 October 2002).

8Clip from Sun StorEdge Enterprise Storage Manager 1.0 Topology Reporter Administration and Operations Guide, © 2002 Sun Microsystems, Inc.

9From “Windchill-PDMLink,” © Parametric Technology Corporation, http://www.ptc.com/ products/windchill/pdmlink/image_gallery.htm (accessed 2 October 2002).

10From “Eclipse System, Loan Registration,” © 2003 by Palisades Technology Partners (accessed 28 October 2003).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.157.128