引导新用户熟悉产品的方式多种多样,向导程序是其中最经典也是最常用的一种。今天的文章,我们来聊聊向导程序的设计模式。

什么是向导程序
向导程序通常会提供一系列的步骤或者目标,让用户在完成步骤达成目标的过程中,逐步熟悉这个平台或者产品。向导程序(Wizerd),或者说是新手向导最初是附带在实物产品的说明书当中,告诉用户如何起步,怎么使用产品。在此之后不就,随着互联网的和数字产品的发展,它也引入到数字产品当中。最典型的,就是各种软件的安装向导。

许多传统的桌面端软件在安装的时候,是有安装向导程序来引导用户完成这个步骤的,直到今天也是如此。这种设计模式是随着Windows 95的大规模普及而得到了推广。

向导程序的好处并不少:

简化任务
将复杂的任务分解成为一系列简单易行的小步骤,帮你进行精简。

分割处理,各个击破。

正如同之前所说的,桌面端软件安装的向导就是非常典型的例子。在安装向导的指引下,用户需要自己复制文件,编辑配置文件,选取安装目录,并检查软件是否正常运行。安装向导将复杂的条件转化为可理解可执行的步骤,它所带来的回报也是明显的:减少了培训和客户服务上的成本。

降低用户决策所需的负担
许多操作和决策是需要专业知识支撑的,但是向导程序很好的解决这个问题,帮用户合理的规避了这些障碍。用户只需要按照预设的路径一步步完成整个初始化过程:“不要让我想,只需要告诉我下一步要怎么做。”

什么时候需要向导程序
向导程序可以在下面情况下发挥作用:

1、用户想要达成一个需要多个步骤才能完成的目标

你正在设计的UI牵涉到一个超长的任务或者是一个无法直接简化流程的任务,而向导程序能够让这个任务的复杂性看起来降低了,而可行性和易用性提高了。

2、用户必须按照特定的顺序来完成的任务

对于必须按照特定顺序来执行的任务,是需要学习的,而向导程序能够降低学习曲线,同时,细分的流程让用户不会错过重要的步骤,降低出错的机率。

向导程序不适用的情况
向导程序肯定不是万能的,甚至可以说它是需要谨慎使用的。将任务分解成小步骤,并不是每次都能给人带来良好的体验:

1、当任务本身并不复杂的时候

当一个任务只需要一个简单的表单,或者点击几下按钮就能完成的话,那么它并不需要使用向导程序来引导用户。

2、当用户本身就是进阶用户之时

向导程序通常会将复杂的问题简化来处理,但是这种解决方案并不能应对所有的用户需求。对于进阶用户,或者说重度用户而言,向导程序常常会显得僵化,他们会觉得受限。向导程序是用来帮助用户的,但是重度用户所追求的自由和定制性常常无法从向导程序中获得。对于创意工作者和程序员而言,尤其是如此。

小贴士:最好是在向导程序以外提供额外的选项。

3、当你想要指引用户的时候

不要使用向导程序来阐述概念。用户在向导过程中阅读大量的补充文本,他们会更加专注于任务本身。

向导程序最佳实践
当你在设计你的下一个产品的向导程序的时候,可以参考下面的最佳实践,来确保它的有效性:

尽可能少的设置步骤
向导程序的UI设计难度在于分割步骤的大小和数量之间的平衡。只有一两个步骤的向导程序根本没有存在的意义,而超过10个步骤的向导程序则会让人觉得过长。最理想的设计是将向导程序控制在3~5个步骤。之后,将你所设计的向导拿来做可用性测试,确保它能为用户所接受。

确保目标明确
在每个步骤当中,你需要让用户明白这个步骤的功能和存在的意义。同时,每个步骤当中,你应该给予用户足够的信息来确保他们能作出正确的决定。想要每个步骤都有明确的目标,这两个东西是关键:

清晰而简洁的向导标签
每个步骤都有简要的目的说明

反例:Homesite 这个网站在第一屏上并未对目标作出陈述,如果用户从其他的页面直接跳转过来,很难立刻弄明白要干啥。

移除不必要的界面元素
不必要的界面元素在用户完成任务的过程中,会分散他们的注意力。删除这些元素能够让用户更加专注。

你应该搞清楚向导程序的边界在哪里,这样才能确保用户明白何时完成。为了让你的向导程序更好的引导用户,你应该让它的这些功能有所体现:

将步骤编号
表明这些步骤推进的方向(从上到下还是从左到右)
区分正在执行的步骤的和待完成的步骤
指示已经成功完成的步骤
完成之后给予用户以确认信息

反例:不要让每一个步骤都是孤立的,最好让它和前后步骤联系起来,让用户看到。

范例:清楚地在步骤旁边标上步骤数字,此外,从UI上体现所有步骤的概述。

提供良好的默认设定
默认值,或者说默认设定是非常有用的。无论你如何安排步骤,用户始终还是希望拥有控制权的,而默认值能给用户作为参考。比如程序的安装位置。

提供取消按钮
有的时候,由于种种原因用户决定放弃执行当前步骤,而取消按钮让用户在决定放弃的时候,有安全的退出路径。

每个步骤都能撤销
如果用户有新的想法,或者有新的主意,那么用户可能会撤销已完成的步骤,重新开始,修改数据,或者完全放弃。让用户可以回到上一个步骤,撤销已经执行的步骤,则能够重新开始引导,按照新的想法来重新设置。

提供摘要
在即将完成整个向导程序的时候,将用户完成过程中所执行的选择总结成为摘要,让用户可以在完成前确认所有的信息。

结语
设计一个良好的向导程序并不容易,你需要做出大量的规划,通过试错来验证设计。希望今天所列举出的最佳实践能够帮你完成向导程序的设计。

如何构建一个向导操作模式程序相关推荐

  1. 使用Spring Boot和MongoDB构建一个React式应用程序

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...

  2. 使用Spring Boot和MongoDB构建一个反应式应用程序

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 如果您要 ...

  3. c语言编写天气预报程序,在Deno中构建一个命令行天气预报程序

    在本文中,我将通过安装Deno运行时,并创建一个命令行天气程序,该程序将把一个城市名称作为参数,并返回未来24小时的天气预报. 要为Deno编写代码,我强烈建议将Visual Studio Code与 ...

  4. Spring Boot:构建一个RESTful Web应用程序

    介绍: REST代表表示状态传输 ,是API设计的体系结构指南. 我们假设您已经具有构建RESTful API的背景. 在本教程中,我们将设计一个简单的Spring Boot RESTful Web应 ...

  5. vr设备应用程序_在15分钟内构建一个VR Web应用程序

    vr设备应用程序 在15分钟内,您可以开发一个虚拟现实应用程序,并在Web浏览器,VR头盔或Google Daydream上运行它. 关键是A-Frame ,这是Mozilla VR Team构建的开 ...

  6. 使用 python 3.6 和 Vmware WorkStation 构建一个小型虚拟局域网通讯程序

    1.测试环境: 宿主机系统:win10.python 3.5 虚拟机系统:win7 64位.python 3.6.Vmware WorkStation 12 2.在[虚拟网络编辑器]中不需要做任何改变 ...

  7. 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!

    [CSDN 编者按]"Elixir.Phoenix.Absinthe.GraphQL.React和Apollo"--在这几个关键词中,有几个是身为开发者的你一直想玩但还没来得及玩的 ...

  8. 渐进式web应用程序_为什么渐进式Web应用程序很棒,以及如何构建一个

    渐进式web应用程序 by Ankita Masand 通过Ankita Masand 为什么渐进式Web应用程序很棒,以及如何构建一个 (Why Progressive Web Apps are g ...

  9. 构建一个运行在Azure虚拟机上的MySQL Spring Boot应用程序

    \ 关键要点 \\ 从GitHub中获取一个简单的Spring Boot Java应用程序.\\t 将应用程序连接到Azure MySQL数据库服务.\\t 在Azure上配置一个运行WildFly的 ...

最新文章

  1. 携程供应商接口数据解密AES/CBC/PKCS5Padding
  2. 矩阵低秩张量分解_【线性代数】张量-张量的计算
  3. 算法导论中C语言代码,算法导论-学习笔记与进度
  4. 下坠的小鸟(flappy bird)速算版
  5. 怎么将arcgis新建工具条如何保存_ArcGIS中寻找最短路径的方法
  6. 二叉树题目----5 平衡二叉树 AND 根据二叉树创建字符串
  7. empty怎么发音_empty是什么意思
  8. java 重载 调用指定_java 方法重载的时候,同一个类,父子类,调用哪个方法的问题...
  9. SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND 0.5MB MODEL SIZE
  10. 《高效人士的116个IT秘诀》读书笔记
  11. C语言编程题必须运行吗,全国计算机二级c语言的的操作题一定要运行吗?
  12. 8.4 单片机按键介绍
  13. 高含盐废水处理资源化——双极膜电渗析
  14. html 输入框 大于0,【前端】input输入框只能输入大于等于0的正数
  15. 计算机太卡了怎么解决,电脑太卡怎么办,手把手教你电脑很卡如何解决
  16. uniapp uniCloud 云开发上传图片与查看图片
  17. 使用fiddler自动化抓取微信公众号文章的点赞与阅读数
  18. 数据库工程师考点2023
  19. SpringBoot+Vue实现前后端分离的小而学在线考试系统
  20. 数据分析终极一问:自然增长率,到底怎么算才合理!

热门文章

  1. MySQL 常用运算符
  2. 关于一道数据库例题的解析。为什么σ age22 (πS_ID,SCORE (SC) ) 选项是错的?
  3. a与a:link、a:visited、a:hover、a:active
  4. 《几何与代数导引》例2.7.3
  5. 维护SAP帮助信息(WEB)
  6. windows下配置opencv
  7. 深入理解C++对象模型-对象的内存布局,vptr,vtable
  8. java audiorecord_Android 录音实现(AudioRecord)
  9. php 正则表达式验证金额,php 正则表达式验证数字
  10. android 7 创建文件夹,Android 在 res/layout 文件夹 下创建一个 子文件夹实例