人有人性,产品也有自己的“品性”,一款诚实的产品不见的是好产品,诚实是基于自己的,也就是产品的实现过程(实现模型)、产品的建构过程(产品模型),但“善良”是需要面向受众用户群体的,善良对应的是用户的心理模型,不论如何,产品应该为“广义的用户”负责。
我们通常听说的故事是人的诚实与善良,诚实不一定表示善良。诚实是客观存在的,我们看到是这样,其他人看到也是这样,是无差别的。
善良不代表不诚实,也不等于诚实,善良是主观的,我们体现出对客体需求、客体感受的理解和共情。基于客体的诉求和情感,进行了相应的信息传递。
产品中竟然也存在类似的体验,作为产品经理设计的产品,我们希望用户不要犯错,却没有提供不去犯错的良好的支撑,而是用僵硬的变形的判断校验进行阻断,就会给人这是个诚实的傻子的感觉。
举一例:用户填写一个表单
第一步是一些基础信息,用来定义填写对象和时间;
第二步的详情信息中会有依赖第一步填写对象信息值的查询。所以就对第一步填写对象值的强依赖,这个对象值有两种做法,一是让用户自己选择(可选范围是用户有权限的该类型list,很有限,几乎不超过2个);另一种做法是从用户的登录信息中默认带过来,但是用户登录信息中包含的这类对象值是有不同类型的,这就存在带过来类型不对的问题,而一旦错了就会带来更严重的后果。
最初的设计会希望用户单独选择,因为这个功能的使用是低频的、同时给出默认值也起不到决定性的效率改善。反而可能带错类型、以及让用户无法感知到,选择的填写对象会和详细信息有关联关系。
多一次点击 vs 少一次点击,面临50%错误率
曾经我们接收使用方的瞎掰去做了默认带出,这真的是草包行径。
你想让我们诚实,但是我们更想去做善良的事情!
类似的设计故事也发生在我的产品经理日常和程序员的battle中,曾经有个前端leader满脸疑惑的找我了解为什么产品模型和代码的实现有差异呢?代码实现上是单行数据操作后就会保存并给个弱提示,但是窗口我们仍然留给用户了一个“保存”按钮,为的就是在那个场景中让用户明确意识自己的数据选择动作。
这样的思考不止是一个简单的设计,更是对人性的探索,多打磨多实践。事情虽小,却是在产品实战细节中需要时刻考量的重要一环。