怎样解决外键约束_《设计心理学》|找寻“设计师”所遇的真正问题与解决之道...

《设计心理学1》作者[美] 唐纳德·A·诺曼 。此书始终强调以人为本的设计哲学,将认知心理学和行为学等多学科的方法导入到设计之中。不仅着重于反思设计过程中出现的问题给用户带来的困扰,更着重于解决问题,用这些基本原则帮助设计师找到真正的问题,及其解决之道。

本文笔者摘取了在阅读过程中作者提到的一些比较重要或具有代表性的观点,书中的内容丰富度远不止这些,而且诺曼《设计心理学》系列书籍一共出版了四册,涵盖了很多领域,有兴趣的朋友不妨看看,例子十分鲜活有趣。

好的设计有两个重要特征:可视性(discoverability)及易通性(understanding)

  • 可视性指:所设计的产品能不能让用户明白怎样操作是合理的,在什么位置及如何操作
  • 易通性指:所有设计的意图是什么,产品的预设用途是什么,所有不同的控制和装置起到什么作用。

交互设计的基本原则

  1. 示能(Affordance)

是指一个物理对象与人之间的关系(无论是动物还是人类,甚至机器和机器人,它们之间发生的任何交互作用)。示能是物品的特性与决定物品预设用途的主体的能力之间的关系。

但示能不是一个属性,而是一种关系。示能的存在与否取决于物品和主体的属性。

  1. 意符(Signifiers)

示能的符号提示功能叫作意符。

预设用途:物品的预设用途为用户提供了该如何操作的线索。

  1. 示能、预设与意符三者之间的区别

示能是人和环境之间可能的互动。有些示能是可见的,另有一些不是。

预设的用途经常表现为意符,但经常模棱两可。

意符是一种提示,特别告诉用户可以采取什么行为,以及应该怎么操作。意符必须是可感知的,否则它们不起作用。

  1. 映射(Mapping)

映射是一个术语,从数理理论借用而来,表示两组事物要素之间的关系。

  1. 反馈(Feedback)
  • 反馈必须是即时的。
  • 过多的反馈可能比过少的反馈更恼人。
  • 反馈需要精心策划,需要以一种不显著的方式确认所有的操作。
  • 反馈也必须考虑优先权。
  • 反馈原则——其含义为:向用户提供信息,使用户知道某一操作是否已经完成以及操作所产生的结果。
  1. 概念模型(Conceptual Models)

概念模型通常是高度简化的说明,告诉你事物是如何工作的。

行动的七个阶段

9605f924367ae9b716f249b949396321.png

行动的七个阶段

人的认知和情感

一个有效的认知和情感的近似模型,就是综合三个层次的处理过程:本能的行为的反思的

设计师必须关注所有层次:本能、行为和反思大脑的所有三个层次一起运作,以确定一个人的认知和情感状态。高层次的反思认知可以触发低层次的情绪。低层次的情绪会引发更高层次的反思认知。

190809c1487e1e495168d98d07c1337a.png

大脑处理的步骤和行动的层次循环

行动的七个阶段:七个基本设计原则

从行动的七个阶段的观点出发,引导出设计的七个基本原则:

  1. 可视性: 让用户有机会确定哪些行动是合理的,以及呈现该设备的当前状态。
  1. 反馈: 关于行动的后果,以及产品或服务当前状态的充分和持续的信息。当执行了一个动作之后,很容易确定新的状态。
  1. 概念模型: 设计传达所有必要的信息,创造一个良好的系统概念模型,引导用户理解系统状态,带来掌控感。概念模型同时包括可视性和评估行动的结果。
  1. 示能: 设计合理的示能,让期望的行动能够实施。
  1. 意符: 有效地使用意符确保可视性,并且很好地沟通和理解反馈。
  1. 映射: 使控制和控制结果之间的关系遵循良好的映射原则,尽可能地通过空间布局和时间的连续性来强化映射。
  1. 约束: 提供物理、逻辑、语义、文化的约束来指导行动,容易理解。

“人的大脑是一个设计精妙,用于理解外部世界的器官。只需要提供一丝线索,大脑便会立即开始工作,对外部世界进行解释和理解。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java dumpheap_java程序性能分析之thread dump和heap dump

一.dump基本概念在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题。这些文件记录了JVM运行期间的内存占用、线程执行等情况,这就是我们常说的dump文件。常用的有heap dump和thread dump(也叫javacore&#xf…

python缩进格式错误的是_19个常见的python错误和异常

19个常见的python错误和异常 错误总是不可避免,尤其是在初学阶段,本文收集整理了1个常见的python错误 1. 忘记添加: 在if, elif, else, for, while, class,或者使用def定义函数的名称后面忘记添加:,就会引发 SyntaxError if 3 >…

json string 格式_GO小知识之如何做JSON美化

经常有些小知识想分享出来,但又构不成体系,一直觉得文章形式发出不太合适。准备以 "知乎想法" 分享出来,但发现代码展示不太友好。还是发文章吧,该类分享将以 "小知识" 为前缀。后端http接口测试常需要打印 J…

2019计算机二级java软件_2019年计算机二级Java考试冲刺题及答案(2)

1.下列数据结构中,属于非线性结构的是()。A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结构中,能够按照“先进后出”原则存取数据的是()。A.循环队列B.栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是()。A.队头指针是固定不变的B.队…

python导入模块有几种方式、各有什么特点_Python导入模块的几种姿势

作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题: 常规导入(regular…

java 对象引用 弱引用吗_谈谈Java对象的强引用,软引用,弱引用,虚引用分别是什么...

整体结构java提供了4中引用类型,在垃圾回收的时候,都有自己的各自特点。为什么要区分这么多引用呢,其实这和Java的GC有密切关系。强引用(默认支持模式)把一个对象赋给一个引用变量,这个引用变量就是一个强引用。强引用是我们最常见…

python图像几何变换_Python 图像处理 OpenCV (5):图像的几何变换

前文传送门: 图像缩放 图像缩放只是调整图像的大小,为此, OpenCV 为我们提供了一个函数 cv.resize() ,原函数如下: resize(src, dsize, dstNone, fxNone, fyNone, interpolationNone) src 表示的是输入图像&#xff0c…

java中main方法返回类型是6_[单选] Java application中的主类需包含main方法,main方法的返回类型是什么()。...

[单选] Java application中的主类需包含main方法,main方法的返回类型是什么()。 更多相关问题 关于超声在人体中传播的速度,叙述正确的有A、与人体组织的弹性有关B、与人体组织的密度有关C、与人 患者女,50岁,2年前超声发现甲状腺右叶单发实性结节, 0.7 cm0.5 cm。先后数家…

linux中python编辑器_Linux下9款最好的Markdown编辑器

首先, Markdown是使用Perl编写的,简单、轻量级的工具,允许用户编写纯文本格式和高效的html或者XHTML。它实际上是一个易于阅读,易于编写纯文本的语言和文本到HTML的转换的软件工具。 希望你有一点了解,Mrakdown是什么&…

java监听数据库操作_第十六篇——JDBC操作数据库之监听器

JavaWeb应用中,很多的地方都和session有关。因此session相关的事件监听器,在日常工作中非常有用。有时候我们需要统计当前在线的人数和访问人数总数,此时就可以使用监听器技术来很简单的实现这种功能。注意:session并不是浏览器关…

pythonsuper函数_怎么使用python super函数调用父类

怎么使用python super函数调用父类 发布时间:2020-11-19 09:19:47 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下怎么使用python super函数调用父类,希望大家阅读完这篇文章后大所收获,下面让我们一起…

java listview颜色_[摘]android listview选中某一行,成选中状态颜色高亮显示

构造自己的adapter,在getView中,设置颜色,点击item,刷新listview。代码:view plaincopy to clipboardprint?import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;impor…

python2.7安装matplotlib_Ubuntu-Python2.7安装 scipy,numpy,matplotlib 和pip

一、 scipy,numpy,matplotlib sudo apt-get install python-scipy sudo apt-get install python-numpy sudo apt-get install python-matplotlib python import scipy import numpy import pylab scipy.test() numpy.test() pylab.test() 二、pip 1、先说一下什么是pip pip 是“…

instring java_Decode a string in Java

java中decode字符串:public class Utils {private static Pattern validStandard Pattern.compile("%([0-9A-Fa-f]{2})");private static Pattern choppedStandard Pattern.compile("%[0-9A-Fa-f]{0,1}$");private static Pattern va…

加装的硬盘进入后点不了文件夹_在外接移动硬盘上制作win to go教程

有很多使用Mac Book的小伙伴免不了要使用一些Windows下才有的软件(强行暗示Solidworks),这类的大型软件在虚拟机当中运行稳定性又不太好,所以双系统便成了许多人的选择,但boot camp让本就拮据的机身内存雪上加霜,由此win to go便成…

java使窗体最大化_[转]java窗体运行时最大化及关闭方法示例

其实这原本是一个有关java的基础话题,不过既然有人提出来,不妨说两句,顺便也可做为初学者的一个参考。//1.窗体启动时最大化//Frame1.javaimport java.awt.*;import java.awt.event.*;import javax.swing.UIManager;public class Frame1 exte…

python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条

F12打开网页调试工具:选择“网络”选项卡后,发现有很多响应,我们筛选一下,只看XHR响应。(XHR是Ajax中的概念,表示XMLHTTPrequest)然后我们发现少了很多链接,随便点开一个看看&#x…

openjdk怎么执行java命令_Ubuntu 18.04 上使用 OpenJDK 安装并运行 Tomcat

在Linux上安装与卸载JDK和JRE,两种常用方法:一、通过 apt-get 命令在线进行安装与卸载(会自动配置好环境变量)二、通过下载并解压 .tar.gz 包进行手动安装与手动卸载(需要手动配置环境变量)注:javac命令是JDK中的,java命令是JRE中…

vscode卸载background插件_萌妹程序员鼓励师24小时在线陪你写代码,给我吹爆这个VSCode插件...

开源最前线(ID:OpenSourceTop) 猿妹综合整理项目地址:https://github.com/SaekiRaku/vscode-rainbow-fart最近,Github上有一个名为Rainbow Fart的VSCode 插件被玩坏了,有了这个插件,程序员鼓励师这个物种就要灭绝了。为…

python webui测试ie浏览器环境配置_python+selenium做ui自动化测试用法必会

一、前言大家都知道,基于Web端的测试的基础框架是需要Selenium做主要支撑的,这里边给大家介绍下Web测试核心之基于 Python 的 SeleniumSelenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用…