Li Yishan [ write words ]

与现实保持一致的功能设计

前两周有朋友请教了个问题,一款允许商家入驻的外卖型应用,商家设置可配送区域的功能应该如何优化。提供了若干思路之后自告奋勇地表示要将这个问题写一写,没注意一不小心就过去了一个多月。今天抽空说一下。

需求的出发点是现在外卖应用很常见的“送货范围”功能:商家设定可配送范围后,由用户选购商品时的定位,确认店铺是否能够为其提供服务。如今定位都属于 App 的基础功能,判断买家的位置不算难点,需求的重点也就变成了如何帮助商家准确地设定送货范围。

三种不同情形

通常来说,商家确认配送范围的类型有以上图示的几种类型。一是理想状态下通过设定半径来确认可配送的范围。第二种单向与第三种的随机设定,则是考虑到了现实限制的设定方式,因为如下图般规划一圈圈的城市实在数量不多。

亚利桑那州某城郊区域 by Christoph Gielen

事实上,现在商家设置送货范围的功能已经有非常成熟的解决方案,如美团商家后台,可以实现以街道为分割线,精确地对各街道交割出的区域设置送货范围,以符合现实生活习惯。早前类似的实现方式在一些地产交易应用上见到过,但区域边界辨识得相对更模糊一些。

不过这次遇到的情况,恰好是只能通过设定半径的方式来确认多级配送范围。

由于多级配送范围的设置,对于不同的距离还将匹配阶梯式定价。因此所导致的问题是,如何在技术受限的情况下设计合适的交互,去帮助商家进行配置,而仍然能够符合商家已经形成的心智模型。

初版方案的设计是在一个页面上,放置开放性的三个范围输入框,商家需要顺序填入逐渐增加的半径,来确认配送范围。这个方案需要考虑的几个地方,一是如何向商家明确填入的半径范围需要依次递增,二是向商家明确递增的顺序是上下左右中的哪一种排列。

开放性的输入框,商家大几率会尝试输入1-5-3、5-3-1这样的顺序,与理想状态下的范围递增(如1-3-5)有不小差距,如果贸然报错,必定会影响商家使用服务的情绪与积极性。稳妥一些的做法是,在确认输入位数和小数点位数的前提下,不判断输入的顺序,转而为商家输入的任意三个数值输出递增的排序供商家确认,以此规范并“教育”商家在后续设置时可以如何操作。

另一种可行的方案是拆分设定范围的步骤,每次仅输入一个数值,商家在这个过程中能够潜在地接受需要按顺序逐级递增范围的设定方式,同时在程序设置上也可以为后续的输入内容设定限制数值,避免出现顺序颠倒的情形。

通过对两种形式中辅助图形和 UI 提示文本的综合考虑,最后是确认了在初版方案的基础上再进行界面优化,通过指引和文本框输入限制来规范商家的输入行为。具体效果还得抽空实际用一下那款 App 才有所了解。

经过若干周的间断思考,我现在认为更符合商家心智模型的设定方式,可能会是以对话为基础,并封装可包装为“人工智能”的简化板机器学习系统。在这样的功能配置下,还能推出诸如“秘书助手”之类的定制服务,对于商家来说,相比有规有矩的格式化界面,对话式配置或许还多了一些能够被感知的温度。

隐藏在对话式UI下的设定

扯得有些远,希望自己在日常工作中所作的判断都可以在满足用户需求的基础上,尽可能地超出用户所想,而又不显突兀。