PCon全球产品创新大会即将开幕,抢占最后的交流席位! 了解详情
写点什么

Alan Cooper 会怎么做?

  • 2009 年 11 月 24 日
  • 本文字数:2587 字

    阅读完需:约 8 分钟

无论使用的是桌面的,Web 的或是手机上的应用程序,用户界面都在其中起着一个重要的作用。 Alan Cooper ,用户界面设计的思想领袖,在他的《 About Face 》一书中给出了一些有趣和有用的建议来帮助应用程序创建 UI。下面是该书中的部分重要思想。

为中级用户(Intermediates Users)设计

Cooper 认为,不管什么软件产品,它的绝大多数用户都可以归类为中级用户——即那些基本了解如何使用产品和一般使用产品重复进行同样操作的用户。他估计,这样的用户约占使用产品总人数的 80%,而剩下的 20% 平均分布在初学者和高级用户当中。

尽管如此,他饶有兴趣地指出,虽然中级用户是产品的主要使用群体,但是他们的需求却往往在 UI 设计中被忽视。他指出,由于管理层经常与初学者打交道,因此 都倾向于满足初学者大部分的需求。而开发人员,应该定义为专家用户,他们在思考时都倾向于将终端用户也看作为专家用户。Cooper 认为,虽然中级用户是 产品的主要使用群体,但是他们在这样的混乱情况下都显得很迷惑。

他解释到,三种类型用户的需求由他们熟悉产品程度的不同而不同。专家用户想要快速地干活并且可以定制应用程序,而初学者更多关注的是基本工具的概况。中级用户则倾向于使用工具来重复地做同样的事情,并且不希望界面妨碍他们的工作流程。

使用工具来帮助初学者成为中级用户

虽然只有 10% 的产品用户是初学者,但是所有的产品用户都要经历初学者的阶段。因此要特别注意去设计一些界面来帮助新手用户学会应用程序的基础。

虽然 UI 设计的目标是帮助初学者转移到中级用户,但是 Coppe 很快指出,一旦一名用户从最初状态过渡到了下一个状态,那么那些帮助都不再有太大用处。事实上,它可能会妨碍用户的工作流程。

大量产品可以帮助培养初学者,但同时它们也干扰着该产品的中级用户。例如在 VS2008 中,我们在生成的单元测试代码里加入注释来帮助初学者理解一个单元 测试的各个组成部分。虽然它们很好地达到了目的,但是一旦组成部分被理解后,它们就会妨碍用户。因此我们在 VS2010 中将它们移除了。

想要帮助用户成为中级用户,Cooper 建议,可以在 UI 上添加一些概要信息,来帮助用户如何使用产品。他指出,当用户想要关闭这些信息时,它们应当可以被移除。这可以采用经典的“入门指南”视频的形式来概述产品的功能。

Cooper 认为,在线帮助和工具提示实际上更好地满足了中级用户而并非初学者,因为他们的需求略有不同。他提到,中级用户会在帮助文档中查找参考资料,而初学者往往对文档的概要信息更为感兴趣。

少即是多

我喜欢一句话叫做:“不管你的界面有多酷,少一些会更好”。

有时在 UI 设计中,我觉得我们忘记了用户是将产品当做一个工具在完成特定的目标。有时我们也被很酷的导航工具所左右,将注意力过多地放在它上面。一个在黑暗中可以闪闪发光的紫色锤子,如果不能够有效的把钉子钉进木头的话,它仍然是毫无用处的。

Cooper 是一个简约设计的主张者:在简约设计中每一个选项都应该有目的并且是直接的。Cooper 主张减少用户界面中过多的直接选项。他认为,在一个精心设计的 UI 中,用户界面对用户几乎是透明的,因为它自然地符合了用户的思维模式。

为最可能的操作进行设计,为可能的操作提供方法

Cooper 主张在设计产品和通过应用程序对主线流程进行优化时,应当按照用户的思维模式来做。虽然这常常意味着要在窗口中去掉很多程序员看来很舒服的选项,但是这并不意味着没有方法来做那些复杂精细的事情,而是说访问它们要困难一点。

Cooper 认为,不管用户在应用程序工作流中的哪一个步骤,总会执行一两种活动类型。因此,界面应当被优化来帮助用户找到这些活动,并且通过工作流来指 导他们,而并非每次仅仅列出所有的选项。此外对于用户而言,也应当有方法来让他们访问到非主流的活动,但是 UI 不应当为此而进行优化。

我认为 Office Ribbon 在这方面做得很出色,它为最可能的操作进行了优化并且还允许其他可能进行的操作。在 Ribbon 中,用户最喜爱使用的条目只需要 1 次点击,使 用较少的条目需要 2 次点击,而那些不太可能用到的条目需要 3 次或更多的点击。可以很清楚地看到,他们为最可能的操作优化了 UI。

移除错误提示和确认对话框

按照遵循用户的思维模式和移除所有妨碍中级用户工作流程的原则,Cooper 主张移除掉产品中所有的错误和确认对话框。他认为从统计学角度来看,应用程序应该有着很好的正确率,它要做的是为用户提供一个撤销他们操作的选项。

Cooper 说,用户都想看到对他们可用的选项,然后进行操作,并希望执行完后可以得到一个确认来告知刚刚的操作已经成功执行。如果一个操作结束后如果没 有确认的话,用户会想知道他们的操作是否已经真正地执行。为了能够与用户交流操作的结果,相比较使用一个弹出的提示框,Cooper 更提倡使用内嵌的状态 提示和积极的听觉反馈。

虽然我同意移除所有环境下的确认对话框很理想化,但是要将他它们全部移除显得太过于鲁莽,这不是我的风格。想要实现 Cooper 的建议,开发者需要让用户 执行的每一个操作可逆,这样做不仅代价高,而且在我来看也不是很必要。我喜欢尽全力地移除确认对话框和让操作可逆,但是万一碰到暴力的(drastic) 操作,例如磁盘格式化和删除文件,弹出一个确认对话框看起来会更好,实际上这也是用户所期待的。

另一方面,我同意 Cooper 关于移除所有错误对话框的观点。尽管错误对话框对程序员来说很有意义,但是它们对终端用户的意义却很小。我看到很多用户在他 们的工作流被错误对话框破坏后变得非常泄气。Cooper 提到,虽然它们可以用来标志代码的某个部分发生了错误,但是用户往往都将其理解为“我做错了什么 事情”。当用户被反复告知出错的话,他们会开始讨厌你的产品。我最近在和 Mac UI 打交道,并且很惊讶地看到它们似乎不断地吃掉了自己的异常。显然,出现了问题是不应该呈现给用户看的。

关于作者

Naysawn Naderi 是微软 Visual Studio 测试小组的程序经理(Program Manager )。目前他正专注于创建正确的用户体验,来让手工测试人员可以更好地进行测试以及更有效地与软件小组人员进行合作。他拥有麦吉尔大学(McGill University)的电气工程学士学位。他的 blog 是 Testmundo

查看英文原文: What Would Alan Cooper Do?


感谢霍太稳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2009 年 11 月 24 日 18:003005
用户头像

发布了 125 篇内容, 共 30.8 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

人人都需要一份自己的「使用说明书」

非著名程序员

程序员 程序人生 提升认知 独立思考 自我思考

推荐系统大规模特征工程与FEDB的Spark基于LLVM优化

范式AI云

spark Sparksql 推荐系统 LLVM FEDB

微信小程序使用GoEasy实现websocket实时通讯

GoEasy消息推送

小程序 websocket 即时通讯

《重学 Java 设计模式》PDF 出炉了 - 小傅哥,肝了50天写出18万字271页的实战编程资料

小傅哥

Java 设计模式 小傅哥 重构 代码质量

自动化测试首先是一种工作文化

wangwei1237

自动化测试 测试文化

第6周-作业2-总结

seng man

为什么我们需要制品管理?

Man

DevOps nexus 制品库管理 Artifactory

女员工被阿里录取工资二万六,辞职时被领导挽留:给你4万留下

程序员生活志

程序员 阿里

讲烂了的mysql,今天再给大家重温一下

爱嘤嘤嘤斯坦

Java MySQL 数据库 编程 mysql事务

时间去哪了?

escray

如何把百万级别的订单根据金额排序

码哥字节

数据结构 排序算法

2020,是中国SaaS行业的机遇之年?

ToB行业头条

我在项目中是这样配置Vue的

前端有的玩

Java Vue 大前端 框架设计

IDC2020 Q1通用服务器数据发布,浪潮信息成绩喜人

Geek_116789

在前端如何玩转 Word 文档

阿宝哥

html markdown word

laravel redis队列不执行

kaer

laravel redis Queue

三大 OSS 缓存加速系统巅峰对决

苏锐

hadoop cache JuiceFS JindoFS Performance

吴恩达推荐笔记:22张图总结深度学习全部知识

程序员生活志

学习 吴恩达

话题讨论|在编程中,有哪些好习惯是应该一直坚持下去的?

InfoQ写作平台官方

写作平台 话题讨论 话题

Spring5-Reactor函数式编程

小技术君

spring reactor Spring5 springboot

CAP原理简述

刘志刚

腾讯的ToB梦想

ToB行业头条

第6周-作业1

seng man

设计模式六大原则

刘志刚

设计原则

计算机网络基础(一)---计算机网络概览篇

书旅

php laravel 计算机网络

Worktile完成新一轮融资,将发力研发管理赛道

Worktile

融资

MobTech袤博与百度战略签约 携手布局数据智能产业新蓝图

Geek_116789

抢滩新基建,百度还会输给阿里和腾讯吗?

ToB行业头条

阿里拍卖,能不能拍到点儿上?

ToB行业头条

为什么单元测试不是持续交付的唯一答案

禅道项目管理

持续集成 单元测试

​中国SaaS处在什么阶段?

ToB行业头条

Alan Cooper会怎么做?_方法论_Naysawn Naderi_InfoQ精选文章