Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
2,16 MB
Nội dung
CHAPTER 8 Rich Internet Applications
226
(CAROUSEL). By combining real-time aspects of data update with relevant
visual effects, RIAs tend to make webapplication interactions effi cient, effec-
tive, and pleasurable.
RICH-TEXT EDITOR
Problem
Information entered by users may benefi t from richer formatting, such as bold,
underline, italic, and bulleted list. In addition, the information may be better
presented using colors, tables, images, and hyperlinks. Although this can be
achieved with HTML, users cannot be expected to know HTML, and even if they
do, they cannot be expected to provide valid HTML. In some instances, allowing
users to directly enter HTML (or JavaScript) may lead to security breaches as well.
Solution
Allow users to enter information using rich-text editors with necessary controls
for formatting and inserting images and hypertext links ( Figure 8.1 ).
Why
Plain text can go only so far. In applications where information is targeted to
be used by others, such as email and blogs, it is important for users to empha-
size certain information by making it bold, underlined, italicized, or presented
with a different color. In some instances (e.g., blogs, job sites), it may also be
important to provide supporting information such as tables, images, and links
to other web pages. Although this is possible by allowing users to enter their
information in snippets of HTML, they cannot be expected to be familiar with
it. Allowing users to enter HTML may take more development effort to ensure
that user-entered HTML is valid and that it doesn’t break the presentation of
the rest of the page.
Rich-text editors, because of their WYSIWYG (What You See Is What You Get)
nature, are easier ways to format text and can be converted to HTML both for
storage and to allow users to see the effects of their selections immediately.
Moreover, rich-text editors are easy for users who are likely to be familiar with
similar interactions in offi ce-productivity applications such as Microsoft Offi ce,
Corel WordPerfect Suite, OpenOffi ce, and so forth.
FIGURE 8.1
Yahoo! Mail offers users a rich-text editor for composing emails. Note that it also
offers the option of inserting emoticons (i.e., “ smileys ” ).
227
How
Rich-text editors are typically used as part of a larger application and for spe-
cifi c data-entry tasks such as composing an email or creating a blog entry. So,
it’s important to show users the text-entry areas that can be formatted using
rich-text controls and the formatting options that are available (e.g., bold,
underline, italic, bulleted list, hyperlink, images, etc.).
OFFER USERS ALTERNATIVE TEXT INPUT OPTIONS
Some users may not want to use rich-text options. When feasible, offer alterna-
tive text-input options such as plain text or HTML. In email applications, for
example, consider providing a text option ( Figure 8.2 ). In blogs, on the other
hand, offer the option to enter HTML directly ( Figure 8.3 ). Ensure that user-
entered scripts (e.g., JavaScript) in HTML code are removed before saving the
information to prevent security breaches.
OFFER ONLY RELEVANT RICH-TEXT FORMATTING CONTROLS
It is not necessary to offer all possible controls to users, just those most users
are likely to use. For example, Gmail does not offer any controls for creating
Rich-Text Editor
FIGURE 8.2
Gmail offers users the option to switch the email text from rich text to plain text.
FIGURE 8.3
Blogger invites users to enter their posts in either rich-text or HTML format.
CHAPTER 8 Rich Internet Applications
228
tables when composing an email ( Figure 8.4 ). This does not mean that emails
using rich-text editors should never offer users the option to create tables, but
it is acceptable to restrict the set of rich-text controls.
ALLOW USERS TO ENLARGE THE TEXT-INPUT AREA
When users ’ text input is lengthy, viewing the composed text in the available
area may be diffi cult. In such cases, allow users to enlarge text-input areas and/
or preview messages before posting. For example, Gmail (see Figure 8.4 ) and
Yahoo! Mail (see Figure 8.1 ) both offer users the option to enlarge the text-
input area, which launches the editor in a separate window so it can be enlarged
as necessary ( Figure 8.5 ).
FIGURE 8.4
Gmail does not offer users any controls to create tables when composing an
email.
FIGURE 8.5
By launching the email editor in a separate window and allowing it to be resized
as necessary, Gmail offers users a way to view larger amounts of information.
229
Related design patterns
RICH-TEXT EDITORS are comparable to LIVE PREVIEW — both are WYSIWYG
tools. While RICH-TEXT EDITORS refl ect the effects of the changes, LIVE
PREVIEW allows users to view the effects of their confi guration choices on an
item or the interface itself.
RICH FORM
Problem
Some of the ineffi ciencies in fi lling out forms are caused by the need for users
to wait after submitting the form for it to be validated. Fixing validation errors
requires the form to be resubmitted and revalidated. In some instances, users
have to be asked to fi ll out forms in short chunks because the dependencies in
user choices can only be determined after the submitted form has been sub-
jected to necessary business rules — for example, offering users a choice for a
purchase order or credit card information based on their choice of billing.
Solution
In addition to patterns discussed in Chapter 2, such as FORGIVING FORMAT,
INPUT HINTS/PROMPTS, SMART DEFAULTS, and REQUIRED FIELD INDICA-
TORS, use interactive forms that validate users ’ input as it is entered, preventing
errors by offering users only valid choices. In addition, wherever possible, show
dependent or subordinate choices closer to the parent selection ( Figure 8.6 ).
Why
A non – rich form requires users to enter data and submit the form to the
server for validation or send bits of selections to the server to show dependent
choices. The user is then presented with either the “ success ” page or errors to
be corrected with an accompanying page refresh. Using a rich form not only
eliminates page refreshes but also can possibly prevent them altogether by
identifying errors at the source. Users also feel in control as errors and prompts
are now well integrated with the form.
How
Design the form so that user input is validated either as it is being entered or
when the user moves to the next form element (or the focus is removed from the
current form element). If the data input or selection is invalid, present appropri-
ate prompts or messages so that users can correct errors immediately ( Figure 8.7 ).
DESIGN THE FORM TO MINIMIZE ERRORS
Not only can rich forms validate user input as users are fi lling out the form,
they can also help minimize errors in the fi rst place. For example, as shown
in Figure 8.6 , the AUTOSUGGEST/AUTOCOMPLETION pattern can offer users
valid options while entering data; effective calendar controls can ensure valid
Rich Form
CHAPTER 8 Rich Internet Applications
230
(a)
(b)
FIGURE 8.6
Yahoo! FareChase uses a combination of RIA technologies to make this form
“ rich ” : (a) the AUTOCOMPLETE pattern for “ From ” and “ To ” fi elds, (b) showing only valid dates
for departure and arrival dates by disabling invalid dates, and (c) hiding the “ Return ” date when
users indicate a one-way fl ight.
(c)
date selections; and enabling or disabling appropriate controls as per user
selections can minimize incorrect data entry. Other common design elements
include “ drilldown ” approaches to ensure that users see only correct dependent
options ( Figure 8.8 ) and password strength meters to ensure that users select
secure passwords ( Figure 8.9 ).
231
Autosuggest/Autocompletion
FIGURE 8.7
When registering,
Picnik validates
information as soon
as it is entered.
Once validated,
form elements are
supplemented with
appropriate icons to
indicate if entered
information is valid.
FIGURE 8.8
As users select a
make, Kelly’s Blue
Book updates the “ All
Models ” dropdown
menu by offering
them only valid
choices.
FIGURE 8.9
As users enter passwords, a password strength meter rates the password from
weak to strong, enabling users to choose better passwords.
Related design patterns
As shown in the examples, richness in forms is achieved by patterns such as
AUTOSUGGEST/AUTOCOMPLETION as they respond to users ’ input to show
only valid choices to prevent errors. A SLIDER pattern (aiding user entry for
data ranges) and DELAY/PROGRESS INDICATORS (communicating progress
during user waiting periods) are also common with RICH FORMS.
AUTOSUGGEST/AUTOCOMPLETION
Problem
Because the total number of possible items at the outset is fairly large, present-
ing users a standard dropdown list is not feasible when users enter data such
CHAPTER 8 Rich Internet Applications
232
as dates, email addresses, search terms, and so forth. However, it is possible to
predict these data based on task context or partial user input. In addition, text
being entered may be lengthy or diffi cult to remember, making errors likely
and resulting in suboptimal user experience.
Solution
Suggest possible alternatives as users enter data and allow them to select one of
the suggested alternatives ( Figure 8.10 ).
Why
By suggesting matches and allowing users to select from a list, not only is the
interaction made more effi cient, since users can quickly focus on the correct
choice, but the potential for errors is minimized as well. Because recognition is
easier than recall , it is easier for users to recognize the correct syntax or format
of information from available choices than recall it — for example, it’s easier to
pick San Antonio (SAT) from a list of airports than to remember the code for it.
How
The user interface element for this pattern is a text box that allows free-form
data entry. As users type, they are shown a list of items (below the text box)
that closely match what has been typed so far. As users continue to type, the list
continues to narrow down until the desired item is suggested or no matching
items are found. In cases where related information is available for suggested
FIGURE 8.10
Google combines AUTOSUGGEST options with search results. As users enter a
term, they see a menu showing potential search terms along with the total number of matched
results. Users can click the desired suggestion in the menu or navigate to it using the up and
down arrow keys.
NOTE
For non-RIA applications, where potential choices for users are fi nite, users would typically
be offered a “ Select ” button next to the text fi eld. Clicking “ Select ” would open a pop-up
window (or take users to another page) to allow users to select the desired item from a
paginated or scrolling list; users may be offered a search mechanism as well.
233
items and could help users make a correct choice, include it as well. For exam-
ple, when entering an email address, show both the address and name ( Figure
8.11 ), or when entering the city in an air travel – reservation application, show
both the city and airport code ( Figure 8.12 ). Another example is to indicate the
total number of matches for a given search query, as done by Google Suggest
(see Figure 8.10 ).
ENABLE KEYBOARD ACCESS TO SELECT AN ITEM
IN THE SUGGESTED LIST
Asking users to take their hands off the keyboard and use the mouse to select
an item from the suggested list would be ineffi cient. Therefore, allow users to
navigate within the suggested list of items using the up and down arrow keys,
and select highlighted items using either the “ Enter ” or “ Tab ” key. For search
applications, the “ Enter ” key can take users directly to the search results page
and for web applications that have additional fi elds, move the focus to the next
logical form element.
HIGHLIGHT THE FIRST MATCH IN THE SUGGESTED LIST
Highlight the very fi rst match in the suggested list (see Figures 8.11 and 8.12 )
and allow users to select it by pressing the “ Tab ” or “ Enter ” key. The applica-
tion should then populate the text fi eld with the highlighted item. However,
it is important that users indicate their intent by pressing the “ Tab ” or “ Enter ”
key and that the application not infer users ’ intent and type the rest of the text
for them.
Autosuggest/Autocompletion
FIGURE 8.11
Yahoo! Mail shows both
matching names and
email addresses when
users enter a recipient’s
email address.
FIGURE 8.12
Kayak shows both city and airport codes when users specify departure and
arrival locations.
CHAPTER 8 Rich Internet Applications
234
Related design patterns
The AUTOSUGGEST/AUTOCOMPLETION pattern is typically used in RICH
FORMS and DYNAMIC QUERYING to restrict users ’ input to valid choices and
thus prevent errors.
EDIT-IN-PLACE
Problem
When users are creating or editing items with just a few properties (no more
than three or four), showing a pop-up window, or taking users to a separate
“ editor ” page makes the interaction ineffi cient. This is because users have to
launch the editor, make changes, save those changes, and wait for the page to
refresh to see updated information.
Solution
Allow users to create a new item or make changes to the properties of an exist-
ing item “ in place ” using a lightweight editor ( Figure 8.13 ). In some instances,
it is better to offer users the “ edit-in-place ” option only for editing a few chunks
of information of existing items but not for creating new items. For example,
in a bug-tracking application, changing an existing bug’s status is more suit-
able for edit-in-place, but creating a new bug entry may not be benefi cial with
(a)
FIGURE 8.13
When users hover over an editable to-do item, Basecamp shows “ Edit, ”
“ Delete, ” and “ Move ” options (a). When they click “ Edit, ” they are shown the to-do item editor
with the “ Save this item ” and “ Cancel ” options (b).
(b)
235
edit-in-place, since entering a bug requires entering several pieces of informa-
tion such as a brief title, description, steps to recreate the bug, and so forth.
Why
Allowing users to change an item’s properties in its original context, without
popping up a separate window or going to a new page, is a far easier way to
provide or change a few snippets of data. Requiring users to go to a separate
page makes the interaction discontinuous because users have to wait for the
editor to load and then switch their attention to a new context.
How
When users activate an edit feature, put the item in the “ edit ” mode by show-
ing its properties in editable fi elds (i.e., text boxes, dropdown buttons, or other
form controls as necessary). Users can then make necessary changes and either
save or cancel their changes to return to the “ read ” mode ( Figure 8.14 ).
If necessary, use more space for the “ edit ” mode. In addition, since being able
to edit text may be a new experience for web users, provide necessary prompts
or instructions to let users know how the feature works; providing instructions
and/or actions when users hover over an editable item is a common way to
inform users.
SELECT THE TEXT FOR ITEMS WITH ONLY ONE
EDITABLE PROPERTY
If the item being changed has only one editable property (e.g., name or title),
select the item’s text so that users can simply overwrite existing text ( Figure 8.15 ).
Related design patterns
When edited information is being saved, it’s often useful to show a DELAY/
PROGRESS INDICATOR to confi rm the “ save ” action’s progress. When using
Edit-In-Place
(a)
FIGURE 8.14
In Basecamp,
users can edit a
time-tracking item
in-line. When a
user clicks “ Edit ”
next to a list
item (a), the item
becomes editable
and “ Edit ” and
“ Delete ” options
are replaced
by “ Save ” and
“ Cancel ” (b).
(b)
[...]... Animations and transitions also have an aesthetic value that cannot be ignored They make web applications appear interactive and dynamic and contribute to the characterization of RIAs as “cool,” an attribute commonly lacking in traditional web applications, which are limited to relatively static images and layouts in their visual designs How For RIAs, use animation when page elements change appearance but not... item (Figure 8.23) Related design patterns As mentioned, the LIVE PREVIEW pattern is similar to the RICH-TEXT EDITOR pattern in that it attempts to provide a WYSIWYG view of users’ selections as they are made In addition, preview is useful when users are customizing the interface; CUSTOMIZATION is a relevant pattern as well (see Chapter 4) DRAG-AND-DROP Problem Traditional web applications require indirect... Drag-and-Drop Why In non-RIA web applications, moving or rearranging of data items typically requires taking users to another page, where the effects of the changes are not visible until the desired rearrangement is submitted to the server and the original page is updated to reflect the new order or layout Employing directmanipulation methods similar to those common in most desktop applications (e.g., deleting... Although such information can be included in the page design, the page may get cluttered as the number of form elements requiring such data input increase Solution Offer users a slider control specifying an acceptable range of values Users can then drag the slider(s) to set a value (Figure 8.30) or a range of values (Figure 8.31) Why For traditional web applications, because of a lack of native support... they want to keep, change, or discard their choices Also, by offering immediate feedback, live preview invites exploration not possible with traditional web applications, which require users to make selections, request a preview, and wait for the application to show the effects of their choices This is similar to the RICH-TEXT EDITOR pattern where users customize text in terms of color and formatting... progress bar when retrieving matching flight information (long delay) 251 252 CHAPTER 8 Rich Internet Applications Why Showing wait/progress indicators serves two purposes: 1 They let users know the application has received their request and is working on it 2 They keep users informed about where the application is in terms of processing the request Users can use this information to anticipate the amount... stock by letting them adjust the viewport size in the overview pane 237 238 CHAPTER 8 Rich Internet Applications scale in the detail pane For example, Google Finance allows users to change the viewport size so they can zoom in or out of the date range for the stock price–trend chart (see Figure 8.17) Related design patterns When zooming and panning the detail area or moving and/or resizing the viewport,... controls (i.e., sliders, checkboxes, radio buttons, and so forth) so that with each selection, they can see updated results without having to wait for the page to refresh (Figure 8.18) Why In traditional web applications, filtering requires users to make narrowing selections, submit them to the server, and wait to view the updated result set after a refresh With every filtering choice, users go through the... Spotlight/Yellow-Fade FIGURE 8.43 Picnik uses interesting progress bar messages (e.g., “Fluffing clouds” or “Sprinkling dew”) while loading the application For really long delays, show status information or other engaging content to shorten the perception of the delay (Figure 8.43) Related design patterns Processing delays, usually shorter ones, are quite common in DYNAMIC QUERYING and EDIT-IN-PLACE implementations... (Figure 8.45) 253 254 CHAPTER 8 Rich Internet Applications (a) (b) (c) FIGURE 8.44 When users return to a page with a recent change, the changed area is highlighted (a) After a few seconds it gradually fades out (b) to return to the normal background (c) The change is thus communicated to the user without cluttering the interface (Source: Linderman, 2004.) Related design patterns Use of the SPOTLIGHT/YELLOW-FADE . Rich Internet Applications
226
(CAROUSEL). By combining real-time aspects of data update with relevant
visual effects, RIAs tend to make web application. or “ Tab ” key. For search
applications, the “ Enter ” key can take users directly to the search results page
and for web applications that have additional