zoukankan      html  css  js  c++  java
  • 第10本:《设计心理学》

    第10本:《设计心理学》

    《设计心理学》这本书是与《给大家看的设计书》一起买的,本来是想让孩子了解设计知识的启蒙书,没想到发现对搞IT的也很有用,根据软件的需求设计用户界面时这些原则还是可以一用的。从书名上有心理学三个字以为书比较难懂,后来又看到香港大学推荐的50本书清单中也包含它,就从书架上把它取了下来。

    这本书是在80年代末发表的,所以有些内容比较旧了,特别是关于IT方面,计算机发展太快,一些作者预想的技术像超文本和智能手机早已经广泛流行了,但其关于设计时要考虑的问题及原则仍是使我受益非浅。

    该书第一章给出了不少的例子,用这些例子说明生活中常见的设计问题:咖啡壶、门、电话、电冰箱、汽车等,指出了可视性、操作线索、匹配、反馈等设计原则的重要性。

    此时,我也看了看我的电话机,刚发现还有计算器功能!除了回拨、免提以外,还有好多其它按钮从来都没按过,也不知道是有什么用处,显示屏上的一堆图标也不知道是什么含义。

    IMG_1809

    全书最后一章阐明了以用户为中心的设计的7个原则,其它章节主要都是用来详细讲述这些内容的。

    (1)应用存储于外部世界和头脑中的知识

    物品上的可视部分给用户了一些操作暗示,因为用户是有相关知识背景的,看到一个把手,他会去握住,如果有轴,他会旋转,看到一个带凹槽的门,他会用 手抠,看到一块大平板,他会用力推,看到冰箱上2个控制按钮,他会联想到冷藏室和冷冻室的操作。这些提示不要增加用户的记忆负担,而要用到自然的存储于外 部世界的知识。

    在一个例子中,一个电话机上多出了一个R键,你给用户了什么提示,估计谁也不知道这是什么功能,回拨还是重拨?

    (2)简化任务的结构

    设计人员应当简化产品的操作方法,通过新技术对复杂操作加以重组。如果有些操作不让用户控制,就可以用自动化的办法去实现。

    不同类的功能可以分组,有时将暂时不同的控制器隐藏起来也是一种解决办法,对于高级用户可以弹出该控制面板来。

    每当产品的功能个数超出控制器的数量时,就容易出现操作问题。

    (3)注重可视性,消除执行阶段和评估阶段的鸿沟

    用户一看便知物品的状态和可能的操作方法(推、拉、转、触摸、敲击?)。在系统的每个状态下,用户能轻易看出哪些操作是允许的,每个操作所产生的结果必须显而易见,易于解释,以便用户建立正确的心理模式,操作行为不应对机器造成任何无法挽回的伤害。

    有时可以将不可见的部分显示出来,或者用声音来辅助或设置合理的显示装置。

    (4)建立正确的匹配关系

    正确的匹配关系不需要任何的图表和标注。如果需要在产品上附加标注,才能把使用方法说清楚,这样的设计就有可能存在弊端。标注的确很重要,有时也必 须存在,但是适当地应用自然匹配原则就能尽量减少使用标注的必要性。每当你考虑使用标注时,就应用想想是否还有其他的设计方案。

    书中用4个控制器来控制电炉的例子说明了匹配的重要性,人类有一种自然匹配的思维方式,如果你违背了这种原则,那么操作这样东西将非常别扭。

    这时我才发现我为什么经常弄错卧室里的两盏灯的开关,原来左边的开关是控制远处靠窗户的灯,而右侧的开关控制近处靠沙发的灯,看来我只有在开关上贴个标签才不会按错吧。幸好这只是一个小问题,如果只有一盏灯开着时,一般我只需来回按上三、四次就能把灯全关了。

    IMG_1810

    又想起来我的海尔冰箱,共有4个控制按钮,但我每次想调节某个室的温度时,仍记不住操作的顺序,原来这里存在就是最大问题就是违背了自然匹配原则。 设计人员为了只保留4个按键,可能主要是美观的原因吧,把大量的功能就无法对应,如果没有一份操作手册在手边,真不知道如何操作。

    照片 1

    离显示面板下方大概有1米的地方有一排四个按钮,C+D一起按下时会有一组功能,屏幕上出现一把锁的图标时又是另外一种状态,4个按钮又有一组不同 的功能,好像某个按钮长按还会有一种状态,实在记不住就画了一张图放在冰箱中备用。原以为自己太笨,调节一个冰箱的温度都学不会,原来作者已经发现了这个 问题:“许多时候,你出现操作错误,你总是隐瞒错误或责怪自己太笨,实际上并不是你的错误,而是设计人员的错误”。

    照片 2

    如果该冰箱的控制面板能够有类似下面的匹配方式就好了,调节起来会方便许多,因为绝大多数情况,你只是想让冰箱自动调节温度,偶尔需要速冻某样食 物,才会调节某个室的温度。当然美观问题需要设计师去考虑,可能还会增加一个按钮,但这三个按钮的排列顺序与冰箱上三个室的排列顺序安全一致,是一种绝对 自然的匹配方式。

    image

    (5)利用自然和人为限制性因素

    尽可能地减少每一步操作时面临的选择。

    (6)考虑可能出现的人为差错

    人会分心,就会出现失误(Slip)。人类思维和理解上的问题也会导致错误(Mistake)的发生。

    在设计时要应对这些失误或错误的出现:①采取措施,防止失误发生;②失误发生后,要能够察觉到问题所在并加以纠正。

    采用及时反馈的设计,让用户可以快速发现错误并进行纠正。

    与差错相关的设计原则:

    ①了解各种导致差错的因素,在设计中尽量减少这些因素

    ②使操作都能够撤消以前的指令,或都增加那些不能逆转的操作的难度

    ③使操作者能够比较容易地发现并纠正差错

    ④改变对差错的态度,要认为操作者不过是想完成某一任务,只是采取的措施不够完美,不要认为操作者是在犯错误

    (7)最后选择,采用标准化

    若在设计某类产品时,无法避免随意的匹配关系和操作中的困难,那就只有一个选择——标准化。标准化的好处在于,无论被标准化的系统本身存在多大程度的任意性,用户只要学习一次,就能知道如何操作这类系统。例如,键盘、交通标志和信号,度量单位和日历。

    要掌握好标准化的时机,倘若太早,人们就会被禁锢在不成熟的技术之中,或是到头来发现标准化时设立的一些规则非常不实用,甚至会导致操作出现差错;倘若太晚,则很难达成一套国际标准,因为各方都坚持自己的做法,不肯让步。

    想想以前五笔字型86版出来后广泛流行,几乎已经成为一种标准了,所以10年后再推98版五笔字型基本上是行不通了。

    其它各章中一些有用的观点:

    第一章 日用品中的设计问题

    如果简单物品也需要用图解、标志和说明书来解释操作方法,这个设计就是失败的。

    第二章 日常操作心理学

    人类心理上的特点:

    (1)一旦两件事接连发生,人们就会认为它们之间具有某种因果关系。

    (2)人们习惯把自己的问题归咎于环境,而把别人的问题归咎于性格。

    人们采取行动的7个阶段:

    (1)确定目标

    (2)确定意图

    (3)明确行为内容

    (4)执行

    (5)感知外部世界状况

    (6)解释外部世界状况

    (7)评估行为结果

    在设计时针对这7个阶段可以提出一些问题:

    (1)有哪些可能的操作?

    (2)具体如何操作?

    (3)如何建立系统状态与用户匹配之间的匹配关系?

    (4)如何才能建立操作意图与操作行为之间的匹配关系?

    (5)用户如何知道系统是否处于所期望的状态?

    (6)如何建立系统状态与用户解释之间的匹配关系?

    第三章 头脑中的知识与外界知识

    这里也讲到了记忆的问题,有三种记忆:死记硬背、关联记忆、理解记忆。

    提醒功能:最好把记忆的负担从头脑中转移一部分到外部世界。这个理念正好是GTD的关键理念之一。

    书中提到了一个理想的日程表?现在的iPhone等智能手机已经实现了。可以随时设定日程、提醒、还可以同步。

    第四章 知道要做什么

    第五章 人非圣贤,孰能无过

    第六章设计中的挑战

    设计人员的两大致命诱惑:增加功能、外观崇拜。

    完美无缺的笔记本,现在的智能手机基本上已经实现了作者的想法。

    第七章 以用户为中心的设计

    用户手册的作用:

    用户手册往往没有发挥出应有的功能,人们通常在设计完某个产品后,在过度劳累、所付出的劳动还未得到回报的情况下,面对时间不足、经费短缺的压力, 匆忙编写出该产品的用户手册。理想的做法是:先编写用户手册,然后依照手册设计产品。在设计过程中,让未来的潜在用户对手册和产品模型进行试用,并把重要 的反馈信息提供给设计人员。

    可惜许多用户根本不读手册。用户手册写得再好,也起不到作用。但若取消用户手册,用户就不大可能知道如何操作一些复杂的产品。设计复杂产品的人员必须考虑到人的这一特性。

    IMG_1806

    IMG_1807

    IMG_1808

  • 相关阅读:
    .NET Core 3.0之创建基于Consul的Configuration扩展组件
    .NET Core 3.0之深入源码理解Configuration(三)
    .NET Core 3.0之深入源码理解Configuration(二)
    .NET Core 3.0之深入源码理解Configuration(一)
    python __getattr__ & __getattribute__ 学习
    nginx+uwsgi+flask+supervisor 项目部署
    Read a large file with python
    MySQL 基础回顾(2020/06/14修改)
    Linux运维: Rsync同步数据(ubuntu16.04+windows10)
    斐波那契数列的5种python实现写法
  • 原文地址:https://www.cnblogs.com/timssd/p/4824147.html
Copyright © 2011-2022 走看看