文字的减法

作者:Angela 来源:以用户为中心的设计 时间:2007-11-06 12:58:00 

认知心理学家Donald A. Norman将人类的行动分解成七个阶段:

1. 确定目标
2. 确定意图
3. 明确行动内容
4. 执行
5. 感知外部状况
6. 解释外部状况
7. 评估行动结果

这七个阶段发生在人类所采取的每一个行动时。

比如最近降温,你想要保持身体的舒适感(确定目标),所以就得加一件衣服(确定意图),于是你决定去衣柜里看看哪件衣服适合今天穿(明确行动内容),然后你就选择了一件并穿在身上了(执行),这时你感觉暖和一点了(感知外部状况),因而你确定衣服被穿在了身上(解释外部状况),你觉得不冷了感觉很舒适(评估行动结果)──这么写出来你可能会觉得别扭,因为这些判断发生得非常快,你可能永远不会注意到中间的过程(有很多科幻小说和马路上骗人的把戏都是利用了这一点,有兴趣的同学可以自己分析分析,此为题外话)。

但是,当人和机器发生交互的时候,人类仍然遵循这样的反馈法则,而机器使用的却是另一套法则,这就正是人机交互永远不顺畅的根本原因。我们都知道,人类是善于解释现象,并能根据解释的结果来决定下一步行动的。这种本能反馈在现实生活中没有太大的问题,但搬到计算机世界就面临很大的设计挑战,因为行动七阶段中最关键的一环——感知外部状况——在计算机世界中完全依赖于设计。因而一个未经设计的产品,基本上等于是把它的使用者扔进了一个既没有声音也没有影像的黑暗世界,人们只能凭“直觉”和“本能”来与之交互。

在刚才那个例子中,你“感知外部状况”时,使用的是触觉(也许?我不了解神经反射之类的原理,随便猜的)。那么在计算机世界中,你唯一能使用的,只有视觉(有少部分听觉的应用,不过鉴于大部分同学上班时都不得不关掉音箱,我们此处就不考虑这个情况)。

看到这里,有同学可能会说:“是啊!所以文字正是起到了‘描述外部状况’的作用!”

当然,这是我们这一期要讨论的主题,但是我在前面分析了半天,结论却刚刚相反:有时候,文字恰恰是可以省略掉的元素。

为什么?举个简单的例子,当你在拧螺丝钉的时候,你是如何感知它的变化的呢?通过文字描述“螺丝钉已经旋转了四分之三圈”,还是通过它“逐渐变短的身躯”知道的呢?

一个不停地报告旋转圈数的螺丝钉听起来是不是很可笑呢?

可是这样界面到处都有。

“添加好友成功”、“加入小组成功”、“请在下方输入你的手机号”……比比皆是,而在我看来,甚至包括“登录失败,请重新登录”在内的提示文字都是多余的。我在输入账号和密码以后,不能进入“我的XXX”,这件事本身就说明问题了,设计师要做的,只要保证用户的视觉焦点集中在出错的位置并标识出差异(比如,输入框变成红色,增加图标之类)就够了,你有几次是阅读了界面上的文字才知道密码输错的呢?

Norman还有一个著名的理论:如果一个产品需要文字来描述用途,那么它就不是一个设计良好的产品。一个需要看说明书才能知道怎么用的水壶,绝对是因为它长得不像水壶。同理,一个需要阅读文字才知道出了什么状况的系统,绝对是因为它看起来不像是出了状况。

很多时候,我们想方设法地优化、精简文字,也总结出一些类似“动词+对象+状态”的措词原则,却恰恰忽略了我们与生俱来的本能:我们天生对形状、颜色和位置敏感。再加上计算机用户扫描式的屏幕阅读习惯,更是导致了对文字视若无睹的现象。其实在某些特定场景下,我们完全可以利用其它手段来表示外界的变化。

我很希望有一天,当我在某个网站登录不成功时,它能把屏幕微微地震动一下,而不是蹦出一行红字告诉我我已经知道的状况。

标签:文字,体验,设计
0
投稿

猜你喜欢

  • 详解Python中的format格式化函数的使用方法

    2023-04-12 22:47:05
  • Python一个简单的通信程序(客户端 服务器)

    2023-09-09 11:09:39
  • Django表单提交后实现获取相同name的不同value值

    2023-08-11 01:59:31
  • 数据库性能优化三:程序操作优化提升性能

    2024-01-14 08:58:49
  • 浅析Python中的序列化存储的方法

    2022-09-28 19:21:26
  • Go语言使用defer+recover解决panic导致程序崩溃的问题

    2024-01-30 06:29:18
  • Django日志及中间件模块应用案例

    2021-06-02 22:16:50
  • Pycharm没有报错提示(误触ignore)的完美解决方案

    2023-01-24 13:39:34
  • Python使用Tkinter实现机器人走迷宫

    2022-12-18 16:49:51
  • 使用PHP实现生成HTML静态页面

    2023-11-14 11:14:41
  • pandas loc iloc ix用法详细分析

    2021-08-31 20:16:53
  • Mysql join联表及id自增实例解析

    2024-01-22 20:36:20
  • Python中用pyinstaller打包时的图标问题及解决方法

    2021-11-10 01:41:33
  • javascript应用:Iframe自适应其加载的内容高度

    2024-02-25 13:46:07
  • 功能强大的php分页函数

    2023-11-15 03:17:37
  • 如何在 Matplotlib 中更改绘图背景的实现

    2022-08-28 03:13:36
  • Python读写Redis数据库操作示例

    2024-01-13 02:09:05
  • 你知道怎么用Python监控聊天记录吗

    2021-09-12 21:58:19
  • 解决pytorch-gpu 安装失败的记录

    2023-04-04 05:44:44
  • Python字典创建 遍历 添加等实用基础操作技巧

    2021-05-23 22:22:31
  • asp之家 网络编程 m.aspxhome.com