首页>参考读物>计算机科学与技术>计算机网络

GUI设计禁忌
作者 : (美)Jeff Johnson
译者 : 王蔓 刘耀明 等
出版日期 : 2005-03-23
ISBN : 7-111-15666-8
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 434
开本 : 16开
原书名 : GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers
原出版社: China Machine Press
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书描述了软件开发人员在设计图形用户界面(GUI)时经常犯的“禁忌”,并提出如何避免出现这些禁忌的基本原则和理论依据。本书作者在设计、评价以及测试软件产品用户界面等方面工作了20多年,有丰富的实践经验,他把GUI禁忌分为七种类型:GUI组件、布局和外观、文字、交互、Web、响应以及管理,并分别进行了描述。书中还通过两个实例说明了各种GUI禁忌以及如何避免。
  本书编排独特,针对性极强,是不可多得的GUI设计优秀资源。本书适合软件工程师、Web站点设计人员、开发过程经理、质量保证专家、产品易用性专家等阅读。

图书特色

图书前言

为什么需要本书
  纵观软件业的发展,软件工程师在开发用户界面时很少得到(甚至没有得到)专业用户界面设计人员的支持和指导。例如,有些软件是由独立自由程序员开发出来的,而这些程序员或者缺乏用户界面设计的培训,或者缺乏同经过此类培训的人员的交流,而他们开发出来的软件又可能卖给拥有此类软件市场的公司。甚至某些相当大的组织进行软件开发时,可能组织内也没有具备用户界面专门技巧的开发人员。某些公司也许会有几个用户界面专家,但是并不能满足需要用户界面设计技术的所有开发项目的需要。
  在软件产品市场上,在受软件控制的设备中,在在线服务中充满了技术卓越而用户界面低劣的程序。此类程序延缓了整个软件行业的成功步伐。
  作为一个用户界面咨询顾问,我经常在开发过程的后期被叫来评审或者测试那些不太具备用户界面设计经验的开发者开发出来的软件。此类软件一般都充满了设计错误。这些错误中的绝大部分都是非常常见的错误,而这些错误在公司之间甚至在公司内部的项目中不停地发生。
  一个客户公司程序员曾经告诉我,“您是我们UI方面的救火队员”,他指的是我那次对一个C语言的Unix工具程序进行的检查中找出了常见的编程错误。对于一个大型纠错活动来说,这么多客户公司希望雇用我是为了让我作为一个“过滤器”来排除用户界面设计错误。
  为了减少常见错误的发生,并减少我为客户检查用户界面的次数,我一直建议程序员去阅读一本或者多本来自于人机交互(Human-Computer Interaction, HCI)社区有关设计和评估用户界面的书,例如Shneiderman[1987],Nielsen[1993],Weinshenk等[1997],以及Bickford[1997]。这些建议通常被忽视了,因为绝大多数此类书籍要么对于程序员来说太学术化了,要么是面向有经验的用户界面专家而写的。
  甚至那些阅读了推荐书籍并且理解了其中一般设计指南的少数程序员也仍然继续犯着许多相同的常见错误。看起来问题的原因是这些书籍中提供的指南太抽象了。这就使得程序员非常容易合理地违反抽象的指南:“是的,我理解这条规则,但是现在情况是不同的。现在的情况是一种并没有被那些规则覆盖到的情况。”或者他们也许会说:“我也许曲解了这条规则,但是我是有足够理由的。”
  另外一个问题是,正如我所知道的一个GUI程序员所说的那样:“绝大多数的程序员相信自己是一个UI专家。”毕竟,程序员使用计算机比绝大多数人都多得多,因此他们也会更了解用户界面。他们自以为有着这种优势,并且由于他们可能已经设计过一些用户界面,因此就认为自己已经成为用户界面设计者了。
  因为这些问题的存在,我已经发现,在为客户公司进行咨询服务并与开发人员一起工作的时候,指出他们曾经犯过的错误并且解释为什么那些是错误是有效的。 类似地,在培训开发人员以便减少将来出现相似的设计错误时,我已经发现关注常见设计错误并且为之制定设计规则是有效的。换句话说,向GUI开发人员显示他们经常犯的错误,并且提供避免此类错误的规则。同时能够提供构成这些设计准则基础的一些原则也是非常重要的,这样开发人员就能够举一反三,而不是拘泥于某个示例。
  这种经历表明了一本关注设计错误并且指出如何避免的书籍也许比以前许多用户界面设计书籍更有效,或者至少对于这些书籍是一个有用的补充。因此,本书按照与设计指南相反的方式进行结构组织:先列出一类常见错误;然后描述如何避免它。
  并不是所有损害产品和服务易用性的错误都是由实现用户界面的程序员造成的。许多软件开发组织的管理层也会犯错误,这种错误对所开发的产品或者服务的用户界面有负面影响。而且,这些管理错误在许多方面比特定的GUI设计错误更严重,因为它们影响了更多项目,而且很难诊断或者纠正。我也打算描述这种类型的错误,并警告开发人员避免它们。这也是写第8章“管理错误”的原因。
  这本书的主要目标是帮助GUI开发人员和设计人员自动发现自己的设计错误,并且在避免这些错误方面做得更好。
  我有时认为如果在真实世界中有错误对话框的话,世界会变得非常美好。无论何时,当你犯了一个错误的时候,都会出现这些对话框。真实的错误对话框将是一个非常棒的方式,它能够培训软件开发人员和开发经理认识到自己已经犯下的,或者即将犯下的一个错误。(我所知道的一些软件开发人员和经理会犯下大量此类错误!)
  但是真实世界中没有这样的错误对话框,因此我们需要将它们“植入”开发者的头脑中。希望本书会对此有所帮助。

何谓GUI禁忌?
  本书描述了软件开发人员在设计图形用户界面(Graphical User Interface,GUI)时经常犯的禁忌[blooper,即错误(mistake)]。本书中提供的错误并没有覆盖GUI设计者会犯的所有错误,也没有覆盖我曾经见过的所有错误。请相信我,通过超过二十年作为用户界面专家工作的经历,我曾经见过一些非常令人惊讶的设计错误—真正的愚蠢可笑的错误(howler),我的一些同事是这么称呼它们的。
  本书所列的设计错误不仅愚蠢可笑,而且是常见的。警告软件开发人员远离那些非常罕见或者面向特定应用的错误是没有多大意义的,不管这类错误会造成多大的损害。而警告开发人员远离那些他们可能经常犯的错误则具有很大意义。
  更进一步来说,在设计错误示例之前我就筛选了绝大多数错误。我所指的“错误”不仅仅是我在软件中看到过的特定设计错误示例;而且,这些错误还是开发人员一而再,再而三地犯的错误。书中的示例仅仅是为了阐明这些错误—使这些错误更具体。
  因此,本书不是一本简单的用户界面错误(软件开发人员制造的各种尴尬错误)集合。我的目的不是展示使制造者窘迫的用户界面错误,从而引发读者的嘲笑:一边摇着头,一边疑惑为什么设计人员如此愚蠢。我的目的是帮助GUI设计人员和开发人员学会生成更好的GUI。
  本书提供的错误一般都是用文字进行描述,如果有可能,会通过从真实产品以及在线服务的屏幕图像、自行设计的屏幕图像以及我所经历的逸闻趣事中得到的图像进行例示。本书指出每一个错误后,将提供开发人员应该遵循以避免错误发生的设计规则。我尽可能用实例描述随着每个错误给出的每一条设计规则。
  为了清晰显示每一个屏幕图像是一个示例中的设计错误,还是一个正确设计,我对它们中的绝大多数都标记了“坏示例”以及“好示例”符号。坏示例符号是一个“拇指向下”的手型符号。好示例符号是一个“拇指向上”的手型符号(参见本段文字左边对应显示的符号)。中性的屏幕图像没有标记。
  本书提供的错误分为七种类型:GUI组件、布局和外观、文字、交互、Web、响应以及管理。GUI组件错误对应于关于如何使用一个用户界面工具包中提供的组件所做的错误决策。布局和外观错误指的是排列和表示GUI组件时出现的错误。文字错误是指在用户界面上决定如何使用文字时遇到的错误。这类错误不是指涉及文字的图形问题,例如不适当的字体选择,它们指的是使用文字真正遇到的问题。交互式错误是一类违反了常用用户界面设计原则的错误,它独立于所使用的用户界面工具包。Web错误是指Web站点和基于Web应用程序特有的问题。响应错误指的是一个产品或者服务设计与用户工作步骤接口方面的问题。管理错误则指的是影响软件和电子设备易用性和使用效果的管理层次的问题。

这些错误是如何编辑的
  本书中提供的错误来自我超过二十年设计、评价以及测试软件产品用户界面方面的个人经验,特别是从1996年以来我开始作为一个用户界面咨询顾问的经验。这些错误主要来自用户界面评价、易用性测试报告、设计指南文档以及我同雇主和咨询客户准备的谈话资料。还有一些错误来自于我的同事们对我的建议。
  错误的示例来源则五花八门。书中很少的一部分示例真正是来自于我所服务的客户的一个产品或者一个软件公司。在绝大多数情况下,由于我与服务的客户有保密协议,因此我无法揭示所描述软件开发的更多细节,即使是从来没有上过市的软件也是如此。因此,在本书中提供的许多有趣的故事中,所涉及公司和产品的名称被修改了或者有所限制。基于同样的原因,错误示例的屏幕图像主要也来自于那些并非是我所服务的咨询客户的公司开发出来的商业可用软件和在线服务,也就是说,来自于我所使用的软件和Web站点。在另一方面,我确实获得了许可,在少数情况下讨论客户软件时可以使用真实的名称和屏幕图像。
  本书中有一些错误示例来自于Interface Hall of Shame(接口错误集锦,www.iarchitect.com/mshame.htm),这是一个GUI设计错误的大型会聚之地,它是由一个用户界面咨询公司(Isys Information Architects有限公司)的员工Brian Hayes编辑的。该站点展示那些—由Hayes先生或者访问该站点的人发现—在商业可用产品以及服务中存在的拙劣用户界面设计示例。在Interface Hall of Shame展示的一些示例提供了我希望进行讨论的错误的良好例示,因此,承蒙Isys Information Architects的宽宏许可,我将这些示例引入到本书中。
  最后,本书中还有一些例示错误的屏幕图像是人为制造的—是为了将本书中某个确定错误描述得更清晰而特意创建的。
  尽管不是本书中错误的来源或者错误示例的来源,但下面三类令人印象深刻的设计错误资源值得关注:
  * 《Designing Visual Interfaces》,一本由Kevin Mullet和Darrell Sano合著的软件图形设计书籍[1995]。对于他们书中的每一个设计主题(例如,“优雅和简洁”、“范围、对比和均衡”、“组织和可视化结构”),Mullet和Sano不仅表述了良好设计的原则和示例,同时也提供了常见的设计错误。
  * UseIt.com,这是一个由Jakob Nielsen创建和维护的Web站点,他是一位Web设计专家,一位有关Web趋势的评论员。UseIt.com列出了Nielsen给出的Web设计十大错误,同时还提供了其他有用的Web设计建议。Nielsen还出版了一本相同主题的书籍[Nielsen,1999d]。
  * WebPagesThatSuck.com,这是由Web设计人员Vincent Flanders编辑的网站,描述了坏的Web站点设计示例,藉此来指导人们进行好的Web站点设计。对应该Web站点(或者至少是该站点的某段时间内的一个快照)有一本优秀书籍,《Web Pages That Suck》,由Flanders和Willis合著而成[1998]。
  上述资源对本书的主要影响就是,我相信那些对错误进行研究的作者们已经在相关领域建树非常专业而且做得很好了。Mullet和Sano并没有给其他人留下继续对图形设计错误进行评论的更多空间。同样,Web设计错误已经由Nielsen、Flanders和Willis进行了很好的阐述。这样,我就可以略过他们已经讨论过的主题,并将注意力放在我发现的而且据我所知他们没有讨论过的设计问题上。
  第8章“管理错误”的内容受到下面这三本有关管理层问题的书的影响,这些问题将造成基于计算机的产品和服务缺乏易用性:
  * 《The Trouble with Computers》,由Tom Landauer著作[1995]。
  * 《The Invisible Computer》,由Don Norman著作[1999]。
  * 《The Inmates Are Running the Asylum》,由Alan Cooper著作[1999]。
  这三本书并没有系统地收集错误,而是面向软件行业发展趋势提供对错误原因的深层分析,以揭示那些迷惑和滋扰人们并阻碍生产效率的产品和服务。然而,这些书确实包含了用户不友好的设计类型示例,这些错误源自那些关注技术甚于用户需求的软件开发组织和过程。

谁应该阅读本书
  本书主要的目标读者是那些辛勤工作的程序员,他们开发着软件或者Web站点,却从用户界面专家那儿得到很少或者没有得到指导和反馈。对于这些程序员来说,本书将向他们提供一个自学工具和参考资料。本书也将为特定的GUI平台提供用户界面设计指南的有效补充。
  本书的第二类目标读者是软件开发团队的经理。本书使他们感兴趣的原因是本书包括了一章有关管理错误的内容。
  本书的第三类读者是用户界面设计者,特别是那些刚刚进入专家行列的人。对于他们,本书通过提供针对常见设计错误的警告和实践示例有效补充了有关用户界面设计和评价方面的标准参考和教科书。

本书是如何组织的
  本书由十章组成:第一原则、GUI组件错误、布局和外观错误、文字错误、交互错误、Web错误、响应错误、管理错误、软件评审以及战争故事。
  第1章“第一原则”,提供了对错误以及如何避免错误的设计准则的理解基础。
接下来的七章描述和例示了软件开发人员和他们的管理人员,在设计软件和Web站点时会犯的常见错误,结果会产生用户不友好的软件、在线服务以及电子设备。
  第9章“软件评审”,详细评审了两个软件产品,描述了它们包含的错误,包括其他不常见的设计错误。该章同时也提供了如何避免错误的建议。
  第10章“一个用户界面顾问的战争故事”,详细描述了我作为一个用户界面咨询顾问的一些经验,在两方面提供了自己的见解:1) 为什么软件开发人员会犯下用户界面设计错误,2) 如何克服这些错误。

如何使用本书
  正如上面所说的,本书面向三类读者群—GUI程序员、软件开发经理以及新用户界面专家。这三种不同类型的读者将会从本书得到不同的信息。
  GUI程序员也许会直接跳到特定错误的章节:GUI组件、布局和外观、文字以及Web。他们可以在阅读这些错误之前从本书第1章开始阅读,或者在他们已经阅读了避免这些错误的设计准则之后返回来阅读第1章。阅读完这些章节之后,我建议程序员们阅读有关交互和响应错误的章节,然后再阅读一下软件评审。程序员可以将管理错误、战争故事以及本书附录作为“课外阅读”—如果他们有时间或者感兴趣可以读一读。
  对于软件经理来说,有关管理错误那一章显然是最重要的。读完该章后对软件经理来说其他值得阅读的章节按重要性依次为:文字错误、响应错误、战争故事、软件评审以及交互错误。第1章对于那些具有用户界面设计以及人机交互背景或者对其感兴趣的经理来说值得一读。开发经理或许可以完全略过GUI组件、外观和布局以及Web错误。他们只要告诉他们的程序员和设计人员“阅读这些章节并且完全按照Johnson说的去做。”:-)
  对于那些刚刚崭露头角的用户界面专家来说,应该从第1章开始阅读。我建议他们接着可以快速浏览有关GUI组件、外观和布局以及文字错误章节,主要熟悉这些错误中包含什么就行了;他们在以后需要的时候可以再重新阅读这些章节中的特定错误。另外,强烈向那些新用户界面专家们推荐有关交互、响应以及管理错误的章节。对于那些将要设计Web站点或者Web应用程序的人来说,有关Web错误的章节是重要的,但是其他人可以略过它们。最后两章将向新来者提供用户界面领域内一个有经验的专家所了解的东西。最后,一些用户界面专家也许会对阅读附录感兴趣,可以看看这本书是如何通过易用性测试来提高质量的。

  表I-1总结了上面的一些推荐阅读建议。
  表I-1  根据读者的类型推荐阅读章节
  GUI程序员   新的UI专家 开发经理
  (第一原则) 第一原则 管理错误
  GUI组件错误 GUI组件错误(快速浏览) 文字错误
  布局和外观错误 布局和外观错误(快速浏览) 响应错误
  文字错误 文字错误(快速浏览) 软件评审
  (Web错误) 交互错误 战争故事
  交互错误 响应错误 交互错误
  (续)
  GUI程序员   新的UI专家 开发经理
  响应错误 管理错误 (第一原则)
  软件评审 (Web错误)
  (管理错误) 软件评审
  (战争故事) 战争故事
  (附录) (附录)

致  谢
  如果没有许多人的帮助和支持,我无法写出这本书。
  首先,我想感谢我的妻子和朋友Karen Ande,感谢她在我写作本书时给予我的爱和支持,感谢她容忍我由于写作而大大减少了我们结伴出游的次数和社交活动。
  我还要感谢我的岳母Dorothy Hadley,感谢她在1998年年底到1999年那段时间内,总是不停地用电话询问:“这本书怎么样了?”我感谢我的父亲Ben Johnson,感谢他帮助我拥有一个能够进行分析和判断的思维,并且具有把自己的所思所想变成洋洋洒洒数十万言专著的能力。
  我非常感谢一些软件开发者自发地对本书的早期版本进行易用性测试,并且向我提供他们率直的反馈意见。有关他们的反馈是如何提高本书质量的在附录中进行了描述。这些程序员(测试者)是:Pat Caruthers、Brent Emerson、Stuart Ferguson、Mair* Howard和Sandi Spires。
  本书的品质由于以下评审者的评论和建议而得到极大提高,他们是Stuart Card、Tom Dayton、Jonathan Grudin、Deborah Mayhew、Bonnie Nardi、Jakob Nielsen、Terry Roberts和Terry Winograd。
  我从那些仔细的、审慎的、优秀的人员那儿所得到的布局和组织建议、法律建议、道义上的支持和鼓励都对本书产生了极大的帮助,这些优秀的人员是来自Morgan Kaufmann出版社的员工,在此特别要感谢Diane Cerra、Belinda Breyer、Edward Wade和Marilyn Alan,以及版权编辑Ken DellaPenta和插图画家Cherie Plumlee,等等。
  第7章的许多观点最初都来自于一篇会议文章,这是一篇我和Dave Duis合作发表的文章[Duis and Johnson,1990],那时我是惠普实验室的一名研究人员,而他是一位见习学生。我非常感激Dave当时有关思路和原型方面所做的工作。Dave Duis在MIT的硕士论文[1990]也是基于同一篇文章,因此也有一些思想与本书第7章相同。该章内容和思想的另外一个来源是同Xerox Palo Alto研究中心Stuart Card的交流。我非常感激他愿意同我交流有关响应方面的问题。
  关于第10章的故事,我非常高兴有机会能够与Advance Reality公司中那些富有创造性的设计和开发人员一起工作,特别是影片导演和游戏设计者Rob Lay,以及高级程序员Ken Carson。我同时也要感谢415 Productions and McMacken Graphics的图形艺术家,感谢在用户界面方面做出贡献的AnyRiver员工,特别是Chuck Clanton和Stewart Bonn,以及那些对于我在ACM CHI*98会议上发表的故事I版本进行评论的匿名读者。
  最后,我要感谢我的客户和以前的雇主们。没有他们,这本书将不可能,或者不必要存在。

作者简介

(美)Jeff Johnson:Jeff Johnson: Jeff Johnson是UI Wizards有限公司的一名顾问,该公司是一家产品可用性咨询公司(www.uiwizards.com)。1978年,他开始从事人机交互方面的工作,并在许多知名公司担任过软件设计人员、可用性测试人员、管理人员和研究人员。他也是《GUI Bloopers:Dont,s and Do,s for Software Developers and Web Designers》(GUI设计禁忌)一书的作者。

译者简介

王蔓 刘耀明 等:暂无简介

译者序

本书作者斯坦福大学心理学博士Jeff Johnson,作为一个用户界面设计师和实现者、经理、易用性测试师以及Cromemco、施乐、US West、惠普和Sun的研究人员,具有超过20年设计、评价以及测试软件产品用户界面方面的经验。本书所列禁忌主要取自用户界面评价、易用性测试报告、设计指南文档以及作者同咨询客户准备的谈话资料,同时还包括作者使用过的软件和网站评价。还有一些错误来自于作者同行们的建议。
  本书共分十章。第1章“第一原则”,提供了对禁忌以及如何避免错误的设计准则的理解基础。
  接下来的七章描述和例示了软件开发人员和他们的管理人员在设计软件和Web站点时会犯的导致用户不友好的常见禁忌。
  第9章“软件评审”,详细评审了两个软件产品,描述了它们包含的禁忌,并提供了如何避免这些禁忌的建议。
  本书第10章“一个用户界面顾问的战争故事”,详细描述了作者作为一个用户界面咨询顾问的一些经验,在两方面提供了自己的见解:1) 为什么软件开发人员会犯下用户界面设计错误;2) 如何克服这些错误。
  本书最后的附录解释本书是如何通过易用性测试来提高质量的。
  本书主要面向软件开发人员,他们开发着软件或者Web站点却很少甚至没有得到用户界面专家的指导。对于这些程序员来说,本书可作为一个自学工具,同时也可作为一个参考资料。本书也将为特定的GUI平台提供用户界面设计指南的有效补充。本书的第二类目标读者是软件开发团队的经理,本书专门讨论了有关管理错误的内容。本书的第三类读者是用户界面设计者,特别是刚刚进入专家行列的人,本书通过提供针对常见设计错误的警告和实践示例,有效补充了有关用户界面设计和评价方面的标准参考资料和教科书。
  除了向读者提供学习所有示例而必需的理论之外,作者同时也用轻松幽默、广闻博记和教育启发的方式介绍了用户界面设计的本质内涵。读者可以直接访问作者关于本书的网站http://web-bloopers.com/gui-bloopers/index.php。本书将是读者理解和避免图形用户界面错误的利器和有效工具。
  本书由王蔓、刘耀明等进行翻译,参与翻译工作的还有张昆琪、黄江海、骆智、杨旭、欧阳荣彬、王强、尹婷、李宏平、刘海宁、邓春红、黄凯、周鹏、张小辉、刘建伟、李昂、陈磊、王秀英、王冶、李家峻、李洪发、傅蓉、杨毅、王海峰、李林等。周鹏完成了本书的统稿和审校工作。由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,恳请读者批评指正。

周 鹏
2004年10月

图书目录

第1章  第一原则 1
简介 1
1.1  原则1:关注用户及其任务,而不是技术 1
1.1.1  理解用户 2
1.1.2  理解任务 4
1.1.3  广泛上下文中的交互式产品和服务功能 9
1.2  原则2:首先考虑功能,然后才是表示 11
1.2.1  “首先考虑功能”并不意味着什么 12
1.2.2  “首先考虑功能”意味着什么 12
1.2.3  开发一个概念模型 13
1.3  原则3:确定用户对任务的看法 17
1.3.1  争取自然 17
1.3.2  使用用户的词汇,而不是你自己的 19
1.3.3  让程序内部内容在程序内部进行处理 20
1.3.4  找到正确的功能/复杂度平衡点 20
1.4  原则4:不要让用户的任务复杂化 22
1.4.1  常用任务应当简单 22
1.4.2  不要让用户解决额外问题 23
1.5  原则5:促进学习 24
1.5.1  “从里到外”思考,而不是“从外到里” 25
1.5.2  一致性、一致性、一致性 26
1.5.3  提供一个低风险的环境 28
1.6  原则6:传递信息,而不仅仅是数据 29
1.6.1  认真设计显示;获取专业帮助 29
1.6.2  屏幕属于用户 31
1.6.3  保持显示惯性 31
1.7  原则7:设计应满足响应需求 32
1.7.1  定义响应及其不足 32
1.7.2  Web上的响应:重要的事 33
1.7.3  响应设计原则的小结 33
1.8  原则8:针对用户进行充分测试,然后进行修补 34
1.8.1  测试结果甚至可能让有经验的设计人员吃惊 34
1.8.2  安排时间纠正测试发现的问题 35
1.8.3  测试有两个目的:信息方面的和社会方面的 35
1.8.4  每个时刻和每个目的都要进行测试 36
进一步阅读资料 38
第2章  GUI组件错误 41
简介 41
2.1  使对功能的访问复杂化 43
2.1.1  错误1:动态菜单 43
2.1.2  错误2:重复的菜单项 47
2.1.3  错误3:隐藏的功能 50
2.1.4  错误4:没有键盘对应 53
2.2  不规范的应用程序窗口 56
2.2.1  错误5:混淆基本窗口和对话框 56
2.2.2  错误6:命令只放在工具栏按钮中 60
2.2.3  错误7:将所有的菜单栏命令都放到工具栏上 61
2.3  误用选择控件和标签页 63
2.3.1  错误8:混淆复选框和单选按钮 63
2.3.2  错误9:无初始值的多选一设置 68
2.3.3  错误10:在非开/关设置中使用复选框 70
2.3.4  错误11:使用命令按钮作为开关 72
2.3.5  错误12:使用标签页作为单选按钮 74
2.3.6  错误13:太多标签页 78
2.4  提供错误的反馈信息 82
2.4.1  错误14:在“按下鼠标”时引发动作的按钮 83
2.4.2  错误15:不明确的选择 85
2.4.3  错误16:不显示忙光标 88
2.5  滥用文本框 90
2.5.1  错误17:给只读数据使用文本框 90
2.5.2  错误18:滥用文本框 94
2.5.3  错误19:行为反常的输入框 96
进一步阅读资料 99
第3章  布局和外观错误 101
简介 101
3.1  窗口和对话框的蹩脚布局和排列 101
3.1.1  错误20:将对话框控制按钮与内容控制按钮混合安放 101
3.1.2  错误21:布局没有体现设置的常用或者自然次序 103
3.1.3  错误22:窗口初始位置不合适 108
3.2  组合框和分隔线的错误 112
3.2.1  错误23:不恰当地使用组合框 112
3.2.2  错误24:组合框样式不一致 117
3.2.3  错误25:分隔线样式不一致 119
3.3  劣质的标记和间隔 120
3.3.1  错误26:单选按钮之间间隔太大 120
3.3.2  错误27:属性标记的对齐方式不一致 122
3.3.3  错误28:标记安放不当 126
3.3.4  错误29:无标记的滚动容器组件 129
3.4  麻烦的排版和图形设计 130
3.4.1  错误30:文本字体不一致 130
3.4.2  错误31:字体过小 134
3.4.3  错误32:未激活控件没有被充分置灰 138
进一步阅读资料 143
第4章  文字错误 145
简介 145
4.1  非专业的书写 146
4.1.1  错误33:术语不一致 146
4.1.2  错误34:含义不清的术语 154
4.1.3  错误35:用词晦涩 157
4.1.4  错误36:书写马虎 168
4.2  不友好的消息和标记 174
4.2.1  错误37:无用的错误消息 174
4.2.2  错误38:在命令标记中错误地使用或者不使用“...” 180
4.2.3  错误39:在设置标记中对冒号的使用不一致 183
4.2.4  错误40:工具提示与可见标记的内容完全一样 185
4.3  引起误解的窗口标题 186
4.3.1  错误41:在不同窗口中使用同样的标题 186
4.3.2  错误42:窗口标题与调用的命令不符 188
进一步阅读资料 193
第5章  交互错误 195
简介 195
5.1  允许程序实现来控制GUI 196
5.1.1  错误43:向用户展示实现 196
5.1.2  错误44:向用户索取随机数 199
5.1.3  错误45:TTY GUI 201
5.2  不充分的信息表示 205
5.2.1  错误46:决策和细节对用户的干扰 205
5.2.2  错误47:容易丢失的信息 211
5.2.3  错误48:被意外重排的显示 220
5.2.4  错误49:说明信息消失过快 223
5.3  给用户设置障碍 225
5.3.1  错误50:相似的功能却有不一致的用户界面 225
5.3.2  错误51:不必要或是效果不佳的标记模式 228
5.3.3  错误52:安装噩梦 241
5.4  令人生厌的对话框 245
5.4.1  错误53:对话框层次过多 245
5.4.2  错误54:使用户陷于困境的对话框 251
5.4.3  错误55:取消按钮无法取消操作 257
5.4.4  错误56:确定和取消按钮做同样的事情 261
进一步阅读资料 262
第6章  Web错误 265
简介 265
6.1  Web结构和交互错误 267
6.1.1  错误57:网站结构反映公司的结构或者历史 267
6.1.2  错误58:Back(返回)按钮不能到达用户预期的位置 270
6.1.3  错误59:搜索复杂化 273
6.2  Web组件、布局和外观错误 276
6.2.1  错误60:隐藏链接 276
6.2.2  错误61:未提供足够信息的链接 282
6.2.3  错误62:不提供点击反馈的按钮 287
6.2.4  错误63:以长页面显示冗长列表 288
进一步阅读资料 292
第7章  响应错误 293
简介 293
7.1  常见的响应错误(错误64~错误75) 294
7.2  响应不好的原因 297
7.2.1  原因之一:响应的有关事实并没有广为人知 297
7.2.2  原因之二:用户界面设计人员在设计中很少考虑响应 298
7.2.3  原因之三:程序员将响应等同于性能 298
7.2.4  原因之四:程序员将用户输入视为机器输入 299
7.2.5  原因之五:开发人员使用简单、直白的实现方法 300
7.2.6  原因之六:GUI软件工具、组件和平台不完善 303
7.2.7  原因之七:管理者雇用缺少必要技能的GUI程序员 303
7.3  避免响应错误:设计准则 303
7.3.1  响应不等同于性能 304
7.3.2  处理资源总是受限的 304
7.3.3  用户界面是实时接口 305
7.3.4  任务对延迟的要求各异,软件不用立即做所有的事情 306
7.3.5  软件不必按照任务要求的顺序完成工作 307
7.3.6  软件不必做所有被请求的任务 307
7.3.7  用户是人而不是计算机程序 308
7.4  避免响应错误:技巧 309
7.4.1  及时反馈 309
7.4.2  并行问题解决方案 314
7.4.3  队列优化 315
7.4.4  动态时间管理 317
7.4.5  响应技巧总结 321
7.4.6  为实现响应技巧扫清障碍 322
进一步阅读资料 325
第8章  管理错误 327
简介 327
8.1  错误的管理态度 329
8.1.1  错误76:对用户界面专家所做工作的误解 329
8.1.2  错误77:认为用户界面是次要的工作 333
8.1.3  错误78:贬低测试和交互设计的价值 337
8.2  错误的管理过程 345
8.2.1  错误79:使用拙劣的工具和构建块 345
8.2.2  错误80:无政府主义开发 350
8.2.3  错误81:设计团队没有任务领域的专业知识 357
8.2.4  错误82:给程序员提供最快的计算机 366
进一步阅读资料 368
第9章  软件评审 371
简介 371
9.1  Eudora Pro 4.0的安装 371
9.1.1  存在的问题 371
9.1.2  结论 379
9.2  Kodak Picture Disk 1.2 379
9.2.1  执行小结 380
9.2.2  组织 380
9.2.3  局限 381
9.2.4  总体评审 381
9.2.5  开始运行 382
9.2.6  主窗口 383
9.2.7  滚动显示对话框 385
9.2.8  滚动显示窗口 385
9.2.9  图片编辑窗口 387
9.2.10  打印预览窗口 388
9.2.11  打印设置对话框 389
9.2.12  打印选项设置对话框 390
9.2.13  图片旋转对话框 390
9.2.14  图片组织对话框 391
9.2.15  导出对话框 392
第10章  一个用户界面顾问的战争故事 395
简介 395
10.1  简化一个交互式电影游戏的控制 395
10.1.1  背景 395
10.1.2  分析 397
10.1.3  重新设计:物理动作 400
10.1.4  重新设计:语言和思考 402
10.1.5  重新设计:评估和讨论 408
10.1.6  用户界面的其他方面 409
10.1.7  教训和结论 409
10.2  机顶盒的控制设计 410
10.2.1  工作1:UI评审意外地变成了UI设计 411
10.2.2  工作2:UI评审,检查设计的实现 419
10.2.3  工作3:前面板的紧急重新设计 421
10.2.4  工作4:第二个UI设计 423
10.2.5  学到的教训 424
附录  本书是如何进行易用性测试的 427
参考文献 431

教学资源推荐
作者: [美]科里·比尔德(Cory Beard),威廉·斯托林斯(William Stallings) 著
作者: [美]杰克 L. 伯班克(Jack L. Burbank), 茱莉亚•安朱森克(Julia Andrusenko), 杰瑞德 S. 埃弗雷特(Jared S. Everett), 威廉 T.M. 卡施(William T.M. Kasch ) 著
作者: [美]拉里 L. 彼得森(Larry L. Peterson) 布鲁斯 S. 戴维(Bruce S. Davie) 著
参考读物推荐
作者: [加]泰森·麦考利(Tyson Macaulay) 著
作者: [美]杰森·安德鲁斯(Jason Andress) 著
作者: 王春海