文字的减法
作者:Angela 来源:以用户为中心的设计 发布时间:2007-11-06 12:58:00
认知心理学家Donald A. Norman将人类的行动分解成七个阶段:
1. 确定目标
2. 确定意图
3. 明确行动内容
4. 执行
5. 感知外部状况
6. 解释外部状况
7. 评估行动结果
这七个阶段发生在人类所采取的每一个行动时。
比如最近降温,你想要保持身体的舒适感(确定目标),所以就得加一件衣服(确定意图),于是你决定去衣柜里看看哪件衣服适合今天穿(明确行动内容),然后你就选择了一件并穿在身上了(执行),这时你感觉暖和一点了(感知外部状况),因而你确定衣服被穿在了身上(解释外部状况),你觉得不冷了感觉很舒适(评估行动结果)──这么写出来你可能会觉得别扭,因为这些判断发生得非常快,你可能永远不会注意到中间的过程(有很多科幻小说和马路上骗人的把戏都是利用了这一点,有兴趣的同学可以自己分析分析,此为题外话)。
但是,当人和机器发生交互的时候,人类仍然遵循这样的反馈法则,而机器使用的却是另一套法则,这就正是人机交互永远不顺畅的根本原因。我们都知道,人类是善于解释现象,并能根据解释的结果来决定下一步行动的。这种本能反馈在现实生活中没有太大的问题,但搬到计算机世界就面临很大的设计挑战,因为行动七阶段中最关键的一环——感知外部状况——在计算机世界中完全依赖于设计。因而一个未经设计的产品,基本上等于是把它的使用者扔进了一个既没有声音也没有影像的黑暗世界,人们只能凭“直觉”和“本能”来与之交互。
在刚才那个例子中,你“感知外部状况”时,使用的是触觉(也许?我不了解神经反射之类的原理,随便猜的)。那么在计算机世界中,你唯一能使用的,只有视觉(有少部分听觉的应用,不过鉴于大部分同学上班时都不得不关掉音箱,我们此处就不考虑这个情况)。
看到这里,有同学可能会说:“是啊!所以文字正是起到了‘描述外部状况’的作用!”
当然,这是我们这一期要讨论的主题,但是我在前面分析了半天,结论却刚刚相反:有时候,文字恰恰是可以省略掉的元素。
为什么?举个简单的例子,当你在拧螺丝钉的时候,你是如何感知它的变化的呢?通过文字描述“螺丝钉已经旋转了四分之三圈”,还是通过它“逐渐变短的身躯”知道的呢?
一个不停地报告旋转圈数的螺丝钉听起来是不是很可笑呢?
可是这样界面到处都有。
“添加好友成功”、“加入小组成功”、“请在下方输入你的手机号”……比比皆是,而在我看来,甚至包括“登录失败,请重新登录”在内的提示文字都是多余的。我在输入账号和密码以后,不能进入“我的XXX”,这件事本身就说明问题了,设计师要做的,只要保证用户的视觉焦点集中在出错的位置并标识出差异(比如,输入框变成红色,增加图标之类)就够了,你有几次是阅读了界面上的文字才知道密码输错的呢?
Norman还有一个著名的理论:如果一个产品需要文字来描述用途,那么它就不是一个设计良好的产品。一个需要看说明书才能知道怎么用的水壶,绝对是因为它长得不像水壶。同理,一个需要阅读文字才知道出了什么状况的系统,绝对是因为它看起来不像是出了状况。
很多时候,我们想方设法地优化、精简文字,也总结出一些类似“动词+对象+状态”的措词原则,却恰恰忽略了我们与生俱来的本能:我们天生对形状、颜色和位置敏感。再加上计算机用户扫描式的屏幕阅读习惯,更是导致了对文字视若无睹的现象。其实在某些特定场景下,我们完全可以利用其它手段来表示外界的变化。
我很希望有一天,当我在某个网站登录不成功时,它能把屏幕微微地震动一下,而不是蹦出一行红字告诉我我已经知道的状况。
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 1.在浏览器下载与浏览器相对于的驱动并放到python的安装根目录下驱动的两个下载地址:http://chromedriver.storag
- 本文实例为大家分享了js实现黑白div块画空心图形的具体代码,供大家参考,具体内容如下<!DOCTYPE html><ht
- 常见的误解有: 1. 只用 ado.net ,无法进行动态 SQL 拼接。 2. 有几个动态参数,代码的重复量就成了这些参数的不同数量的组合
- 内容摘要: Request和Response这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服
- package 的导入语法写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:import( "f
- 最近笔者学会了用FrontPage XP做网页,心理特高兴,非常想把我在制作主页过程中的一些经验和大家交流交流、切磋切磋,我们一起来看看吧。
- 1.正则表达式是什么很简单就是一种字符串匹配,eg: 比如你在注册账户时我们需要对用户的用户名判断是否合法,这时候就需要对用户输入的检索,或
- 1、生成器函数包含yield from表达式。2、在yield from表达式处暂停委派生成器,调用方可直接将数据发送给子生成器。3、子生成
- 前几天,使用python时遇到这么一个需求,删除一个列表中值为1的元素。我寻思着使用remove方法,但是remove方法只会删除第一个,于
- 基于邮件通知的服务监控和告警系统主要功能点:配置专用日志格式记录耗时日志格式:'simple':{'format
- 一、python机器学习–线性回归线性回归是最简单的机器学习模型,其形式简单,易于实现,同时也是很多机器学习模型的基础。对于一个给定的训练集
- 1 概述在前面,我们已经对Python学习做了系统的知识梳理(Python思维导图),我们接下来把知识点分节进行细讲。这一节,我们讲解序列。
- numpy.mean计算矩阵均值计算矩阵的均值>>> a = np.array([[1, 2], [3, 4]])>
- 前言最近由于在寻找方向上迷失自我,准备了解更多的计算机视觉任务重的模型。看到语义分割任务重Unet一个有意思的模型,我准备来复现一下它。一、
- python中字典的key不能是可变类型。字典可存储任意类型对象,其中值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。语法格
- 1、准备工作pip install qcloudsms_py1.注册腾讯云账号2.在产品列表内找到短信,在短信内添加应用3.获取对应的SDK
- 1、安装依赖包yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoco
- 在US BlackHat 2018大会上,安全人员证明,攻击者不仅可以利用PHAR包发动RCE攻击,而且,通过调整其二进制内容,他们还可以将
- 普通MySQL运行,数据量和访问量不大的话,是足够快的,但是当数据量和访问量剧增的时候,那么就会明显发现MySQL很慢,甚至do
- 一、了解字符编码的知识储备1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了