时间选择控件在产品设计中是一个非常常见且通用的元素,在各种产品中几乎都有应用。随着各种App和网站类产品在不同操作场景中的渗透发展,我们在进行产品设计时也应更追求功能实现方式的“恰如其分”。本文将探讨时间选择控件在各类场景中的选择与应用。

01

什么是时间选择控件

时间选择控件是引导用户选择时刻或时段的一种可操作对象。

时间选择控件的出现,表明了功能的实现需要用户参与设置时间,或用户可以按照时间维度来获取所需信息。并且,它限定了功能中时间可被设置的格式,简化了时间设置的操作流程,避免了用户直接使用键盘输入的情况下可能出现的多次试错操作。

用户通过功能中的时间选择控件,可以快速了解功产品支持的功能操作,并且可以明确产品支持的时间设置格式,节省了用户对产品功能的学习时间。

02

为什么要在功能中加入时间选择控件

时间格式可以看作是文本+数字+符号的选用及组合,具有非常多种。比如,我们在填写一些登记表时,在出生日期那一栏,我们可以写作:1990.1.1或1990/1/1或1990年1月1日,又或1990-1-1等等。

在设计产品功能时,使用时间选择控件和文本录入控件均可完成对时间的设置,但文本录入控件需要用户自行输入,面对时间格式的多种选择,势必会令用户感到为难。

若使用时间选择控件则可以规避这样的问题,这主要是由于时间选择控件具有以下三个作用:

1、明确时间设置格式

时间选择控件明确了功能中时间设置的格式,用户操作控件进行选择即可。若使用文本输入控件,有太多时间格式可选择,这会在用户操作时给用户带来使用负担。

比如,在Excel中对于时间格式的设置,就有这么多种选择,若将语言切换为英语,还会出现更多类型。

使用时间选择控件,用户可以直接从界面的显示上了解功能中的时间格式,免去了用户对于时间格式选择的苦恼。

2、增强用户操作的确认感

使用文本录入的形式设置时间,由于时间格式太多又涉及到中英文语言的切换,在输入的时候,用户并不能确认自己选择的格式是否正确。使用时间选择控件,会消除用户操作时的疑虑,增强操作的确认感。

在下图中,需要用户设置预约日期,若是文本录入的形式,很可能会引发用户思考是否需要填写年度信息,还是仅仅输入月份和日期即可。使用时间选择控件,按照控件的设置依次选择年月日后再进行提交,对用户来说更具对操作的确认感。

3、避免用户错误的录入操作

文本输入的多种时间格式和符号语言类型选择,会明显提高用户错误录入的几率。在多次试错操作后,用户或许仍旧无法完成时间的设置。使用时间选择控件,可以有效降低用户录入错误的几率。

还是举上面填写预约日期的例子,如果用户连续尝试输入多种符号与阿拉伯数字组合成的年月日格式,一直无法成功保存,最后发现功能限制预约日期为纯数字的格式,用户一定会非常崩溃。

03

怎样选择合适的时间选择控件

1、判断场景中时间要素的类型:

时间选择控件从形式上可大致分为两大类:选择时间点和选择时间段,我们可以根据场景中对时间要素类型的要求来进行引用。

1)场景中,功能完成的时间要素为确定的时刻,选择指定时刻的控件。

在这类场景中,用户的行为或功能的执行是在某个时刻发生且能立即完成的,不具备时间上的连续性。

所以,仅需要用户指定一个确定的时刻,即可达成功能的使用目的。

例如设置闹钟及预定车票,闹钟的响起和列车的出发,都是在某个时刻发生的:

2)场景中,功能完成的时间要素为一段时间,选择指定时段的控件。

当用户行为或功能执行具有“自某时开始,至某时结束,以及期间内所有时刻,当前操作均生效”的属性时,场景中的时间要素为时间区间,就需要使用至少两个指定时刻的控件来进行时段的设置。这两个指定时刻的控件,分别对应时间段中的开始时间和结束时间。

例如预订酒店的场景,用户需选择“入住日期”及“退房日期”来选出符合入住需求的酒店:

2、判断场景对时间精确度的要求

在确定时间要素的类型之后,需要判断场景中时间要素的精确度,从而得出时间选择控件的形式。场景中时间要素的精确度,需要满足用户对于时间要素设置的需求,同时避免场景中时间设置功能的冗余操作。

1)恰当的时间精确度,需要满足同一场景中不同用户对时间要素的设置需求

我们的产品功能,需要满足不同用户在同一场景下的使用目的,因此对于场景中,用户参与设置的时间要素,我们也应当考虑其精确度上的通用性,即对于时间选择控件来说,选择合适的精确度,以保证不同用户的使用需求。

例如同样是设置提醒,当事件的时间跨度为一天时,例如纪念日,用户需要对事件进行全天提醒设置,则仅需要时间精确度为“天”的时间选择控件即可;若是需要将事件的提醒范围设置成一天中的某个时间段时,时间选择控件的精确度便需要到“小时”或“分钟”。

定义功能中的时间选择控件精确度时,需要满足场景下不同用户的使用需求,提升功能的通用性。

2)恰当的时间精确度,应当避免场景中时间设置功能的冗余操作

虽然时间选择控件支持多种时间精确度的定义可以满足不同用户的使用需求,但也不能为此,在不考虑实际使用场景的情况下将时间选择控件的精确度定义得过细。这样反而可能造成用户在使用时间选择控件时,进行在其使用目的之外的多余操作。

例如,在支付宝查看交易记录的场景中,对于普通用户和入驻商家这两类角色的用户,两者用到的时间选择控件精确度是不同的。

商家使用精确度到“秒”的控件,由于其拥有的交易数据量很大,使用精确度更细的时间选择控件,可以便于其筛选目标数据,若是使用精确度更粗的时间选择控件,对于大量的交易数据可能起不到商家希望达到的筛选作用。

如果在普通用户使用的账单产品中,也像商家那样,使用精确度到“秒”的控件,而普通用户却没有这样精确的筛选需求。当看到这样的时间选择控件,用户可能会认为需要按照时间选择控件的格式,一直选择到最细的时间精确度才能完成功能的使用。这无疑为用户带来了产品使用中的多余操作。

粗略来看,常用的时间选择控件的精确度按照由粗到细可分为以下几个层级:

我们可以先根据场景中用户对功能的需求将时间选择控件的精确度定位到较高的层级,再选择对应层级中最合适的精确度。

若是最终选定的精确度颗粒较大,需注意是否满足场景中不同用户对功能的使用需求;若是精确度颗粒较小,则需确认是否会给目标用户造成疑惑,从而进行不必要的操作。

另外,对于指定时间段的同一组控件,开始时间与结束时间的精确度需保证统一。

 

04

提升时间选择控件在场景下的易用性

经过上面的步骤,基本已经可以确定出我们在功能中引入的时间选择控件是怎样形式与怎样精确度的。

然而,同类型场景下衍生出的各个产品,在功能实现形式上大同小异,却往往有那么几个产品让人感觉特别顺手且便捷。他们的特殊在于,在功能设计上,通过一些小细节提升了产品整体的易用性。

我认为,对于时间选择控件这个元素,可以从以下几个维度来提升产品易用性。

1、增加参考值

时间选择控件中的参考值,指的是控件中时间在其他维度的属性。

时间参考值的存在,解决了用户面对单一维度的时间展示形式时,难以做出选择的问题。除非用户对时间的选择意愿非常明确,若是时间选择控件中仅展示时间的主体属性,无法体现出不同时间的特性,对用户来说,他面对的选项间没有足够的差异度,就像是要求其从同类项中选出特殊项一样难。

在时间选择控件中增加时间的其他属性,可令时间之间的差异度变得明显,用户借助这些参考值,更容易进行判断并做出决定。

比较常见的做法有,将日期选择控件设计成月历的形式,用户使用时可以参考某个日期对应的是礼拜几。就像在一些出行类产品中,时间选择控件上还会标注公休日、法定节假日,帮助用户顺利地选出时间。

2、设置初始值

时间选择控件中的初始值指的是,在用户未对时间选择控件进行操作前,时间选择控件中默认选中的时间。

对于时间选择控件设置初始值,能对不熟悉产品功能的用户形成操作引导,直观展示产品功能。某些场景中,时间是数据展示内容的主要决定因素,未对时间进行定义时,无法获取匹配的数据进行展示。面对没有值的操作界面,对不熟悉功能逻辑的用户来说,产品的使用会变得更加难以上手。

所以在这样的功能场景中,通过为时间选择控件定义初始值,可以帮助初次进入功能的用户快速知晓产品功能,进行主动操作后进一步了解产品功能。

通常,在时刻选择控件中,初始值会设置为用户进入当前功能的时间。

而在时段选择控件中,会对开始时间和结束时间都设置初始值,其中结束时间的初始值常常取用户进入当前功能的时间。

另外,时段选择控件的初始值的设置需要遵循业务属性。

比如在查询交易账单的功能中,账单中的数据产生于过去,账单查询具有“至今为止”的业务特性。所以,在为账单筛选器中的时间选择控件设置默认时间时,首先能够确定的是结束时间对应的默认值。

但在预订酒店功能中,入住日期和离店日期均是未来的日期,到店入住的行为具有“自今而后”的属性。并且入住日期是离店日期确定的前提,所以会对入住日期取初始值,再顺延n个自然日,作为离店日期的初始值。

3、提供常用设置

时间选择控件中的常用设置是指,对于固定长度时间段选择的快捷操作。例如“今天”、“最近一月”、“最近三月”等等。时间选择控件的常用设置,经常应用于不同用户对于功能的使用目标比较稳定或相似的场景中。比如订单查询的场景,用户对于时间区间的设置就比较稳定。每月按照固定的周期来筛选订单数据,随后对几个周期内的数据进行比对分析,可以得到更准确的分析结果。

当功能场景具有“用户范围固定、使用目的相同”,或“用户范围不定、使用目的相似”的特性时,可以在时间选择控件中增加常用时间段快速设置按钮。这样可以帮助用户快速达到使用目的,提高功能的使用效率。

4、选择恰当的交互手势

恰当的交互手势,能够帮助用户快速选中目标。交互手势根据操作终端的不同,具有不同的类型。若时间选择控件的交互手势选择不当,会提升用户对时间选择控件的误操作次数,引发用户的不满。

我们应当选取功能操作所在的设备上,用户惯用的操作方式/手势,作为时间选择控件的交互手势。例如,在PC上,功能的操作空间相对较大,用户也更习惯鼠标点击的方式来选中目标。而移动设备的屏幕较小,对于目标密集的区域,通过点击的方式比较难以选中目标,这样既会引发用户的误操作。误操作的次数过多,更会导致用户放弃使用产品。

 

总结

时间选择控件是一个非常常见的元素,在各类产品中都可能会出现,正是因为这样,衍生出了各种各样的形式。我们在进行产品设计时,不能一味照搬别人的产品,需要代入我们产品对应的实际场景,选择在最恰当的时间选择控件。

↘好文推荐:

王慧文清华产品课

写给未来产品总监的一封信

菜鸟网络 | 寄件业务的产品逻辑

点个“在看”吧

时间选择控件在不同场景下的应用相关推荐

  1. timepicker时间选择控件 时:分:秒

    timepicker时间选择控件1.0 结构: <!--html 部分--><div class="timepicker-box" style="wid ...

  2. 基于vue和ElementUI时间选择控件的封装

    基于vue和ElementUI时间选择控件的封装 最近有个需求就是需要把查询控制在最近六个月,还要要求时间的可选范围,在网上找了好久都没有找到,于是就自己动手写了一个,希望对大家有所帮助,也是记录自己 ...

  3. van的时间选择控件van-datetime-picker的坑

    van的时间选择控件van-datetime-picker的坑 以type='date'的van-datetime-picker为例: <vant-date-pickerv-model=&quo ...

  4. 【Android从零单排系列十一】《Android视图控件——日历、日期、时间选择控件》

    目录 一.日历.日期.时间组件基本介绍 二.几种常见的控件类型 1.CalendarView –日历控件 2. DatePicker –日期选择控件 3.TimePicker –时间选择控件 4.Ch ...

  5. [Android]Space控件的应用场景

    Space控件是在Android 4.0中加入,是个空白的view,一般用于填充View组件中的间隙. support-v4包里提供了兼容低版本的Space控件. #源码分析 Space控件源码非常简 ...

  6. 12款优秀的 JavaScript 日历和时间选择控件

    这些插件能够帮助  Web 开发人员更快速的实现各种精美的日历和时间选择效果. 1. The Coolest Calendar 界面非常漂亮的一款日期选择插件,有详细的使用文档,最新版本 1.5. 点 ...

  7. C# 将控件的Controls属性下的所有控件取出以便使用LINQ语句进行查询

    /// <summary> /// 将容器的Contro属性下控件的转换成枚举类型以便使用LINQ语句进行查询/// </summary>/// <param name= ...

  8. C# 根据Combobox控件来动态显示TabControl下的子元素

    根据下来列表来动态显示TabControl下的元素 需要准备两个控件:Combobox (命名为:cbPrjType)和 TabControl (命名为:tabPrjType),TabControl下 ...

  9. AndroidStudio安卓原生开发_UI控件_Spinner用法_下拉选择框---Android原生开发工作笔记100

    容器控件,每一项都是一个控件. spinner是下拉列表控件 这个spinner控件是继承至viewgroup,因为他需要容纳多个小控件 首先我们去定义一个字符串数组,资源 先去升级了一下androi ...

最新文章

  1. 软件测试培训教程:pytest与unittest区别
  2. C语言之数组中你所不在意的重要知识
  3. ThomasGDietterich_MachineLearning_personalSite
  4. 【Linux指标】内存篇
  5. 2020-10-27(dex文件解析)
  6. 啊,苏黎世联邦理工的拒信,最想去的学校啊
  7. Ubuntu20.04 Desktop image 添加快捷方式
  8. 大工20秋计算机组成原理在线作业2,大工14秋《计算机组成原理》在线作业2答案...
  9. 面试官问:malloc(0)时程序会返回什么?
  10. 50道 JavaScript 经典面试题汇总篇
  11. favicon图标制作
  12. SAP License:SAP中的容差
  13. 使用Highcharts实现柱状图展示
  14. macOS VSCode 终端使用powerline字体配置
  15. HTML四季变换图,四季星空图
  16. 毕业论文速成指南来了!
  17. 屏蔽高通8953长按电源键的截屏按钮
  18. Windows 下解决 VsCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误
  19. 读取word、pdf某些位置的值
  20. SpringBoot基于若依项目工时统计成本核算管理源码带文字教程

热门文章

  1. java怎么防止表单重复提交_如何防止表单重复提交
  2. 阿里云徐立:面向容器和 Serverless Computing 的存储创新
  3. 和 VMware、深信服、天翼云、招商云专家一起聊聊云原生边缘计算
  4. 首个沉浸式云原生 Serverless 技术实践营开启报名
  5. Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24
  6. bp神经网络pid控制_文章推荐 | BP神经网络PID控制器在无人机编队飞行中的应用...
  7. php 文件扫描去重,PHP中的去重方法详解和文件下载
  8. excel概率密度函数公式_Excel统计函数“F”系列,日常办公数据分析必备7大公式!...
  9. 安装mysql时安装不了starting the server_archlinux/manjaro 上安装percona-server
  10. python特性编译语言_Python的动态语言特性; __slots__属性