《细节决定交互设计的成败》扫描版[PDF]
内容简介:
《细节决定交互设计的成败》是一本非常实用的有关软件界面的交互设计和可用性设计方面知识的书籍,通过采用一问一答的形式,你将会有针对性地学习到一些能够很快应用在自己软件开发工作中的细节知识和诀窍。例如,如何减轻用户的等待感,如何预防和减少用户的使用错误等。另外,你会发现阅读《细节决定交互设计的成败》时会非常轻松和愉悦;这是由于《细节决定交互设计的成败》写作上的两个特点:第一,采用较多日常生活中的例子来做比喻;第二,大量列举了一些实际软件的界面示例和屏幕截图。这些手法都使得读者能够更快、更好地提高交互设计的水平。
要想快速提高软件界面的可用性和用户使用体验,并不一定需要全面和系统地学习人机交互理论或认知心理学等的知识。实际上,通过掌握一些对于这些方面的常见问题的解决方法,以及注意细节的设计,你就能够快速而有效地实现以上目标。《细节决定交互设计的成败》适合于软件开发、测试人员及管理人员,计算机软件专业的师生,以及对于交互设计、可用性设计或用户体验设计感兴趣的其他领域的设计人员阅读。
目 录:
第1篇 易学易用篇
第1章 为什么要提高软件的易学性和易用性 2
第2章 如何使界面让用户“一看就懂” 5
2.1 采用比拟手法 5
2.1.1 比拟手法使用实例 6
2.1.2 使用比拟手法的局限性 11
2.1.3 使用比拟手法时应注意的问题 12
2.1.4 比拟手法小结 13
2.2 模型匹配原则 14
2.2.1 心理模型、实现模型和系统模型 14
2.2.2 软件产品中的系统模型和心理模型的匹配问题 16
2.2.3 从编程语言的发展来理解系统模型和心理模型的匹配原则 18
2.3 利用预设用途设计出能够表明其用法的界面 21
2.3.1 如何让用户知道当前可以用键盘输入文字 23
2.3.2 如何让用户知道某个区域是可以用鼠标单击的 23
2.3.3 如何让用户知道某个区域可以被拖拽 24
2.3.4 如何让用户看出应当采用鼠标双击操作 27
2.3.5 如何让用户看出应当使用鼠标滚轮操作 28
2.3.6 被动式预设用途 29
2.3.7 主动式预设用途表示法和被动式预设用途表示法的比较 32
2.4 一致性 35
2.5 自然匹配 38
2.5.1 操作控件的位置和它的作用之间的对应关系 39
2.5.2 操作控件的形状和它的作用之间的对应关系 42
2.5.3 操作控件的操作方式和它的作用之间的对应关系 44
2.5.4 操作空间的维度和结果状态改变的维度不符 47
2.6 关于比拟、预设用途以及一致性设计的深入讨论 51
第3章 如何使得软件“一学就会” 54
3.1 直接操控 55
3.2 如何帮助用户找到功能在哪里 63
3.2.1 就近原则 63
3.2.2 以对称的方法进行对称的操作 65
3.2.3 对功能进行恰当的分类和组织 69
3.2.4 让用户能够从界面上看到软件所提供的功能 71
第4章 如何帮助用户探索和尝试 79
4.1 把所有的功能和操作尽可能列在菜单系统中 80
4.2 让用户在执行某个操作前知道它的效果 80
4.3 让用户可以撤销动作 83
4.4 让用户可以把状态恢复到初始值 84
4.5 在执行具有破坏性的操作前要求用户确认 85
第5章 如何设计帮助系统 88
5.1 帮助系统的必要性 88
5.2 用户会在哪些情况下需要帮助信息 89
5.3 帮助系统应当提供哪些内容 91
5.3.1 入门指南或学习指南 91
5.3.2 操作指南或使用指南 93
5.3.3 故障排除 102
5.3.4 参考手册 107
5.3.5 术语解释 108
5.3.6 帮助系统中几个部分的对比 110
5.4 帮助系统中表达方式的选择 111
5.5 采用具体的例子帮助用户理解 112
5.6 帮助介质的选择:电子版还是书籍 113
第6章 如何设计一个优秀的向导式界面(Wizard) 116
6.1 尽可能展示出用户当前在整个向导过程中的位置 117
6.2 向导式界面的步骤个数以及每个步骤信息量的设置 119
6.3 避免显示无用的图片 120
6.4 在向导结束前,让用户确认输入的内容 121
第2篇 效率篇
第7章 如何帮助用户高效率地完成任务 126
7.1 支持批处理操作 127
7.2 支持宏命令操作 131
7.3 支持命令行方式 134
7.4 增加一个抽象层 135
7.5 提高常用操作的效率 137
7.6 赋予用户制造专用工具的能力 139
第8章 如何使得鼠标操作更高效 146
8.1 Fitts定律 146
8 2 Fitts定律在软件界面设计中的应用 147
8.2.1 缩短当前位置到目标区域的距离 148
8.2.2 增大目标大小以缩短定位时间 150
8.3 Fitts定律在Web页面设计中的应用 153
第9章 哪些功能应当由软件自动执行 156
9.1 防止用户忘记做某事 156
9.2 免去用户必须或很可能要执行的操作 159
9.3 帮助用户执行重复性和机械性的操作,提高用户的使用效率 161
9.4 免除用户不会使用的操作 164
9.5 自适应 165
第10章 如何使界面适应用户的使用习惯 167
10.1 被动调整策略 168
10.2 主动自适应调整策略 169
10.3 主动自适应调整策略的应用范围 171
10.4 主动自适应调整策略的实现 172
10.4.1 用户识别 172
10.4.2 搜集相关数据并据此分析用户的使用特点 172
10.4.3 对界面进行调整 173
10.5 主动自适应调整策略的优缺点 173
10.6 主动自适应调整策略的最新发展方向 174
10.6.1 根据其他用户的使用行为来主动地进行自适应调整 174
10.6.2 介于主动自适应和被动调整之间的混合策略 175
第3篇 错误处理篇
第11章 如何减少用户在使用软件时出现错误 178
11.1 让用户能有效地看出或知道如何正确操作 179
11.2 采用限制因素防止用户出现错误 180
11.3 减少混淆 183
11.4 利用反馈来让用户看到操作是否正确 185
11.5 用某种方式提醒用户有可能出错 189
11.6 降低灵活性 190
11.7 向用户提供工具,让他们自己设定限制因素以防止误操作 193
11.8 克服“模式”现象的影响 195
11.8.1 MSN的登录界面的设计 195
11.8.2 什么是界面中的模式现象 197
11.8.3 有害模式和无害模式 198
11.8.4 模式产生的根源及在产品设计中如何处理 201
第12章 如何设计出错信息 204
12.1 不要只告诉用户操作无法完成或操作失败 205
12.2 不要仅仅给出出错代码,还应当给出该错误
12.2 代码的含义 206
12.3 不要在出错信息中使用用户无法理解的术语 206
12.4 错误原因要尽可能明确 207
12.5 错误信息要具有建设性,要让用户看出怎样才是正确的 209
12.6 不要给出误导性的出错信息 213
12.7 向用户提出解决问题的建议 215
第4篇 交互细节篇
第13章 如何减少用户的等待感 220
13.1 使用某种反馈机制来让用户看到操作进行的进度和状态 220
13.2 让用户以渐进方式得到处理结果 223
13.3 让用户在等待的过程中有事可做,分散其注意力 225
13.4 减低用户的期望值 226
第14章 如何克服短时记忆局限性对于界面的影响 229
14.1 分块 231
14.2 由软件传送信息,消除用户记忆的必要性 234
14.3 让用户可以一直在屏幕上看到不容易记住的信息 238
第15章 如何减少人们在使用软件时的长时记忆负担 241
15.1 将需要记忆的信息在界面上显示出来,让用户看到 242
15.2 用识别代替记忆 243
15.3 利用用户已掌握的知识,不要求用户记忆新的东西 246
15.4 让计算机帮助用户找到那些难以记忆的内容 246
15.5 让用户自己帮助自己记忆 249
15.6 利用规律或规则来减少所需记忆的信息 250
第16章 如何充分利用屏幕空间来显示更多内容 253
16.1 自动分时复用,轮流或滚动显示 255
16.2 仅在鼠标悬停时显示窗口 256
16.3 利用下拉式控件减少对屏幕的占用 257
16.4 抽屉式界面 260
16.5 标签式界面 261
16.6 去掉毫无意义的图片 265
16.7 全屏幕显示 267
第17章 如何吸引用户的注意力 269
17.1 什么情况下需要吸引用户的注意力 270
17.2 使用视觉手段吸引用户的注意力 271
17.2.1 颜色 271
17.2.2 字体 273
17.2.3 显示位置 274
17.2.4 闪烁和动画 276
17.3 采用声音吸引用户的注意力 279
17.4 采用振动方式来吸引用户的注意力 280
第18章 响应时间多长才是合适的 282
18.1 用户的期望 282
18.1.1 用户对于产品的熟悉程度 283
18.1.2 影响忍耐性的其他用户特点 284
18.1.3 操作的频繁程度和重复性 284
18.2 产品使用环境的要求 285
18.3 软件的使用性质 286
18.4 用户是否等待某个操作的结果来继续进行其他事情 287
18.5 响应时间对于用户行为的影响 288
18.6 响应时间的定量分析 289
18.6.1 0.1秒 290
18.6.2 1秒 291
18.6.3 10秒 292
18.6.4 响应速度越快越好吗 297
第19章 如何更好和更有效地向用户输出信息 300
19.1 差异化 303
19.2 相对表示法 307
19.2.1 数量的相对表示法 307
19.2.2 时间的相对表示法 308
19.2.3 空间的相对表示法 311
19.3 形象思维与逻辑思维 312
19.4 根据信息的内在关系,选择恰当的组织形式 316
19.5 对信息进行适当的排序以方便用户查找 320
19.6 从多个角度进行显示 325
第5篇 方法篇
第20章 用户自身及其使用特点如何对界面设计产生影响 330
20.1 用户在生理和心理上的特点 331
20.1.1 视力 332
20.1.2 阅读和理解能力 333
20.1.3 手眼协调以及肌肉控制的精确度 333
20.1.4 辨色能力 334
20.1.5 性格特征和心理偏好 335
20.2 用户对于产品使用的熟练程度 336
20.2.1 大部分用户是初级用户 336
20.2.2 大部分用户是初级到中级用户 336
20.2.3 大部分用户是中级到高级用户 337
20.3 用户的领域知识 338
20.4 用户对于计算机操作的一般性知识 339
20.5 用户使用的频率 340
20.6 用户在进行输入操作时,输入信息的真正来源在哪里 340
20.7 用户使用软件或某个操作的目的是什么 341
20.8 用户在操作软件时的环境以及输入输出设备方面的限制因素 343
第21章 如何进行用户研究 349
21.1 用户访谈 350
21.2 问卷调查 350
21.3 观察用户 351
21.4 体验式研究 353
21.5 从技术支持人员那里获取用户信息 354
21.6 网上用户论坛 355
21.7 收集和研究用户的使用日志 355
第22章 如何制作原型 357
22.1 原型设计的作用和目的 358
22.1.1 交流设计方案 358
22.1.2 更早更有效地让用户参与进来 359
22.1.3 原型是对设计方案进行评估和改进的基础 359
22.1.4 降低开发成本 359
22.2 如何制作原型 359
22.2.1 纸面原型 360
22.2.2 用软件工具绘制静态的界面表示 361
22.2.3 使用快速应用开发工具来制作原型 361
22.2.4 使用Web应用开发工具来制作原型 362
22.2.5 基于Flash技术的原型 363
22.3 原型的保真度 363
22.4 如何得到一个好的最初原型 365
22.5 何时停止原型的改进与迭代过程 366
22.6 原型的局限性 366
第23章 如何进行可用性评估 368
23.1 认知走查(Cognitive Walkthrough) 370
23.1.1 认知走查前的准备工作 371
23.1.2 怎样在认知走查中发现可用性问题 371
23.1.3 认知走查法的局限性 375
23.2 启发式评估 375
23.3 可用性测试 376
23.3.1 招募测试用户 377
23.3.2 选择测试地点和记录方法 377
23.3.3 测试前的准备 377
23.3.4 测试过程 378
23.3.5 测试结束时的活动 378
23.3.6 事后的研究和分析 378
第24章 如何进行创新性的界面设计 380
24.1 巧妙地利用原先被浪费的空间和时间 380
24.2 解决矛盾的需求 383
24.3 使屏幕上原本只用于输出的区域也能接受输入,增强交互性 385
24.4 组合 385
24.5 通过去除某些维度上的功能来产生新的产品或使用方法 387
24.6 从非软件的产品或系统中寻找灵感 388
参考文献 389