Web Application Design Patterns (Interactive Technologies)

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book is well organized. It contains useful information from a user advocate and graphic artist perspective (much of it is just common sense). It is not at all what I expected. I am disappointed; I was misled by the title. As an application developer - when I think of design patterns, I think of relationships and interactions between classes and objects in the code (i.e. Factory Pattern, Decorator Pattern, Observer Pattern, etc). The 'Security' and 'User Authentication' topics in this book are all about how it looks on the page. This book is about UI design. The title does not fit with the content - in my opinion. If a web application were a car - this book would be all about paint jobs. There is nothing 'under the hood'. It has nice pictures but has little to offer in terms of content for a serious application developer.

Author(s): Pawan Vora
Series: Interactive Technologies
Publisher: Morgan Kaufmann
Year: 2009

Language: English
Pages: 436

Ease of access......Page 1
“Trained” user base......Page 4
“Loosely coupled” web architecture......Page 5
Inconsistent interaction approaches......Page 6
Design Patterns......Page 9
Documenting Patterns......Page 10
Organization of the Patterns in this Book......Page 11
Companion Website......Page 14
Introduction......Page 15
Why......Page 16
Explain the Benefits before Leading Users to the Form......Page 17
Problem......Page 18
Solution......Page 19
How......Page 20
Related design patterns......Page 21
How......Page 22
Solution......Page 24
Why......Page 25
Use Embedded Labels Sparingly......Page 26
Why......Page 27
How......Page 28
Do Not Indicate Optional Fields......Page 29
Why......Page 30
Do Not use Default Values for Sensitive Information......Page 31
Problem......Page 32
Related design patterns......Page 33
Solution......Page 34
How......Page 35
Related design patterns......Page 36
How......Page 37
Match Text Field Sizes to the Expected Data......Page 39
How......Page 40
Label Buttons Clearly and Concisely......Page 42
Disable the Action Button after the First Click......Page 43
Eliminate Reset Buttons......Page 44
How......Page 45
Retain User-Entered Information......Page 46
Related design patterns......Page 48
Problem......Page 49
How......Page 50
Use CAPTCHA to Ensure Registration by Humans......Page 51
Clearly Indicate Registration Benefits......Page 53
Consider Using “Unified Registration” Services......Page 54
Allay Users’ Privacy Concerns......Page 56
Return Users to the Next Logical Step in the Interaction Sequence......Page 57
Solution......Page 58
Allow Users to Change the CAPTCHA Image......Page 59
Offer Auditory CAPTCHA to Make Applications Accessible......Page 60
Why......Page 61
Offer Users an Option to Register......Page 63
Consider a two-step Login for Higher Security......Page 64
Consider Allowing the Use of “Universal Login” Services......Page 65
Remember Login Information......Page 66
Related design patterns......Page 68
Why......Page 69
Use Labels Consistently......Page 70
Why......Page 71
Save Users’ Information......Page 73
Why......Page 74
Send Passwords to Registered Email Address......Page 75
Confirm User Identity with Security Questions......Page 76
Related design patterns......Page 77
Introduction......Page 78
Why......Page 79
Problem......Page 80
How......Page 81
Highlight items that need attention......Page 82
Solution......Page 83
How......Page 85
Match exception conditions to users’ tasks......Page 86
Display all required information on one screen......Page 87
Allow users to transfer or share data......Page 88
Problem......Page 89
Why......Page 90
How......Page 91
Allow users to customize portal’s appearance......Page 92
Solution......Page 93
Explicit personalization......Page 94
Implicit personalization......Page 95
Problem......Page 97
Solution......Page 99
Why......Page 100
Content-Level customization......Page 101
Appearance customization......Page 102
Minimize customization choices during registration......Page 103
Related design patterns......Page 104
How......Page 105
Offer users relevant tutorials or demos......Page 106
Related design patterns......Page 108
Introduction......Page 109
Why......Page 110
How......Page 111
Highlight the Selected Navigation Option......Page 112
Establish A Correct Information “Scent” Through Effective Labeling......Page 113
How......Page 115
Why......Page 118
Related design patterns......Page 119
Problem......Page 120
Solution......Page 121
Keep Users Informed of their Selections......Page 122
Related design patterns......Page 123
How......Page 124
Indexes......Page 125
Problem......Page 126
Why......Page 127
How......Page 129
Related design patterns......Page 130
How......Page 131
Separate Each Item in the Breadcrumbs Trail by a Symbol......Page 132
Design Breadcrumbs to be Lower in the Page’s Visual Hierarchy......Page 133
Solution......Page 134
How......Page 135
Begin with an Overview Page for very Infrequently Used Wizards......Page 137
Remove Unnecessary Links and Buttons in the Wizard......Page 138
Allow Users to Save Information and Return to Where They Left Off......Page 139
Related design patterns......Page 140
Introduction......Page 141
Why......Page 142
Set the Search Scope......Page 143
Use Familiar Labels for the Search Button......Page 145
Support Complex Searches within the Simple Search Field......Page 146
Why......Page 147
Related design patterns......Page 148
Solution......Page 149
How......Page 150
Allow Users to Return to the Basic Search Page......Page 151
Why......Page 153
Include Examples of Appropriate Search Queries......Page 154
Why......Page 155
Make Search Terms Case-Insensitive......Page 156
Consider Alternate Views for Presenting Search Results......Page 157
Group Search Results......Page 158
Suggest Alternatives When a Search Yields no Results......Page 161
Solution......Page 162
Why......Page 163
Make Pagination Controls Easily Clickable......Page 165
Allow Users to Navigate Directly to the First Page of Search Results......Page 166
Label Pagination Controls Appropriately......Page 167
Solution......Page 168
Indicate to Users the Subset of Items they are Viewing......Page 169
Why......Page 170
Related design patterns......Page 171
Why......Page 172
How......Page 173
Solution......Page 174
Make it easy for users to rerun their searches......Page 175
Related design patterns......Page 178
Introduction......Page 179
How......Page 180
Consider Showing Secondary Actions on Hover......Page 182
How......Page 183
Make Tabular Data Readable Both by Rows and Columns......Page 184
Allow Users to Sort Data Columns......Page 186
Allow Users To Filter Large Lists......Page 187
Related design patterns......Page 188
Problem......Page 189
Why......Page 190
Be careful When Allowing Users to Delete Parent Items......Page 191
Related design patterns......Page 192
Problem......Page 193
How......Page 194
Allow Users to switch between Calendar and list views......Page 195
Problem......Page 196
Why......Page 197
Allow Users to Access Event Details......Page 198
Why......Page 200
Show Users a Preview of the Images......Page 201
Explore Using an Images list as an Alternative for other Interactions......Page 202
Related design patterns......Page 203
Solution......Page 204
For Large Maps, Provide Users Context by Showing Overviews......Page 205
Consider Use of Symbols for Showing Location Types......Page 207
Use Maps to Show Real-Time Information About Moving Objects......Page 208
Related design patterns......Page 209
Solution......Page 210
Why......Page 211
Highlight the Row Corresponding to the Selected Item......Page 212
For Long Lists, Repeat Shared Actions......Page 213
For Multiselect Lists, Allow Users to Select (Unselect) All Items......Page 214
Show Confirmation and Acknowledgment Messages as Appropriate......Page 215
Related design patterns......Page 217
How......Page 218
Show Users a Page Preview Before Printing......Page 219
Related design patterns......Page 221
Introduction......Page 222
Why......Page 223
Offer only Relevant Rich-Text Formatting Controls......Page 224
Allow Users to Enlarge the Text-Input Area......Page 225
Design the Form to Minimize Errors......Page 226
Problem......Page 228
How......Page 229
Highlight the First Match in the Suggested List......Page 230
Solution......Page 231
Related design patterns......Page 232
Why......Page 233
How......Page 234
Why......Page 235
Problem......Page 236
Consider Showing Multiple views of the Customized Item......Page 237
Problem......Page 238
Solution......Page 239
How......Page 240
Offer Necessary Affordance for Drag-and-Drop Areas......Page 241
Why......Page 242
How......Page 243
Problem......Page 244
How......Page 245
Use Transitions when Introducing or Removing Content on a Page......Page 246
Play Animations Briefly......Page 247
Solution......Page 248
How......Page 249
How......Page 250
Related design patterns......Page 251
Inform Users of the Presence, or Absence, of Additional Items......Page 252
The “back” button problem......Page 253
The bookmarking problem......Page 255
Introduction......Page 256
Allow Users to Copy Files From Other Online Sources......Page 257
Allow Users to Remove Selected Content Files for Upload......Page 258
Confirm Successful Upload of Content Files......Page 259
Why......Page 260
How......Page 261
Suggest Tags to Minimize Variability......Page 262
Allow Users to Change and Delete their Tags......Page 263
Why......Page 264
How......Page 265
Anchor the Ratings......Page 266
Allow Users to Rate an Item Using Multiple Criteria......Page 267
Related design patterns......Page 268
How......Page 269
Related design patterns......Page 270
Why......Page 271
Allow Users to “Unvote”......Page 272
Allow Voting to Be Initiated from Another Site......Page 273
Why......Page 274
How......Page 275
Let Users Build their Profiles Gradually......Page 276
Allow Users to Make all or Part of their Information Private......Page 277
Allow Users to Use Pseudonyms and Avatars......Page 278
Related design patterns......Page 279
Why......Page 280
Offer Users a Quick Way to Judge a Review’s Usefulness......Page 281
On Competitive Sites, Show Users’ Ranks......Page 282
Consider Incorporating Peer Recommendations......Page 283
Allow Discovery of Friends by Email Address Books......Page 284
Allow Users to “Follow” Others......Page 286
Related design patterns......Page 287
How......Page 288
Related design patterns......Page 289
Why......Page 290
How......Page 291
Show Users their Friends’ Groups......Page 292
Create Communities to Invite Ideas and Suggestions......Page 293
To Facilitate Chats, Show Friends’ Online Status......Page 294
Related design patterns......Page 295
Problem......Page 296
Allow Users to Indicate their Activity Status......Page 297
Why......Page 298
Allow Users to Share Content Via Email......Page 299
Allow Users to Post Content on Other Sites......Page 300
Allow Content to be Embeddable......Page 301
Solution......Page 302
Facilitate Scheduling......Page 303
Allow Additional Modes of Interaction......Page 305
Allow Users to Manage Revisions......Page 306
Related design patterns......Page 307
Introduction......Page 308
Why......Page 309
Use the UTF-8 encoding format for web pages......Page 310
Allow for text expansion......Page 311
Design messages to accommodate variable text......Page 313
Avoid embedding text in images......Page 315
Use culture-neutral images......Page 316
Use plain language......Page 317
Why......Page 318
Consider users’ locale preferences when showing dates......Page 319
Related design patterns......Page 320
How......Page 321
Related design patterns......Page 322
How......Page 323
Show phone numbers in familiar formats......Page 324
Solution......Page 326
Related design patterns......Page 327
Solution......Page 329
How......Page 330
Solution......Page 331
Do not use flags to represent languages......Page 332
Remember users’ language choice......Page 334
Related design patterns......Page 335
Introduction......Page 336
How......Page 338
Solution......Page 339
Structure documents using headings and lists......Page 340
Do not use style sheets to simulate structural markup......Page 341
How......Page 342
Allow user style sheets to override author style sheets......Page 343
Keep page markup and JavaScript separate......Page 344
Do not use dropdown lists to initiate navigation or form submission......Page 345
Use