动画进度指示器的最佳实践:好的交互设计会提供反馈

系统状态的可见性是用户交互设计最重要的原则之一。在使用系统时,用户想要感觉一切都在掌控之中,这意味着在任何特定时间下,他们想要知道并了解他们当前的处境,尤其是在系统正处于繁忙状态时。当系统在处理或者加载进程时,一个等待动画进度指示器是向用户展示系统状态最为常见的形式。


系统状态的可见性是用户交互设计最重要的原则之一。在使用系统时,用户想要感觉一切都在掌控之中,这意味着在任何特定时间下,他们想要知道并了解他们当前的处境,尤其是在系统正处于繁忙状态时。当系统在处理或者加载进程时,一个等待动画进度指示器是向用户展示系统状态最为常见的形式。

动画进度指示器的最佳实践:好的交互设计会提供反馈

(这里有一部分关于Adobe XD的介绍,不翻译了,并且附上了下载地址

在这篇文章中,我们将探讨动画进度指示器的几种主要类型,并提供建议在什么情况如何使用每种类型。

好的交互设计会提供反馈

尽管app的及时响应是最好的,但总有些app为了速度不能及时响应的时候。一个缓慢的响应可能由于互联网连接故障引起,或者源于这个操作本身就会占用一段很长的时间(比如安装OS系统的更新)。

对于这样的情况,为了减少用户的焦躁不安,你必须让用户明确这个app正在运行它的请求,真实的进程正在被处理。

因此,应该提供反馈给用户,让用户了解app在适当时间内正在发生些什么。

永远提供及时反馈的类型

一个用户的等待时间从他们发起操作便开始了,而最糟糕的是用户没有得到任何指示表明系统已经接收到了操作。当一个app无法告知用户完成这项操作需要花费一定时间,用户会认为这个app并没有接受到请求,并且再一次发起操作请求。大量的额外点击和输入输出都归咎于反馈信息的匮乏。

任何操作,比如点击一个按钮或者下滑刷新,都应当有一个及时的反馈。在接受到用户操作请求后,给用户一些及时的视觉反馈去表明操作已经被发起是非常重要的。

动画进度指示器的最佳实践:好的交互设计会提供反馈

下滑刷新操作 来源:Behance

对任何操作的进程指示器花费超过1秒的时间

当app使用超过0.1秒但是少于1秒的时间去响应用户输入时,这感觉好像这个app正在促使结果出现。尽管用户注意到了一小段延迟,他们仍然会专注在他们当前的任务上。但在经过1秒后,用户的注意力开始会分散,他们会意识到正在等待一个速度缓慢的app的响应。

为了减少用户的不确定性,用进程指示器去为需要超过1秒时间响应的操作提供一个等待的原因。(对于任何加载时间不到一秒的操作不推荐使用动画,因为用户对只是一闪而过的画面可能感受到不安。)动画进程指示器缓和了用户等待时长带来的负面影响,并延长了用户在站点或者app上的注意力。

进程指示器的类型

进程指示器告诉用户app需要更多的时间去处理最后的用户操作。最简单的进程指示器形式是不确定的——这些指示器的类型需要用户在操作即将结束时等待,但是他们并不指示需要等待多长的时间。

动画进度指示器的最佳实践:好的交互设计会提供反馈

无限循环动画提供了系统正忙的反馈,但是并不提供任何关于用户将要等待多久的信息。图片来源:Behance

常规上,这种类型的进程指示器应该用于快速的响应(2-10秒内)。使用户盯着旋转轮或无限线性动画更长的时间会增长网站的跳出率,或者使得人们关闭掉app。

另一种类型的进程指示器指示了一个操作需要花费多久的时间(大致上或者是确切的时间)。这种类型的进程指示器被称为确定模式。它们是等待动画反馈时最能提供信息的指示器类型,因为它们展示了当前的进度,现在有多少已经被完成了,以及还剩下多少未完成。一个进程趋于完成的视觉指示器使用户感到放松,并且让他们更愿意等待。

动画进度指示器的最佳实践:好的交互设计会提供反馈

不确定的指示器视觉化不具体的等待时间,而确定的指示器显示了这个操作需要花费多久的时间。图片来源:Material Design

两种最受欢迎的动画进程指示器

有两种最受欢迎的动画进程指示器类型——循环动画进程指示器和百分比完成指标进程指示器。

循环动画指示器

因为大部分的循环动画都是不确定的,并且用于延迟的多种类型(包括很长的那些延迟),所以这种类型的进度指示器趋向于有许多消极影响。比如,在Apple iOS里的一个默认的加载图标(围绕着一个中心点区域面向四周发散灰色线条的旋转器)被用于多种操作系统功能延迟,表明了所有从启动设备到连接网络或加载数据的问题的延迟。正因为如此,用户不想只看见一个没有任何进程或者时间指示的加载旋转器。

动画进度指示器的最佳实践:好的交互设计会提供反馈

看着加载旋转器仿佛在看着时钟转动 —— 当你这样做时,时间似乎停止了。图片来源:appance

百分比指示器

百分比完成指标指示器是一种确定的进程指示器,它从0%填满到100%,并且不会负增长。线性和环形进程指示器都可以是百分比完成指标的形式。

动画进度指示器的最佳实践:好的交互设计会提供反馈

线性百分比完成指标进度指示器。图片来源:Adobe Stock

动画进度指示器的最佳实践:好的交互设计会提供反馈

环形百分比完成指标进度指示器。图片来源:Adobe Stock

常规翻阅网站时,对于使用10秒或更多时间的长进程应该使用百分比完成指标的动画指示器。基于Jakob Nielsen的关于响应时间的研究,10秒是用户在当前任务上保持注意力的极限,在10秒过后,如果没有得到足够的关于等待结果还需要多久的信息,用户会迅速的变得不耐烦。

设计进程指示器的要点

如果不能缩短时间,应该始终试图让等待的时间变得更愉悦。

解释为什么用户在等待

大多数情况下,如果用户被提前告知情况,他们会更为有耐心。通过内含文本的形式,通知用户发生了什么,并且解释为什么用户在等待,这对于增加用户的清晰度是很有帮助的。

动画进度指示器的最佳实践:好的交互设计会提供反馈

Skyscanner告知用户它在检查所有可用的服务商去搜寻最佳航班选择。

为耗时的任务提供一个大致的预估时间

时间不用十分精确,举个例子,“这可能要花费5分钟”就足够鼓励用户继续等待结果出来。

动画进度指示器的最佳实践:好的交互设计会提供反馈

Apple iOS的软件更新预估时间

展示工作完成的绝对量

对无法提前知道需要完成多少工作量的消费时间的操作,使用一个百分比指标指示器是不太可能的,但是仍然可以就明确的已完成的工作量提供运行中的进度反馈。在这种情况下,考虑到展示步骤的数量,因为了解步骤的数量可以至少让用户有一个大致的预估。

动画进度指示器的最佳实践:好的交互设计会提供反馈

当进度无法被准确监控时,考虑展示步骤的数量而不是百分比。

不要停止进度条

进度条确保用户对操作正在多快被处理保留了期待。因此,任何意料不到的停滞都将被注意到并且影响到用户的满意度。最坏可能的情况是当进度条接近99%时突然停止了。大部分用户会对这样的行为感觉挫败,因为这会让他们认为app有故障了。

开心的是,有一个简单的解决方案——采用一致,稳定和持续增长进度条的方式掩饰进程中小的延迟。

动画进度指示器的最佳实践:好的交互设计会提供反馈

图片来源:Behance

让用户感觉进度条很快

记住看起来的感知就和计算机运算速度一样重要。为了让用户感觉进度条很快,可以让进度条在开始时慢一些,而在接近结束的时候移动快一点。这种方式可以给用户一种完成时间很快速的感觉。

动画进度指示器的最佳实践:好的交互设计会提供反馈

图片来源:Bechance

提供视觉上的干扰分散注意力

创造性的进度指示器可以减少用户对于时间的时长观念。如果app在等待时为用户提供了一些有趣的视觉干扰去观看,这会让用户更少的留意到在等待这件事情。因此,为了确保用户在等待什么发生的时候不感觉到无聊,可以提供用户一个干扰来分散注意力。比如下面的例子,干扰可以是有趣的。

动画进度指示器的最佳实践:好的交互设计会提供反馈

图片来源:Behance

或者干扰也可以很可爱…

动画进度指示器的最佳实践:好的交互设计会提供反馈

图片来源:Vimeo

或者是出其不意的抓住用户的注意力,等候app加载。

动画进度指示器的最佳实践:好的交互设计会提供反馈

好的动画可以分散访问用户的注意力,让他们无视很长的加载时间。图片来源:Behance。

传统进度指示器的绝佳替代

正如刚刚所了解到的,当操作需要花费一定时间时,应当让用户明白使用进度指示器。然而,当隐藏在进度指示器后的意图是好的时候,最后的结果常证明是坏的。Luke Wroblewski在他的文章中提到:“定义上的进度指示器唤起注意到用户需要去等待。这就好像等待时钟运转——当你这样做的,时间似乎流逝得更慢了。”随着进度指示器被引用到了UI领域,设计师经常让用户“观看时钟”。尽管这比什么都不做更好,但是UI设计时应当永远致力于让等待变得更为愉悦。

好的是,有一个进度指示器的绝佳替代,技术使得用户在等待时有了更好的体验。这种技术被称为加载占位符,加载占位符(换句话说,临时信息存储器)本质上是一页空白版。比起展示一个进度指示器,加载占位符专注在实际的进程上,并且创造了什么即将到来的预期。随着信息逐渐的显示在屏幕上,这构建了一种事情正在立即发生的感觉,用户会认为在他们等待的时候应用正在运行。

当内容加载的时候,媒体使用这个小技巧像占位符一样展示简单的框架。加载的屏幕也会让用户感觉熟悉加载内容的整体结构。

动画进度指示器的最佳实践:好的交互设计会提供反馈

媒体的焦点在被加载的内容,而不是在加载的事实。图片来源:merhl

结论

不管我们如何使我们的app或者网站运行快速,总是有一些操作和进程需要时间去处理。等待动画,比如旋转等待动画和完成百分比指示器,都通过告知用户目前的工作状态减少了用户感知到的不确定性,并且增加了用户愿意停留等待信息加载的可能性。

经验法则是对于花费2-10s的合理快速反应操作使用一个循环指示器或者加载占位符,而对于超过10s的操作使用完成百分比指示器。当考虑选择加载占位符还是循环指示器时,更倾向于选择加载占位符,因为它有一个重要的优势:加载占位符可以减少对于花费数毫秒的操作的时间感知从而改善体验。

 

译者:xElaine

来源:http://www.jianshu.com/p/c16b2fe97f3c

本文由 @xElaine 授权发布于人人都是产品经理,未经作者许可,禁止转载。

原文地址:https://www.smashingmagazine.com/2016/12/best-practices-for-animated-progress-indicators/

原创文章,作者:Catherine,如若转载,请注明出处:https://www.iamue.com/22999/

(0)
CatherineCatherine
上一篇 2017-05-03 15:15
下一篇 2017-05-03 17:11

相关推荐

  • 从一次活动设计聊聊交互设计师的3个阶段

    我习惯把一次设计中的阶段性方案保存下来,这便于我回忆设计是怎么一点一点被优化的,也便于我整理设计过程中一些具有共性的问题。今年初我们联手中国电信做了一次送听歌流量的活动。把这个需求交由一个新来的小朋友锻炼锻炼,在这过程中产出的阶段性方案具有问题的典型性,不妨把它们看成一个交互设计师 对交互设计 理解的不同阶段。

    2017-05-22
  • 干货!如何做一个让人闻风丧胆的Html5页面

    Specifies the initial zoom factor for the window or viewing area. This is a magnifying glass type of zoom. Interactively changing the zoom factor from the initial zoom factor does not affect the size of the initial or the actual viewport.A two-dimensional transformation is applied to the coordinate system an element renders in through the ‘transform’ property. This property contains a list of transform functions. The final transformation value for a coordinate system is obtained by converting each function in the list to its corresponding matrix (either defined in this specification or by reference to the SVG specification), then multiplying the matrices.The value of the transform property is a list of applied in the order provided. … specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter. … specifies a scale operation using the [1,sy] scaling vector, where sy is given as the parameter.

    2017-06-03
  • 【线下沙龙】产品经理交互设计大会

    2018年产品经理交互设计交流分享大会活动背景一个优秀的产品经理不仅能引导产品的发展,而且还能引导公司的发展。同时,他还是一名优秀的执行者、项目管理和团队管理者,具备敏锐的洞察力,能在用户心理和产品细节间灵活游走,打磨出令人惊叹的产品。所以,在成为CEO之前,先成为一名出色的产品经理吧。然而当我们投入到实际工作中时,总是一次又_次遇到阻碍:和运营、枝术部门沟通不畅,项目推进难。公司要求不高,任务很轻松就能完成,想要挑战大公司,却深知自己...

    2018-04-22
  • 《用户体验可视化指南》视频讲书(3)

    《用户体验可视化指南》书中第一章的第二部分。客户旅程是一条线路,用户地图是多条线路的集中展示,专注于服务蓝图的交互可视线之上的部分。心智模型本质是聚类,空间地图用于更复杂的系统去表达信息流和内容之间的关系。点击视频观看(大约10分钟)兰静同学听后分享这节视频有3个内容,其中有个非常重要的内容,解决了我也疑虑已久的问题:客户旅程图和体验地图,到底有什么区别?视频中详细的说明了二者的区别:一条线和多条线。客户旅程图强调了用户是怎么一步一步做...

    2018-04-01
  • IOS 10人机界面设计指南[中文版]

    随着iPhone7的发布,iOS10普及起来已经不远,所以iOS10的人机交互规范大家也需要学习起来了,分享的是迄今为止翻译得最全面的,iOS10人机界面设计指南[中文版],希望能帮到大家,enjoy!

    2016-10-24
  • 新版MATERIAL DESIGN 官方动效指南(三)

    新版Material Design 官方动效指南已经翻译到第三章了!今天这部分,从动效的运动和材料形变入手,让你的动效自然真实,贴近现实状态。再系统的干货都比不上官方的动效指南,西瓜就在这,赶紧来捡。

    2017-05-23
  • # 干货收藏!一张图教你看懂产品的一生!

    这是Laura Klein创作的一个产品思考图表,你可以在它的指引下一步一步去分析你自己的产品。 思考一下你的产品在每个环节的表现如何,找到较为薄弱的部分,然后想想如何去改善它,接下来就乖乖的回去改线框图吧,把…

    2016-03-15
  • 蘑菇街App改版设计总结

    新版app在短短的一个多月内,完成了从方向调整到开发上线的全过程,而设计在其中仅仅只占一周多,这也是互联网公司面临的共性难题。为了配合产品小步快跑的策略,我们采用敏捷设计的方法:快速地进行竞品分析,根据低保真原型一边进行业务细化和方案讨论,一边进行视觉风格的设计。

    2017-05-12
  • web图像的常见应用策略与技巧

    本文介绍一些关于响应式图像的适配应用策略,回退原理,SVG的换色技巧,雪碧图的百分比定位计算公式等相关的一些小知识点,目的在于帮助一部分同学快速的理清图像应用思路,以及一些web图像的应用技巧。data-src
    data-srcset
    在加载到的时候更换为
    src
    srcset容器元素的尺寸:elW * elH
    单张图片的尺寸:imgW * imgH
    Sprites图片的尺寸:spritesW * spritesH
    单张图片在Sprites图上的位置:imgPosX, imgPosY点的位置为 (x, y)
    容器上的(x, y)点与容器左上角的距离为 cX, cY
    Sprites图上的(x, y)点与本张图片左上角的距离为 sX, sYelW = imgW, elH = imgH
    cX = sX, cY = sYcX = elW * x
    sX = spritesW * x – imgPosX
    elW * x = spritesW * x – imgPosXx = imgPosX / (spritesW – elW) = imgPosX / (spritesW – imgW)
    y = imgPosY / (spritesH – elH) = imgPosY / (spritesH – imgH)

    2017-05-01
  • 交互设计是一个什么样的专业? | 大咖说

    近些年来,交互设计这个词越来越多的出现在我们的生活中,是一个仿佛到处都有,但却又“看不见,摸不着”的东西。所以到底什么是交互设计?百度解释如下交互设计(英文Interaction Design, 缩写IXD),是定义、设计人造系统的行为的设计领域,它定义了两个或多个互动的个体之间交流的内容和结构,使之互相配合,共同达成某种目的。交互设计努力去创造和建立的是人与产品及服务之间有意义的关系,以“在充满社会复杂性的物质世界中嵌入信息技术”为中...

    2018-02-14