《软件观念革命——交互设计精髓》读书笔记(二)

第二章 实现模型和心智模型

  • 实现模型:它描述了程序在代码中实现的细节。
  • 用户心智模型:人们并不需要知道复杂产品的实际工作细节来掌握它的使用方法,为了便于使用,人们在认知上创建了一种简捷的解释方式,这种方式对他们与产品的交互来说已经足够了,但并不一定能够反映产品实际的内部工作机制。
  • 在数字世界里,用户的心智模型和实现模型通常差别很大。我们经常忽略像“手机的工作方式不同于固定电话”这样的细节。而实际上,手机在一个两分钟通话的过程中,要在半打不同的基站天线中交换连接的无线电接收器。了解这些细节并不会有助于我们对它的使用。
  • 表现模型离用户心智模型越近,用户就会发现程序越容易使用和理解。一般来说,假如用户有关任务的心智模型不同于软件的实现模型,向用户提供过分接近实现模型的表现模型会严重地降低用户学习和使用程序的能力。
  • 用户界面应该避免实现模型,而支持用户心智模型。
  • 如果你在同一个硬盘的不同目录之间拖放文件,程序将这解释为移动,这意味着从老的目录中删除文件,并将文件添加到新的目录,和心智模型一致。然而,如果你把文件从硬盘C拖到硬盘D,这种行为解释为Copy,意味着该文件将添加到新的目录,但不会从旧的目录中删除。这与实现模型(底层文件系统实际工作的方式)是一致的。由于我们不得不记住每个卷类型的特殊行为,这点很令人恼怒。
  • 数学思维方式导致界面实现模型化。所有的程序员都熟悉这些算法,包括递归、层次数据结构和多线程。当用户界面试图精确表达递归、层次数据结构和多线程时,问题就出现了。
  • 既然用户能熟练使用自然语言,为什么一定还要他们用另一种不熟悉的语言来表达并重新定义一些关键词呢?(上海书城的查书系统)
  • 不要只在界面上复制机械时代的产品,而不进行信息时代的加强。比如纸质日历每次显示一个月的日期,因为它们受限于纸张的大小,并且一个月是方便的分隔点。计算机屏幕并不受限制,但大多数设计师完全拷贝机械产品。甚至在输入日期时,也要在月历的控件中,选择交互多次得到实际需要日期。
  • 如果依赖于机械时代的语言,我们会创建机械时代的软件。更好的软件应该基于信息时代的思维方式。

第三章 新手、专家和中间用户

  • 在交互和界面设计中,如何用同一个界面满足新手用户和专家用户的需求是长久以来存在的难题之一。
  • 一些程序员和设计师完全放弃这个想法,而选择分别提供新手模式和专家模式,新手模式通常是专家模式过分简化、功能减弱的子集。
  • 而实际上,大多数用户既不是新手,也不是专家,相反,他们是中间用户。新手不会永远是新手,要维持高水平的技术程序也很困难,因此专家们也在快速变化。新手和专家随着时间变化都会倾向于变成中间用户。
  • 新手虽然能很快进步成为中间用户,但他们很少能够继续成为专家。这种用户可称之为“永久的中间用户”。
  • 处于中间状态的大多数用户都很愿意进一步的学习,但通常没有时间。
  • 如果新手用户发现自己几个小时之后仍然不能取得进步,超越新手阶段。他们会完全放弃,然后换另一个。没有人愿意时间长了还对某个任务不称职。
  • 对于程序员来说,他们完全有资格成为所编软件专家,因为他们必须考虑每一种可能的使用情况,无论这些情况多么模糊和不可能,他都需要创建程序代码来处理。他们自然的倾向于设计实现模型方式的软件,并且在交互中对每一种可能的情况都给予同等的重视,因为作为专家他们不存在理解的问题。
  • 我们需要多花一些时间,让程序对永久的中间用户来说功能强大而容易使用。同样,我们也必须包容新手和专家,但不能让所占比例最大的一部分用户感到不舒服。
  • 将用户想像成非常聪明但非常忙的人。
  • 让新手转变为中间用户需要程序提供特别的帮助,如程序能做什么,我从何处开始等,而一旦他成为中间用户后,这种帮助反过来会妨碍用户。这意味着无论你提供什么样的帮助,它都不应该在界面里固定下来。当不再需要这种服务时,这种帮助应该消失。
  • 新手不需要参考消息,他们需要概括性的信息,比如说一份操作指南。
  • 当一个新用户考虑产品时,他会更加信赖专家而不是中间用户的看法。如果专家说:“这个产品不好”,可能意指“这个产品对于专家来说不好”。但是新手不知道这些,他会考虑专家的建议,建议即使这些建议并不适用。
  • 专家需要所有的快捷方式。
  • 专家欣赏更新的、更强大的功能。对程序的精通使他们不会受到复杂性增加的干扰。
  • 永远的中间用户需要能够访问工具。工具提示(Tooltip)是最好的中间用户习语。工具提示没有谈到范围、意图和内容,它只是用最简单的常用用户语言来告诉你程序的功能,而且它使用的视觉空间也最少。
  • 永远的中间用户知道如何使用参考资料,只要不是必须一次解决所有问题。
  • 永远的中间用户会确定他们经常使用和很少使用的功能。他们通常要求把常用功能里面的工具放在用户界面的前端和中心位置,容易寻找和记忆。
  • 永远的中间用户通常知道高级功能的存在,即使他们可能不需要也不知道如何使用那些功能。但是软件具有这些高级特性的事实让永久的中间用户放心,让他们确信,投资购买这个程序是正确的选择。
  • 你必须为专家用户提供那些功能,你也必须为新手提供支持。但更重要的是,必须将你大部分的才智、时间和资源为大部分代表用户——永久的中间用户而设计,为他们提供最好的交互。
原文地址:https://www.cnblogs.com/cj723/p/1268590.html