偶是一名码农, 毕业至今工作四年, 第一年主要做偏底层的东西(Mahout和Storm),由于没有什么前线的业务场景, 对用户体验这种东西感受不深。第二年换了个老大, 老大是做产品出身, 接下来的3年,投入到了数据产品的开发。三年来从定制化业务产品到平台产品, 经历了众多用户的叫骂声后, 特别是现在,转岗后作的产品和上一个产品类似,对用户体验的感触越来越深。
上周有个同事跟我说, 我所在的上一个团队的其中有个产品真烂, 他和其他的用户都成了那个产品的小白鼠。举个例子: 展现数据的表格右击有个复制按钮,点击复制按钮后,弹出框显示请按CTRL+C。作为一个码农, 所开发的产品被人叫烂,内心的触感不比产品经理来的小。
这几天看了下ued.baidu.com的几篇关于交互设计的东西,里面讲到iphone期初为宝马设计的开门app。打开车门的大体步骤是先走向车门、然后掏出手机、然后滑动解锁、然后找到对应的APP、然后等待程序打开,找到程序中的开锁按钮、然后点击打开车门按钮,然后打开车门。有很多个然后,对比下生活中打开车门的动作,拿出钥匙,开锁,打开车门。这时候设计APP的产品经理会不会在想:我们到底做这个为了什么?
再讲一个例子: 公司VOC拍了一个片子《神秘计划》, 内容就是让公司的PD和客满小二互换角色一天,我不想谈客满去当了PD之后遇到的问题,而感触最深的是PD到客满那去听用户声音的过程,其中有个用户付款遭到限额,前几天限额是5w,突然某天变成了1w, 被交换到客满的PD对用户解释支付场景、支付银行、支付渠道等,以产品视角去根用户沟通,无论你怎么解释,用户根本不买账,什么渠道 场景 用户根本不懂,也不想懂,对他来说 就是一个买卖而已。所有的细节不需要暴露。
我没做过PD,但是我有话说, 苹果公司的设计理念, 至繁归于至简和我们中国古代哲学经常说的大道至简运用于产品之上,都是为了让产品易用。在交互设计中有几个术语, 表现模型(通过设计来让用户认为产品是怎样工作的)、实现模型(产品是怎样实现的)和心理模型(用户认为产品是怎样工作的)。表现模型越接近于心里模型,用户体验越好,越接近实现模型用户体验越差。
不能忘记产品创建之初,是为了解决一类问题,而不是为了解决这一类问题引入很多其他的问题,例如使用成本。
回到我的工作中来,我现在所在团队开发的产品是一个基于OLAP数据分析和数据可视化平台。先讲讲我们现在是怎样忽略掉用户体验的。大体的产品思路是这样:
1. 基于OLAP的数据分析和可视化,所以使用前需要创建一个OLAP模型
2. OLAP模型包含cube 维度 度量 层次 层级 成员 属性。所以为了要创建这个模型,用户在使用前需要设置这些东西
我刚到这个团队1个月,以我目前的理解,这个产品的表现模型是基于实现模型的,因为要做这个事情,那么他前置依赖的事情要先做。仅仅建模这个模块让用户和我们都头疼不已,每个要使用的用户都要完完整整的接受培训,而且即使接受了培训也不见得会使用。我们不是在化繁为简,而是有一样暴露一样给用户。
就像一个人,他需要买一件个性化的羊毛衣,你给了他买了几只羊, 一片草地,一个染色的机器,一个织布机等等。你给了他每个步骤所需要的基础资源,但是他需要自己去利用这些基础资源通过你给的另外一个东西去获取那件羊毛衣需要的材料,然后再把所有的材料变成一个羊毛衣。
你想到了什么? 原来我们可以做的更多。
再看看之前iphone app那个例子,西门子和梅赛德斯奔驰给的方案,打开车门的时候,汽车发出某种信号,检测钥匙是否在附近,用户要做的步骤就是走向车门,打开车门。
假设实现模型是已知的,为了让表现模型更贴近于心里模型,我们要做的事情就是让系统多做些事情,该做的事情做的越多,用户体验就越好。
爱因斯坦说过:一切都应该是简单的,但不要太简单。过多的装饰与直接的形式都不是简洁美观的设计,把众多的功能简单的表现出来,纯粹到让人感觉艺术的美,自然的让人们感受到强烈的使用欲望。我们本是自然的生物,而至上的美就是自然地美。