前端如何提升To B产品用户体验

news2024/9/29 11:29:09

云计算产品发展的早期常以技术为核心吸引客户,功能的实现是这一时期产品优先考虑的因素。经过数十年的发展,云计算行业已经进入了深耕细作的时代,市场的激烈竞争与云产品快速发展的同时,用户对产品的可用性与易用性也有了更高的要求。在这一背景下,能够提供良好用户体验的产品在竞争激烈的市场中才更容易赢得用户的信任与市场的认可。故而,在2022财年伊始,阿里云整个产品层面就提出了要将用户体验作为我们今年最大的目标,那前端作为一个直接面向用户提供人机交互界面的工种,体验优化的提升更是我们义不容辞的责任。本文将从前端入手,探讨如何更好地改善ToB类产品的用户体验。

什么是用户体验?

用户体验并不是指一件产品本身是如何工作的,用户体验是指“产品如何与外界发生联系并发挥作用”,也就是人们如何“接触”和“使用”该产品。

说到用户体验,就不得不提业界内比较经典的书,叫《用户体验要素》,它把体验拆分成了5层要素,如下图所示:

  • 视觉:即是用户所看见产品。
  • 触觉:产品人机交互的过程。
  • 感觉:对产品的满意程度,所使用的服务是否让用户感觉到极致的快感。
  • 逻辑:逻辑上是否用户习惯,是不是下个页面是用户能预测到的。
  • 黏度:用户使用第一次后,用户是不是会再回来使用你的产品。

什么是用户体验我们已经基本搞清楚了,接下来一起看下如何定义体验的好坏呢?

怎么定义体验好坏

如何定义产品体验好坏?通常的做法是通过一个体验模型来综合度量产品体验,常见的模型有Google Heart模型、蜂窝模型、5E模型等

为此,阿里云结合自身的业务特点,制定了一套适合云产品与中后台等B端产品的体验模型–UES(User Experience System)

  • 易用性 - Ease of use:易⽤性是产品使用质量的核心维度,它反应产品对⽤户而言是否易于学习和使用,包含易学性、易操作性和清晰性3个维度。易⽤性的提升可以促进操作效率和任务完成率的提升、降低学习成本、提升⽤户体验和满意度。
  • 一致性 - Consistency:一致性指多款产品间通用范式部分的一致程度,分为整体样式、通用框架和常用场景及组件等维度。对于⽤户⽽⾔,体验⼀致性的提⾼可以降低⽤户的操作时⻓及错误率,降低学习成本,提升⽤户的满意度;对于产品设计及开发者⽽⾔,保持体验⼀致性可以提升开发效能,产品模块的可集成性、稳定性和可延续性更⾼。
  • 满意度 - Happiness:满意度反映着用户对产品或服务的期望被满足的程度,这个指标一定程度上会反映用户再次使用和对产品进行推荐的程度。
  • 任务效率 - Task Success:任务效率包含任务完成率和任务完成时间,云产品的任务链路相对复杂,针对有明确任务或有固定使用流程的产品,通过比对用户路径和产品设计的理想路径之间的差异,能够帮助我们发现产品流程设计上的问题。
  • 性能 - Performance:监控性能的指标有很多,其中最影响用户感知的指标是首屏渲染时间(FMP),指用户从发出请求到看到控制台主要内容的时间。其次,还包括页面请求响应时间、API 请求响应时间等指标。

利用这套模型,接下来我们就可以通过用户调研(问卷、访谈、回访)、用户声音(反馈、舆情、工单)、用户行为(点击率、转化率、跳失率)、系统表现(稳定性、流畅性)等途径和手段获取体验指标,通过对这些体验指标的洞察,初步定位产品的问题和潜在机会。下一步是进行体验的深入分析和论证,推导出优化方法,这才是我们最终的目标。

如何进行体验优化

前面做了这么多工作,就是为了发现产品中出现的体验问题,问题一旦确定之后,接下来就是如何解决这些问题了。下面分别从性能一致性易用性满意度任务效率五个方面阐述在前端层面,如何解决问题。

性能

性能问题是前端体验优化中最为常见的,当产品规模达到一定程度,功能变的越来越复杂,用户量越来越大的时候,那前端的性能问题是一定会出现的。前端的性能问题通常包含以下指标:

  • 服务端渲染(SSR)
  • 资源预加载、懒加载(require、React.lazy)、按需加载
  • 尽可能减少 http 请求数
  • cdn 内容分发网络
  • 压缩图片、雪碧图
  • 骨架屏、Loading、占位符等

那么,阿里云在上半年也针对各个产品线提出了**「一秒极速体验战役」**,采用了PCP(Perceivable Contentful Paint,可感知的内容渲染)这样一个自定义指标来度量用户侧的「首屏感知性能」。规定只有 PCP < 1500ms 才符合日常要求,超过这个值将自动报警处理,若产品线未在规定的时间内做出整改,将直接通报到阿里云高层。经过这样的一次性能体验战役,使得阿里云百万营收工单量同比下降 38%,同时得到了 66% 的受访用户的性能提升好评。

一致性

  • 视觉一致性

视觉一致性主要体现在以下几方面:

  • 颜色(主色、辅色、渐变规律、点缀色、提示色、字体颜色等)
  • 风格(扁平、拟物、极简等)
  • 元素属性(字体、控件、间距、图标、图片风格等)
  • 交互一致性

交互一致性体现在各种页面控件布局、操作交互、页面跳转逻辑等的一致性。

  • 文案一致性* 语气、句式结构统一* 专业名词、相同功能名称、相同操作统一
  • 跨平台一致性

如果我们设计的产品在不同设备端都提供下载使用,那我们也需要注意保持产品在不同软件中的一致性,使其视觉、功能方面很好的统一,用户才能够很快适应,没有陌生感。

为了保证视觉和交互的一致性,我们通常会制定视觉设计规范,采用统一的UI组件,统一的前端框架,封装常用业务组件等方式来解决。而对于文案的一致性,一般靠测试和产品的人工走查为主,当然我们在开发的时候也要尽可能保证文案的一致性。

易用性

  • 易操作性* 键盘、快捷键—支持常用的快捷键、减少频繁鼠标和键盘的切换。* 扩大点击范围* 操作反馈—及时对用户的操作给与反馈,包含成功、失败、等待时间等。* 符合预期—任何操作及跳转都要符合用户心里预期。* 避免重复/过多的操作—不要要求用户多次输入相同的内容或同一操作。* 用户的控制度和自由度—能够执行“取消”操作,选择开通或不开通。* 遵循惯例* 防错、容错处理* 帮助记忆* 灵活高效* …
  • 易学性* 新手引导* 通俗易懂的文案—将复杂的术语、行话和缩写用通俗易懂的方式表达清楚,“说人话”。* 清晰的选项—提供清晰的表单列表,分组明确,需要步骤的明确需要几步,需要准备的东西提前告知。* …
  • 易见性* 可交互的元素应该更清楚的显示出来,避免非交互的元素看起来是可交互的* 选取行高亮* 明确表单必填项* …

满意度

1984年,东京理工大学教授狩野纪昭根据功能满足度及用户满意度画出了一张二维四象限图,即KANO模型,该模型反映了产品性能和用户满意之间的非线性关系。每一款产品都有许多的功能,通常理解下,产品功能增加会带来用户满意度增加,但是KANO模型则反映了更多真相。

必备属性:这一类的产品功能特性是,没有会很糟糕,有了勉强可以及格,但远未达到满意的地步。比如家用冰箱,制冷就属于它的必备属性,即使你把制冷温度能够降到-100度,我也没觉得他让我多么满意,这就是必备属性。必备属性就如同他的名字一样,必须具备但是适可而止,这不是产品功能核心竞争力。

期望属性:这一类产品功能特性是,没有会很糟糕,有了会让人满意度大幅提升。比如一款电动车,如果不能充电续航,我会觉得很垃圾,但是随着你续航里程的持续提升我的好感度会越来越高。这类功能也不是竞争的主战场,不过从用户体验角度来说,100-1=0,我们的产品不应有明显的短板,即便你其他全部满分,期望属性如果有一门打0分,你的总体得分可能也高不到哪里去。因此,最好的状态是期望属性达到平均分即可。

魅力属性:这一类产品功能特性是,没有我也无所谓,而有了会让人满意度大幅提升。如果能把魅力属性提升,那么也就是所谓的“超越预期”的用户体验。提升魅力属性才是我们产品的核心竞争力。

那么带着这个模型回到我们的产品中,不管是一款ToB还是ToC的产品,一旦用户量达到一定的规模之后,必然会为了满足不同的用户而要去实现多种多样的功能。在这些功能和需求提出之前,我们就可以利用这个模型,去想想这个需求它是属于什么属性。不同的属性我们的重视程度和投入度是不一样的,人的时间和精力是有限的,只有把事情的本质、优先级、重要程度弄清楚了,投入产出比才能达到预期。比如,淘宝交易平台在今年终于推出了支持同一个订单可以选择多个收货地址的功能,以及双11预售付尾款前1天可以提前进入“商品结算”页面,查看最终的结算金额、优惠金额,避免像往年一样用户需要自己拿出计算器去计算。在我看来,这2个小的体验优化都属于魅力属性,没有这两个功能,我一样能够下单成功,更改收货地址。可是一旦有了这两个小的功能,用户的满意度就会大幅提升。

最后再以我们DMS产品内的SQL编辑器为例:

最后总结一下:作为前端来说,要提升用户满意度,可以在用户的期望属性和魅力属性上下功夫,精打细磨能够提升用户满意度的一些功能及交互。

任务效率

总结

从前端领域来看,我们对于用户体验关注最多的就是页面性能,同时做的最多的也是各种性能优化。快即是好的用户体验,也是最好衡量的体验标准,好到我们可能把对于用户体验的关注都放在了这里。性能优化的确是提升用户体验的一个重要手段,但不应该成为我们唯一的手段。用户体验的提升不是一蹴而就的,寻常之处见功力,细微之处见真章,只有在不同的体验细节处发力,积少成多,才能产生质变的效果。

的关注都放在了这里。性能优化的确是提升用户体验的一个重要手段,但不应该成为我们唯一的手段。用户体验的提升不是一蹴而就的,寻常之处见功力,细微之处见真章,只有在不同的体验细节处发力,积少成多,才能产生质变的效果。

从用户体验要素层次的划分来看,前端主要服务于表现层和框架层,所以有的时候我们对于用户体验的思考可能就仅局限于这两层。但从用户体验层次的影响权重上来看,越往下权重越高,如果在策略层我们都没有想清楚我们的用户是谁?用户真正需要的是什么?那么我们的产品很可能连触达用户的机会都没有,就更不需要提表现层和框架层对于用户体验的影响了。作为技术同学,我们需要有意识的去打破职能边界,主动以产品设计者的角色去思考,好的产品体验,有时需要的可能就是我们多走那一步的努力。

最后

为大家准备了一个前端资料包。包含54本,2.57G的前端相关电子书,《前端面试宝典(附答案和解析)》,难点、重点知识视频教程(全套)。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

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

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

相关文章

交换机中的冗余链路管理

一 交换机冗余链路许多交换机或交换机设备组成的网络环境中&#xff0c;通常使用一些备份连接&#xff0c;以提高网络的健全性&#xff0c;稳定性。备份连接也叫备份链路&#xff0c;冗余链路等。为了解决共享式局域网的碰撞问题&#xff0c;采用了交换机构成的交换式局域网&am…

C语言静态库、动态库的封装和注意事项

1、动态库、静态库介绍 参考博客&#xff1a;《静态库和动态库介绍以及Makefile》&#xff1b; 2、代码目录结构和编译脚本 参考博客&#xff1a;《实际工作开发中C语言工程的目录结构分析》&#xff1b; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…

chatgpt:人工智能的一次突破,如何正确的创建用户及使用

Chatgpt的正确创建及使用 chatgpt最近在国内也开始有声音了&#xff0c;其实早在去年12月初&#xff0c;该网站就已经可以在国外进行使用&#xff0c;而且很快渗透到了国外各行各业各个年龄段 &#xff0c;最火的当属国外很多学生用它来生成论文&#xff0c;关键是语句通顺&am…

如何开启多个独立Chrome浏览器

一、简介 作为测试或者开发人员&#xff0c;有些情况下会用到 Chrome 浏览器&#xff0c;但有时是同一个 Chrome 浏览器无法为我们提供隔离开的不同环境。这样 我们就需要清理 cache 、切换账号等&#xff0c;降低了我们的工作效率。今天的主题是如何开启多个独立的 Chrome 浏…

LayUI模板引擎渲染数据

前端模板引擎介绍 接上节Spring boot项目开发实战——&#xff08;LayUI实现前后端数据交换与定义方法渲染数据&#xff09; 模板引擎能简化开发&#xff0c;极大提高效率&#xff0c;小编之前使用过JSP和Thymeleaf&#xff0c;以及python的jinja2&#xff0c;这些是后端的模…

spring(二)-----------如何注入bean

我们从第三方框架mybatis为引&#xff0c;看看如何往spring中注入一个bean 1、纯mybatis开发生成一个mapper对象 如果不使用spring的情况下&#xff0c;mybatis想生成一个mapper对象大概需要做下面的操作&#xff1a; 假设我们有了一个TMapper接口&#xff0c;此时获取该map…

12款开源数据资产(元数据)管理平台选型分析(三)

如上&#xff0c;是ChatGPT的百度指数和微信指数&#xff0c;继2022年12月上旬技术圈火热之后&#xff0c;因为微软、谷歌等巨头的推广加持&#xff0c;ChatGPT成为全球大众热源的话题。各大媒体都在消费这波舆论红利&#xff0c;打开微信公众号&#xff0c;劈天盖地各种姿势的…

前后端学习

最近和锴哥想搞一下前后端接口的事儿&#xff0c;但是不会&#xff0c;所以打算再学学前后端的基础知识&#xff0c;之后好抄作业&#xff0c;做缝纫机&#xff1b;达哥觉得我浮躁&#xff0c;这次一定要支棱起来&#xff1b;这次开始&#xff0c;面向openai学习。 前后端学习1…

ChatGPT (可能)是怎么炼成的

学习自李宏毅老师的课https://www.youtube.com/watch?ve0aKI2GGZNg 1.学习文字接龙 学习方式 GPT只需要在网上阅读大量的句子&#xff0c;不需要人工标注即可学习到大量句子接龙的知识 然而实际上&#xff0c;“你好”后面可以接的字有很多。实际上&#xff0c;GPT学的就是…

3、Go基础数据类型

目录一、Go数据类型二、字符串三、强制类型转换一、Go数据类型 基础数据类型 类型长度(字节)默认值说明bool1falsebyte10uint8&#xff0c;取值范围[0,255]rune40Unicode Code Point, int32int, uint4或8032 或 64 位&#xff0c;取决于操作系统int8, uint810-128 ~ 127, 0 ~…

Freemarker介绍

2. Freemarker介绍 FreeMarker 是一个用 Java 语言编写的模板引擎&#xff0c;它基于模板来生成文本输出。FreeMarker与 Web 容器无关&#xff0c;即在 Web 运行时&#xff0c;它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术&#xff0c;而且还可以用于生成 XML…

Python数据结构:概念、栈

1.概念 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说&#xff0c;数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 N.Wirth:“程序数据结构算法’ 2.分类 数据结…

基于comsol软件弯曲单模光纤模拟仿真

在本节中&#xff0c;主要基于实验室实际光纤单模圆柱光纤进行模拟&#xff0c;与comsol案例库文件在分析过程和建模有些差异&#xff1a; 模拟主要通过以下三个步骤进行&#xff1a;模型的几何构建、物理场的添加研究、结构处理分析来进行。 下面是第一步骤&#xff1a;几何…

unity2022.1.8之后版本的新的输入行为控制对象变化

文章目录unity2022.1.8之后版本的新的输入行为控制对象变化怎么导入&#xff1f;如何使用&#xff1f;unity2022.1.8之后版本的新的输入行为控制对象变化 我们先了解大概的逻辑。我们要设置触发行为的方式并且让他和对象的行为绑定&#xff0c;再将行为和对象绑定&#xff0c;…

SpringBoot开发规范部分通用模板+idea配置【项目通用-1】

SpringBoot开发规范通用模板 1 分页插件使用 通过MybatisPlus配置分页插件拦截器 Configuration MapperScan("com.xuecheng.content.mapper") public class MybatisPlusConfig {//定义分页的拦截器Beanpublic MybatisPlusInterceptor getMybatisPlusInterceptor() {…

Pascal版本的 - freopen

参数 filename -- 这是包含要打开的文件的名称的字符串。 mode -- 这是包含文件访问模式的字符串。它包括 - 高级编号模式&说明1个 “r” 打开文件进行读取。该文件必须存在。 2个 “w” 创建一个用于写入的空文件。如果已存在同名文件&#xff0c;则删除其内容并将该文件…

【Java容器(jdk17)】ArrayList深入源码,就是这么简单

ArrayList深入源码一、ArrayList源码解析1. MIXIN 的混入2. 属性说明3. 构造方法4. 其他方法&#xff08;核心&#xff09;iterator 和 listIterator 方法add方法remove 方法sort方法其他二、ArrayList 为什么是线程不安全的&#xff1f;体现哪些方面呢&#xff1f;三、ArrayLi…

(day12) 自学Java——集合进阶(双列集合)

目录 1.双列集合特点 Map遍历三种方式 2.HashMap 3.LinkedHashMap 4.TreeMap 5.源码解析 6.可变参数(形参个数可变) 7.Collections 8.综合练习 1.双列集合特点 ①双列集合一次需要存一对数据&#xff0c;分别为键和值 ②键不能重复&#xff0c;值可以重复 ③键和值是一…

全志H616——用C语言的形式操作数据库

sqlite3_open(const char *filename, sqlite3 **ppDb)该例程打开一个指向 SQLite 数据库文件的连接&#xff0c;返回一个用于其他 SQLite 程序的数据库连接对象。sqlite3_close(sqlite3*)该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关…

【Linux】环境变量本地变量

文章目录环境变量基本概念常见环境变量和环境变量相关的命令为什么带./运行我们的可执行程序本地变量环境变量的组织方式环境变量具有全局属性环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们…