做交互设计都有哪些需要掌握的思维方式

2023-11-05

由于目前的环境对这个细分领域仍然缺乏了解,我希望在这篇文章中写一些交互设计所需的思维方式。

1.可用性优先,视觉靠边

一个功能个功能应该能够使用和使用,以便有人关心它是否好看。审美挑剔的用户实际上比你想象的要少得多。当然,这并不是说视觉设计并不重要,但对于交互式设计来说,解决可用性是最重要的,视觉优化可以在下一个链接中讨论。这一点是非常重要的,我们在用figma或者sketch做交互设计时,可能会优先关注在视觉上。

2.不期望用户的理解、耐心和信任

通过长期的探索和测试,你会发现用户不仅永远不会成长和进化,而且会变得越来越懒惰。十年前,也许你可以用纯文本的小广告来欺骗点击率,但现在没有图片,每个人都懒得看一眼。互动思维需要一种佛陀般的同情心(只是一个隐喻),一丝不苟地关心主流用户(对不起,利基和非主流人士)。如果你对用户的行为感兴趣,你可以看看我之前写过的这篇文章vs真实用户。

比如下图,在分析图中,右边写得很清楚“解析中”帮助用户了解当前在等待什么,进度条帮助减少用户的不耐烦,模糊处理图片给用户“你的图没丢,正在处理?”心理暗示。

3.不脱离目标谈设计设计

交互设计师不喜欢听到:“请设计两个界面,产品列表页和详情页。”

更好的沟通方式是:“我们需要为想要购买商品的用户提供信息。可选商品有N种,用户最感兴趣的信息有……,普通人看不到但必须附上的信息有……”

这不是夸张,而是不同的信息量和重要性,相应的解决方案可能完全不同。并不是说到商品信息,我们都想要淘宝和亚马逊的结构。

比如下图,如果商品细节重要性低,很多人愿意直接购买(比如)AppStore),方案一(左)可以使用,如果产品细节很重要,不看几乎买不到,可以使用方案二。

4.用户期望比逻辑更重要

有传言说,交互设计需要很强的逻辑来梳理页面上复杂的信息。这是错误的。界面存在于易于使用。如果用户不能快速理解和操作,无论逻辑有多正确,都会失去意义。

当你得到很多信息时,你需要考虑的不是改用总分、总分或总分结构,而是用户的基础、主要和辅助功能/信息。详情请参阅我之前写的复杂页面的布局设计。

例如,以下是简书网页端的布局分析:

5.没有奇怪的设计,只有看不懂的设计

那些认为自己非常了解互联网产品的人通常习惯于用公式思维来判断设计的质量。例如,那些符合设计趋势的人(扁平化、卡片化)……)好的,你没见过的,都不好。这种习惯是非常危险的,因为用户从不用这些标准来判断产品的质量。对他们来说,能帮助他们有效地完成任务的是好产品。

例如,在下图中,你可能很少在手机上看到分页,但这并不是拒绝在手机上使用分页的原因。如果列表太多,需要支持用户逐一搜索,并且在搜索和筛选中有一些限制,则可能需要使用分页。否则,用户不会认为你的设计符合当前的流行趋势,但担心无法完成他们想要的操作。

总结

互动思维不能取代任何东西,也不比你以前学到的任何东西更正确,甚至并不是所有的互动设计都应该有相同的思维方式。

如果你是一名互动设计师,我希望这篇文章能激励你更深入地思考你的角色和你能提供的价值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

做交互设计都有哪些需要掌握的思维方式 的相关文章

  • 从 JavaScript 重新启动动画 GIF,无需重新加载图像

    我正在使用动画 GIF 创建动画幻灯片 我正在从一个动画淡入淡出到下一个动画 问题是 我发现确保 GIF 从第一帧开始动画的唯一方法是每次显示时重新加载它 每个 GIF 大约 200KB 这对于连续幻灯片播放来说带宽太大了 这是我当前的代码
  • 选择多选选项最多 2 个

    我正在对不同主题使用多重选择 我想将选择限制为最多 2 个 并且如果用户取消选择 则以相同的方式禁用其他选项 同样 该选项必须可供用户使用
  • 节点异步循环 - 如何使该代码按顺序运行?

    我知道有几个关于此的帖子 但根据我发现的那些帖子 这应该可以正常工作 我想在循环中发出 http 请求 并且不希望循环迭代 直到触发请求回调 我正在使用异步库 如下所示 const async require async const req
  • 如何限制 Chrome 中的最大文本区域宽度和高度或如何禁用文本区域调整大小

    Chrome 允许通过在右下角添加文本区域来调整文本区域的大小 但有时这种移动可能会破坏页面的设计 所以我想知道如何限制该操作的最大和最小宽度 即如何完全禁用该功能和thml javascript css在页面上 您可以使用 resize
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • React 无法识别 DOM 元素上的 `isActive` 属性 - styled-components

    我有以下内容svg我传递道具的组件 import React from react export default props gt
  • 无法使用 Jade 模板包含相对路径文件

    当我尝试将文件包含在同一文件夹中时 收到以下错误 the filename option is required to use include with relative paths 有两个文件 索引 jade 项目列表 jade cont
  • jQuery 在附加元素后立即返回 div 元素的高度 0

    我有一个浮动 div 最初没有内容 我使用 jQuery 将一组元素附加到 div 然后立即调用原始 div 的 height 方法 我添加的元素在样式表中具有定义的最小高度 而浮动 div 则没有 问题是 当我在原始 div 上调用 he
  • 当key未知时如何获取js对象中的属性值

    我有一个对象数组 a 81 25 p 81 25 81 26 p 81 26 我想循环遍历数组并获取值p在每个元素中 for var key in a console log a key outputs 81 25 Object How d
  • es6-module 默认导出导入为未定义

    我不确定我在这里缺少什么 我正在使用 jspm 和 es6 module loader 开发一个项目 我有一个模块定义如下 import hooks from hooks import api from api import tools f
  • FileReader 在 Ionic 2 中未触发 onloadend

    我正在尝试使用 cordova file plugin 读取本地文件 目前我可以读取本地目录的内容并选择单个文件 但我在获取文件内容时遇到问题 这是我的函数 从列表中选择文件后单击按钮即可调用该函数 import window resolv
  • 如何将值从孩子的孩子传递给父母?

    我有一个父组件 有一个子组件 它也有一个子组件 Parent Child One child of parent Child Two child of child 当在子二中定义一个值时 我使用回调将该值传递给子一 但我也想将相同的值传递回
  • Nodejs 异步 Promise 队列

    我需要使用速率受限的 API 例如 我一秒钟只能进行 10 个 API 调用 因此我需要等待当前秒结束才能进行另一个 API 调用 为了实现这一目标 我想创建一个可以自行管理的异步队列 它的主要功能是让我向队列添加一个新的 Promise
  • axios 如何将 blob 与 arraybuffer 作为响应类型处理?

    我正在下载一个 zip 文件axios https www npmjs com package axios 为了进一步处理 我需要获取已下载的 原始 数据 据我所知 Javascript 有两种类型 Blob 和 Arraybuffers
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • JS - 如何将图像对象变成灰度并显示它

    基本上 当单击按钮时 它会告诉移动设备转到相机 一旦相机拍照 它就会给我图像数据 它被称为数据 URL 吗 这是我处理它的代码 var imagesrc data image jpeg base64 imageData var myimag
  • 如何加载Jquery Tiny滚动条

    所以我想自定义一个滚动条 我发现了一个很小的滚动条 这是一个jquery插件 http baijs nl tinyscrollbar http baijs nl tinyscrollbar 问题是 无论如何我都无法让它工作 我将 Jquer
  • javascript 加壳器与压缩器

    我想知道加壳器与压缩器的区别 优点是什么 即您应该在网络应用程序中部署压缩版本还是压缩版本 示例代码 var layout NAVVISIBLE 1 Init function this Resize Dimensions function
  • 数组长度未定义[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图按如
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre

随机推荐

  • Restful API思路

    1 通过服务器重写规则 将所有请求走一个入口方法 例如index php的run 方法 2 通过 SERVER 找到请求方法 请求路径 请求参数 进行初始化参数 3 根据请求路径 走不同model处理 根据请求方法不同 走不同的处理方法 4
  • SystemVerilog 验证-测试平台编写指南学习笔记(3):连接设计和测试平台

    文章目录 1 为什么需要更高层次的方法连接 Testbench 与 DUT 2 SystemVerilog 接口 2 1 什么是接口 2 2 接口怎么连接 2 3 接口的优缺点 3 SystemVerilog 控制通信中时序问题地结构 3
  • 教你快速搭建个人网站

    一 搭建环境 云主机 华为云 操作系统 centos 7 x 源码 GitHub wyt1215819315 autoplan 这是一个自动化的托管系统 目前支持网易云 bilibili 米游社原神签到 测试地址https auto old
  • vue项目在ie11 浏览器运行出现错误解决方法

    一 基础配置 vue cli 版本 5 0 1 配置 browserslistrc 文件 gt 1 last 2 versions not dead ie gt 10 2 配置vue config js 配置 transpileDepend
  • C++堆栈详解

    前言 我们经常听见一个概念 堆 heap 和栈 stack 其实在数据结构中也有同样的这两个概念 但是这和内存的堆栈是不一样的东西哦 本文也会说明他们之间的区别的 另外 本文的只是是以C C 为背景来说明 不同的语言在内存管理上面会有区别
  • java实现只能有一个相同用户登录的功能

    需求 使用相同用户名登录系统 确保同名用户登录顶掉之前用户登录或者返回登录的功能 实现效果图 java实现 首先 1 web xml中配置监听器
  • CMD 查杀端口详细

    1 netstat aon findstr pid 2 taskkill pid id f 杀死端口 注 pid 后面的pid 事 查询的进程id
  • 多元回归预测

    文章目录 效果一览 文章概述 部分源码 参考资料 效果一览 文章概述 多元回归预测 Matlab贝叶斯算法 bayes 优化随机森林的数据回归预测 bayes RF回归预测 多变量输入模型 评价指标包括 MAE RMSE和R2等 代码质量极
  • 工程(二)——DeeplabV3+语义分割训练自制数据集

    目录 1 配置环境 1 1 利用conda新建一个环境并激活 1 2 安装pytorch 1 3 更新bashrc环境 2 安装DeeplabV3 2 1 克隆代码 2 2 下载数据集和预训练模型 3 测试算法 4 制作VOC数据集 4 1
  • windows查看进程,以及是哪个功能启用当前的服务的

    windows查看进程 理论 实战 理论 查看进程启动的详细信息 1 tasklist v 2 wmic process get caption commandline value 可以获取进程启动的命令行参数信息等 获取具体某个信息 1
  • 将经纬度坐标在ArcGIS软件中生成系列矢量数据

    目录 环境介绍 操作内容 操作步骤 1 将经纬度坐标值编辑在excel中 注意x y对应的分别是经度和纬度 2 打开ArcMap软件 加载 xls数据 3 需要选择地理坐标系 4 点矢量数据生成 5 线矢量数据生成 6 面矢量数据生成 环境
  • 【HBZ分享】Mysql的binlog格式分类(STATEMENT, ROW, MIXED)

    STATEMENT格式 全名Statement Based Replication SBR 会记录每一条SQL语句 即SQL怎么写的 他就会怎么记录 无论更改多少行 该格式都不在乎 他只会记录SQL 优点 由于只记录sql 不会记录每一行变
  • 【转】Lwip 断连,连接几次后不通及偶尔不通的问题.

    https blog csdn net hecong kit article details 24415693 新加这个函数 并在tcp in函数里调用一下 出现不通的原因是在网络状态不流畅的情况下 连续连接N次后 LWIP默认不在连接 新
  • 保持ssh会话不掉线

    客户端 sudo vim etc ssh config 之类的文件名 添加 ServerAliveInterval 20 ServerAliveCountMax 9999 服务器端 sudo vim etc ssh sshd config
  • 解决问题:jinja2.exceptions.UndefinedError: ‘form‘ is undefined

    在flask开发的过程中 我遇到了题目上的报错 现放出自己的代码 login py login html 在运行过程中 网址显示 由此可见 login html中存在问题 在终端的报错中可以看到 最后一项报错为 为解决该问题 我在网上搜集了
  • ant-design table 表格头增加tooltip注释

    ant design table 表格头增加tooltip注释 注意屏蔽掉columns中的title属性才会有效果
  • 【一台服务器】【Web服务器】【DNS服务器配置】测试访问

    本次实验仅使用了一台服务器系统虚拟机 后续会在两台服务器系统虚拟机中进行 1 Windows Sever 2008 基本网络参数设置 如果不能解析域名 则需设置红框里面的DNS服务器地址 2 Web服务器网站设置 3 DNS服务器设置 3
  • 单元测试、集成测试、系统测试和验收测试、冒烟测试、回归测试、随机测试、探索性测试和安全测试

    单元测试 集成测试 系统测试和验收测试 冒烟测试 回归测试 随机测试 探索性测试和安全测试 前言 项目前期 中期至发布后测试启动前后我们一般要经历的几种测试方法 1 gt 单元测试 是指对软件中最小可测试单元进行检查和验证 单元测试当一段代
  • 软件测试的目的、原则及流程

    一 软件测试的目的 1 软件测试是为了发现错误而执行程序的过程 2 测试是为了证明程序有错 而不是证明程序无错 发现错误不是唯一目的 3 一个好的测试用例在于它发现至今未发现的错误 4 一个成功的测试是发现了至今未发现的错误的测试 注意 1
  • 做交互设计都有哪些需要掌握的思维方式

    由于目前的环境对这个细分领域仍然缺乏了解 我希望在这篇文章中写一些交互设计所需的思维方式 1 可用性优先 视觉靠边 一个功能个功能应该能够使用和使用 以便有人关心它是否好看 审美挑剔的用户实际上比你想象的要少得多 当然 这并不是说视觉设计并