写点什么

表单设计: 一页只做一件事(三)

  • 2019-12-30
  • 本文字数:1315 字

    阅读完需:约 4 分钟

表单设计:一页只做一件事(三)
  1. 解决了性能问题


如果每件事都复杂无比——单页应用就是一个极端例子——性能问题就很难解决。是因为执行时间问题?内存泄漏?还是 AJAX 请求导致的?


人们很容易认为 AJAX 能提升用户体验,但增加代码量很少情况能创造更快的体验。


复杂性转移到客户端,会掩盖服务端的根本问题。但如果页面只做一件事情,性能问题就不容易产生。如果真发生了问题,排查原因也很容易。


  1. 它有一种在前进的感觉


因为用户在不停地前往下一步,会产生一种正在前进的感觉,在用户填写表单时给他们一种积极的感受。


  1. 降低丢失信息的风险


长表单需要更长时间来完成。如果所花时间太长,页面超时可能导致信息丢失,产生严重的挫败感。


又或者,电脑可能卡死,*《我是布莱克》*里的主角 Daniel 就是这样的例子。他的健康每况愈下,而且第一次用电脑就遇到了死机,然后数据丢失。最终他放弃了。


  1. 第二次使用的体验更顺畅


比如,假设我们储存了用户的支付信息,我们可以直接跳过那一页,直接带他们去“结账确认”页面。这会减少阻碍,提升转化率。


  1. 这是移动优先设计的一种补充


移动优先的设计,提倡在小屏幕上只呈现最重要的信息。一页只做一件事,也遵循着相同的方式。


  1. 设计过程很简单


当我们设计一套复杂流程时,分解成细小页面和组件,可以让人更容易理解这些问题。


还可以方便地调换页面来改变顺序。我们一次只研究一件事,这点和用户一样,能让我们更轻松地分析问题。


这可以减轻设计负担——这种模式让用户受益的同时,还能有这样的附加福利。


这种模式适合所有情况吗?


也不完全是。Caroline Jarrett 在 2015 年写过一篇文章《一页只做一件事》,里面讲得很清楚。她解释道,用户调研“会告诉你某些问题组合起来放在长页面里更合适”。


但是反过来,她也提到了“对于设计师来说‘属于一组’的问题……对于用户而言,并不一定要放在一个页面上”。


她提出了一个颇具启发性的例子,GOV.UK 的验证页面中,他们尝试把“创建用户名”和“创建密码”先后放在两个页面上。


就像许多设计师所认为的,Caroline 觉得把这两者放在不同页面有点太过了。实际上,用户对此一点也不介意。


关键在于,以一页只做一件事为出发点,然后通过用户研究,验证把其中一些项目编组合并,是否能进一步改善用户体验。


这并不代表最终结果一定是把页面合并——在我经验中,最好的结果往往是把事情拆分开来,仅此而已。当然,我也希望听听你的经验。


总结


这种低调不起眼的用户体验设计模式很灵活、高性能、有包容性。这是真正拥抱互联网的方式,对于自信满满和小心翼翼的用户而言都很简单。


一个页面上展现很多(或者全部)内容可能会营造一种简单的幻象,但就像代数式问题一样,除非把它们分解,否则很难处理。


如果把任务看作是用户想要完成的一笔交易,把它分解为多个小步骤很有必要。这就像我们在用网页的一砖一瓦来搭建渐进式表单。每一页背后的隐喻,都给潜意识营造一种正在前进的感觉。


我还没有遇到过哪种其他的设计模式,能具备这么多的优点。这就是那种真理时刻——答案总是最简单的。


作者信息:Adam Silver


原文链接:https://www.smashingmagazine.com/2017/05/better-form-design-one-thing-per-page/


本文转载自 Think 体验设计公众号。


原文链接:https://mp.weixin.qq.com/s/7yIAqH7nFhPHMtfmi_VeaQ


2019-12-30 18:02728

评论

发布
暂无评论
发现更多内容

第8周课后练习-性能优化二

潘涛

架构师训练营 4 期

《DDD with TLA+》(1) 建模思考

陈皓07

译文 | 深度剖析 Pulsar Functions

Apache Pulsar

大数据 kafka 开源 pulsar Apache Pulsar

《DDD with TLA+》(3) DEBUG & MODELING

陈皓07

《A Tour of TLA+》

陈皓07

微服务架构设计与最佳实践

万俊峰Kevin

微服务 go-zero Go 语言

架构师训练营课程纲要

陈皓07

架构师进阶之《做踏实的架构》

陈皓07

这段时间的记录有点太水了

Nydia

博文推荐 | Apache Pulsar 延迟消息投递解析

Apache Pulsar

kafka 开源 RocketMQ pulsar Apache Pulsar

《函数式编程精粹》(2) 热身:A STACK BASED CALCULATOR

陈皓07

《DDD with TLA+》(2) 系统行为

陈皓07

产品训练营 - 作业 5

简小一

如何写好一份解决方案

数列科技杨德华

28天写作

网络故障的排错思路指南

Wiki.js 配置 LDAP 认证

东风微鸣

wiki

与前端训练营的日子 -- Week17

SamGo

学习

【答疑点评必看】如何从「数据范围」中找到解题「突破口」...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

Java 并发系列(一):多线程三大特性

TroyLiu

Java 多线程 原子性 可见性 有序性

《函数式编程精粹》(3) Functional Design

陈皓07

《DDD with TLA+》(4) Transaction Commit

陈皓07

无利不起早——聊聊学习动机

Justin

心理学 激励 28天写作 游戏设计

android布局优化!Android屏幕适配很难嘛?其实也就那么回事,内含福利

欢喜学安卓

android 程序员 面试 移动开发

递归的人生哲学

Nick

数据结构 算法 递归

架构师训练营第九周作业 - 命题作业

阿德儿

更新啦!第 59 期《HelloGitHub》开源月刊

HelloGitHub

GitHub 开源

join为啥会阻塞主线程?

叫练

join

架构师进阶之《Your Mouse is a Database》

陈皓07

Elasticsearch Fetch Phase

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

android程序开发!2021Android精选面试实战总结整理,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

《函数式编程精粹》(1) 函数式思考

陈皓07

表单设计:一页只做一件事(三)_语言 & 开发_Think体验设计_InfoQ精选文章