表单设计:一页只做一件事

  2008年的时候,我在工作。他们想做一个单页的结账页面,运用那个年代最新潮的技术,包括手风琴组件、AJAX和客户端验证。

  每个步骤(寄送地址、寄送选项、信用卡详细信息)都收在一个手风琴面板中。而每个面板都通过AJAX提交。提交成功后,这个面板就会收起,并且通过滑动动画展开下一个面板。

  用户千辛万苦才完成了下单过程。错误难以更正,因为上下滚动并不方便。手风琴面板让人非常痛苦和分心。不可避免地,客户要求我们作出改变。

  我们进行了改版,让每个面板单独成为一个页面,也就不需要手风琴和AJAX了。不过,我们还是保留了客户端验证,防止不必要的服务器请求。

  6年后(2014年),我在*Just Eat*工作,发生了同样的事情。我们设计了一个单页结账流程,其中每个部分都有独立页面。这一次,我记下了相关数据。

  结果是每年能增加2百万订单。要清楚,这是订单量,不是利润。这个数据是基于新版本至少一周后,结账转化率提升的比例得出的。这部分转化成了订单,数量激增52倍。

  Just Eat的结账分为多个页面。我们还在设计中进一步简化了支付页面:用户先选择“现金支付”或“银行卡支付”,然后才会转到相关的页面。可惜我们并没有对这项优化进行测试。

  两年后(2016年),GDS的Robin Whittleton告诉我,把每一步分为单独页面,是一种独立的设计模式,叫做“一页只做一件事”。除了它产生的数据效果,这种模式的背后还有充分的合理性,这部分我们很快就会讲到。

  一页只做一件事,并不是一定要在一个页面上只展示单一的元素或组件(虽然也可以这么做)。比如说,很可能仍然会保留页头和页尾。

  地址输入表单有许多输入框,但它对于用户来说,实际上是个单一的、独立的问题。在专用页面里回答这个问题是有道理的。

  回想一下你第一次看到复杂代数式时的情景。这整个就是一团混乱的未知符号。但是当你将它分解,独立成各个部分,答案便水落石出。

  用户在填写表单时也是一样的道理,或者其他任何重要的事情都一样。如果屏幕上元素减少,只有唯一的选择,阻碍就降到最低。因此,用户会专注于完成任务。

  当用户填写小型表单时,错误可以很容易被发觉,并尽早呈现出来。如果只有一个错误要修正,那就很容易,能降低用户放弃的可能性。

  如果页面的设计很简单,加载就会更快。更快的加载速度能降低用户离开的风险,为我们的服务建立起信任。

  一页上内容越多,就越难以了解用户因为什么离开。不要误会我的意思:页面数据分析不能左右设计,但这是个很不错的副产品。

  如果用户需要频繁提交信息,我们可以把它们以更细的颗粒来保存。举个例子,如果用户中途退出,我们还可以发送邮件,鼓励他们完成订单。

  不要误会我的意思:滚动不是什么大问题——用户的期望中,网页就是这么用的。但如果页面短小,用户就没必要滚动了。主操作项就更容易出现在屏幕视野内,能强调它的重要性,易于任务完成。

  有时候,我们需要根据之前的答案,给用户提供一条不同的路径。举个简单的例子,两个联动的下拉菜单,用户在第一个菜单里的选择,会影响第二个菜单中的内容。

  一页只做一件事可以轻松处理这种情况:用户作出选择并提交,服务器来决定用户接下来看到什么——天然具有简单和包容的特点。

  我们也可以用JavaScript。不过无论是构建还是确保界面的可用性,都需要更高的成本。如果JavaScript出错,用户的体验也就被破坏了。而且,根据所有这些排列组合选项来加载页面,会显著加重页面负担。

  或者,我们可以使用AJAX,但这并没有避免渲染新页面(或者部分)。更关键的是,它并没有减轻服务端的数据往返压力。

  还不止这些。我们需要发送更多代码量,并且发起AJAX请求,还要处理错误、显示加载指示器。这又让页面加载变慢了。

  自定义加载指示器是有问题的,因为它们并不准确,不像浏览器的原生加载进度。用户也不熟悉它们——相对于整个网站来说,它们是特殊的存在。无论如何,相似性是用户体验的惯例,除非真有必要,否则不要打破它。

  而且,页面上有两个动态更新的联动输入项,这会需要用户按照一定顺序来操作。我们也可以通过可用/禁用和显示/隐藏来控制这些输入项,但这样也更加复杂。

  如果页面上内容减少,屏幕阅读器就不必长途跋涉穿过许多多余的次要信息。用户可以直接前往第一个标题,然后迅速开始操作表单。

  想象一下某人正要确认订单。关键时刻,他发现支付信息里有一处错误。此时回到专用页面比找到页面*当中*的某个部分更容易。

  深陷一个长页面中是会令人迷失方向。记住,用户点击链接代表他们要执行特定的操作——页面上的其他东西都是干扰信息。

  长页面还可能会加重工作量。比如说,如果想要在一个页面中展开和收起面板,你就需要更多额外的逻辑思考。

  用户不会只加载一半的页面。要么全部,要么没有。如果他们需要更多信息,就会点击链接,他们有选择能力。只要每一步都更接近目标,用户并不介意点击。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  网站在前期的时候都是很难上排名的吗,那么是因为你的网站基础优化都没做好,怎么可能会有排名呢,首页说到了基础的优化那就要从根本的地方说起。前期就是先把网站的设计和网...

  随着情人节的结束,2月份的设计圈干货大合集悄然更新。新的工具新的资源,依然是以往的分量,依然是相同的味道。和过去的合集相似,免费的素材、工具、服务占据了列表中9成的...

  每个网站都是由不同功能不同类型的页面构成的,当用户打开错误链接的时候,网站的404页面就派上用场了。一个可靠的404页面在告知用户他们走错地方的同时,还应当引导用户继续浏...

  今天来给大家讲讲如何用Axure实现上下滚动效果。 如何实现上下滚动效果: 让内容在显示区域滚动; 内容面板没有接触到顶部时,让内容面板移动至顶部; 内容面板接触到顶部,没有接...

  你还在加班为每一个小功能的实现自己“码码码”吗?今天想早点下班的你,快来看看我最新发现的工具包吧!有了他们,这些功能你只需要直接用,或者用一点时间把他们优化的比作者创造时更...

  二哈讲述了广告业务的流量提升,在讲述提升广告点击率的时候,提到了迎合用户喜好的概念,本篇就来说说如何迎合用户喜好吧。...

  如何设计一个简单的新闻聚合产品?文章介绍了制作极简的新闻聚合产品的7步骤,好奇的你和我一起来看看。 你知道在三四线的县城,用户在哪里看新闻么?不是在今日头条里,而是...

  响应式网页是一种对于设计的全新思维模式,响应是双方的,是互动的过程,在这个过程中设计师要考虑设备的性能、Dom节点数量、屏幕的大小等。 1、如何理解响应式设计(RWD) 响应...

  产出不等于产品,在产品设计中可能我们无法使用户对产品完全获得宜家效应,但我们可以通过宜家效应的思路,一步步引导用户使用产品,为产品投入时间心血,为用户找到存在感和...

  @Mockplus原型设计 :许多人可能认为搜索框不需要设计,毕竟这只是两个简单的元素。然而,在内容繁杂的网站中,搜索框通常是最常用的设计元素。当用户遇到相对复杂的网站时,他们...

上一篇:苏州企业网站制作过程中网页设计中应该注意的二十四点
下一篇:网站如何添加栅格元素让网页协调

欢迎扫描关注我们的微信公众平台!

欢迎扫描关注我们的微信公众平台!