这是我新开设的专栏,主要是关于设计组件的一些思考。原因是在知识星球上看到一个关于「产品经理如何学技术」的提问,唐大说了这么一句话。
技术能力(开发)和技术思维(理解)是两个阶段,产品经理需要具备的是技术思维,即理解技术逻辑和基本原理,能用在沟通和问题判断上。
这句话不仅让我受益,也让我陷入了思考。
对于我来说,除了提升技术思维之外,还有哪些需要日常的积累?
其中有一个就是「方案设计的思维」。
要知道小公司的产品经理,往往需要掌握更多的技能和能力,而我们没必要去抱怨,而是要想着如何去解决并提升自己的能力。
接下来回到主题,我会从 App 和 Web 两个维度,阐述关于日期选择器的一些理解,与你分享。
1、App 端设计
01、滚轮式日期时间选择器
这两个都是 ios 自带的组件,左边日历可选择的是「月日时分」,而右边计时器可选择的是「时分秒」。
(1)优点
- 取材于日常生活中的密码锁,操作直观且简单,不需要额外的学习成本;
- 占用面积小,向上 / 向下弹框只占到屏幕的 30% 左右,页面可以承载更多其他的元素;
- 对用户干扰程度小;
(2)缺点
- 用户需要对每个点进行操作,意味着多个滚轮式会引发用户的厌烦情绪;
- 重点突出数字,意味着用户操作前,就明确知道自己想要什么时间;
(3)使用建议
- 可选数量 2-3 个最佳;
- 可选择的维度包括「年月日时分秒」以及「周几公历农历」,需要结合用户的实际场景做取舍。
- 展开位置统一,方便用户操作;
- 不可选的时间不显示,避免用户误操作;
左图为记忆日 App 选择日期,右图为 美柚 App 选择月经周期天数。
02 日历式日期时间选择器
左图是携程 App 选择入店离店时间,右图是宝宝树孕育 App 查看经期。
(1)优点
- 取材于日常生活中的日历,同样不存在用户学习的门槛;
- 能够展示更多信息,同时可拓展更多信息的加入;
- 用户对时间没有精确的诉求,只有大致的范围;
(2)缺点
- 占用面积大,对用户干扰程度高,通常是新页面或占屏幕 50% 以上的弹框;
- 不便于用户选择长时间跨度的周期;
- 用户在选择日期后,需要二次确认是否正确;
(3)使用建议
- 设置合理的默认初始日期,比如说是当日;
- 结合产品的业务,展示必要信息,如上图的月经期、安全期等等;
- 能够让用户快速定位到今日;
- 如果存在周期跨度,可以选择与滚轮式并存;
- 不可选的时间不显示,避免用户误操作;
2、Web 端设计
区别于 App 受区域大小的限制,在 Web 端拥有更大的空间,因此重要的是我们得根据具体的业务场景做组件的选择与调整。
满足需求的同时做到组件的样式统一,减少用户的学习成本。
接下来主要以 Element 上的组件做相关说明。
01、时间选择器
(1)固定时间点
在使用者很清楚自己要选择的时间,同时这些时间点相对固定的业务场景下,比如设置讲师上课的时间、销售记录下次线索跟进的时间等。
这里需要注意,以当前时间为基准点,是否允许选择未来或过去的时间,需要结合具体需求做逻辑限制。
这对于时间的选择是通用的逻辑,下面不再做赘述。
(2)任意时间点
这种适用于需要精确选择时间的场景,比如我们公司的监控推送业务,当具体设置摄像头并发时间时,会精确到秒。
02、日期选择器
(1)带快捷选项的日期选择器
这个应用在数据看板的场景比较常见,因为对方对某些时间的使用频率很高,存在周期性查看数据的诉求。
但要注意,当你还不清楚对方整体诉求的时候,不要加入这种快捷方式。有并不代表好,要时刻保持「如无必要,勿增实体」的理念。
(2)按月选择的日期选择器
这种场景相对较少,且存在一定的局限性,但对于一些餐饮企业会存在这种按月查看数据的诉求。
通常这种需求的优先级不高,但如果要做,可以考虑在普通的日期选择器上,增加一个切换的按钮,而非单独去做。
03、日期时间选择器
(1)日期和时间点
这个可以称作时间(日期)最全的选择器,但要处理的逻辑也会多一点,这里举一个简单的例子。
任务下发需要设置「任务开始时间」和「任务结束时间」两个字段。
实际中,区域负责人创建任务的时间不一定,可能是当天,也可能是明后天,但基本是当天提交即可,同时精确到分钟即可。
因此我这里首先是不给出默认时间,同时时间精确到分即可,其次是不给快捷选项,最后在「任务结束时间」维度上,选择日期后时间的默认值是23:59。
这是因为他们实际在用的过程中,如果选择了 3 月 31 日,其实意思是这一天提交即可。但组件默认是 0:00,意味着其实需要在 3 月 30 日提交,与他们实际的理解存在偏差,因此这里做了优化的处理。
写在最后
做产品需要贯彻 MVP,到哪其实无论是功能,还是说字段都需要有「最简」思维。
有时候的「我认为」、「我觉得」加一个这样的元素,用户肯定需要。
上线后会发现,压根没人用。
所以我们要做的,是将「最简」方案给到用户,他们看到觉得不行,这不是我想要的。
然后我们再进一步去挖掘,去修正,慢慢地完善产品。
愿我们都能做出让用户满意的产品,加油!