作为一名工作快10年的专注于交互体验领域的前端开发人员,今天想要分享我对产品的交互体验细节与技术之间的一些看法。
我认为交互细节共分为三层,由下往上依次是。
-
用户看不见的细节,如硬件设计、代码逻辑;
-
大部分用户看不到的细节,如无障碍访问;
-
用户看得到的细节,如小而美的动画、准确无误的交互反馈等。
3层关系又是彼此有联系的,例如第1层用户看不见的代码如果写得烂,虽然视觉效果美美哒,但是很烧电,则又会带来第3层用户看得见的细节体验问题。
所以,一个产品,要想交互体验做得非常好,远不是想的那么简单。
这里有必要说一说锤子,对,就是做手机的锤子公司。
我当年也是被罗永浩(后面以锤子科技CEO代称)励志过的人,我是真心希望锤子能够做起来的,所以下面说的这些并不是故意黑什么,而是单纯表达自己一些浅薄的看法。
众所周知,苹果手机的体验非常好,尤其是乔布斯时代,这是苹果产品成功重要原因之一。
考虑到其他品牌的手机体验有着明显的差距,因此,如果能做出一个和苹果手机一样的好的体验的手机,一定可以卖得很好。
这句话有问题吗?没有问题,确实是这样,这句话我是认同的,同时我认为锤子科技CEO也是这么认为的。
然而!关键问题是体验出众的手机并不是想做好就能做好的,哪怕倾注全部身心,全力focus在产品体验上,甚至KPI都和产品体验挂钩,你也做不好,因为产品的体验绝不仅仅是表面那层看到的东西。
——
即使一个普通的网页,其背后也是一个复杂的系统,更不用说手机这种软件硬件兼修的复杂设备了。
复杂系统之间的关系往往就不是线性的,而是相互交错,互相影响的。
说这句话想表达什么呢?
我们来看这样一个场景,某CEO很注重软件产品的体验,提出了100条细节改进意见,请问,这100条改进意见可以落地吗?
可以,所有明确提出的改进细节,即使是很普通很普通水平的开发人员,都可以完成,更别说老板亲自提出来的。
于是乎,老板一体验,恩,不错,细节用心,交互人性化,用户肯定很喜欢。
但是,请允许我呵呵一笑,通常个性化的细节的实现在代码层往往都是通过代码冗余实现的,各种条件的处理往往是增加新的逻辑分支实现的,细腻的绘制和美美的动画往往是牺牲性能开销实现的。
如果开发人员不是很厉害的那种,则会导致前端看起来美美哒,后端早已乱如麻。
而软件本身是个复杂的系统,虽然CEO花了很多精力盯着软件改进,开发人员加了很多的班完成了老板的需求,用户拿到手第一感觉也确实不错,但是,万万没想到,用了一段时间发现软件经常卡顿,甚至闪退,因为为了极致的体验牺牲了系统的稳定性和流畅度,导致带来了更致命更严重的体验问题。
这就非常搞笑了,一心想要提高产品体验,结果反而导致更加致命的体验问题,那些小而美的温暖设计在卡顿、闪退这样的问题面前完全不值一提。
软件如此,那软件硬件一体的手机更复杂,更容易出问题了,我有个同事的坚果手机轻轻地摔了一下,屏幕没坏,但是两侧的实体按键直接飞出去了……
大家可以脑补下那个场景,居然有实体键飞出去的手机,这种做工,啧啧……要知道这飞出去的不是实体按键,而是那颗支持锤子的火热的心啊。
——
所以,最本质最核心的点应该是什么呢?
如果我们拨开层层面纱,不断剖析,不断深入,就会发现原来做好产品体验最关键最核心的其实是技术,扎实的技术!
而扎实技术的关键是人。
所以,产品体验要想做好的关键就是找到非常优秀的开发人员,越是复杂越是重要的产品越要找到真正优秀的开发人才。
因此,作为CEO,尤其创业阶段,最重要的并不是盯着那些鸡毛蒜皮的上层体验,而是把精力花在网罗人才身上,发扬三顾茅庐的精神,饼要画,汤要灌,最重要的是把薪资开得高高的。
万丈高楼平地起,只有这样,才能从下往上,一层一层把产品品质和体验做好,而且底层往往更重要,参考华为手机,前期丑得自家员工都不愿意用,但是现在呢?
——
我认为,开发人员在实现功能的时候还关注体验和细节是需要强有力的技术支撑才现实的,如果开发人员技术水平一般,你就不要指望做出来的交互面面俱到,到时候产品测试一定是一堆bug反馈。
道理很简单,就好像一个人连肚子都填不饱,你让他还关注精神世界,不现实。
能力一般的开发人员实现交互体验细节的无力主要有下面几个原因:
-
精力不足,时间不够;
-
体验相关技术储备不足;
-
架构与设计能力不足。
精力不足,时间不够
按照我自己的开发经验,主功能实现所占用的开发时间只有50%甚至更少,而大部分时间都在自测和细节实现上。
可见对于产品开发,体验和细节部分的实现是非常花费时间和精力的。
而对于基础不扎实,经验不足的开发人员,那个开发效率可真不是一般地低,简单的API方法都要查,遇到个奇怪问题可以卡一下午,80%时间在debug功能。
这类开发人员光实现基本的功能就很吃力,排期紧,加班多,压力大,你说哪来的闲工夫还去打磨细节呢!
而优秀的开发人员实现功能就像砍瓜切菜一样,分分钟搞定,然后就有大把精力去把细节弄好。干活又快质量又高,真的是1个顶10个。
体验相关技术储备不足
无障碍访问是产品体验中非常重要的一环,例如视障用户(盲人或者老花眼的老人)的产品无障碍使用,辅助设备的无障碍访问等。
所有这些的支持是需要额外的知识储备的,且相关知识算是比较小众的,那些普通的开发人员断然是不会知道相关知识的,就算知道一些内容,也不一定会花额外的时间和精力在产品中使用。
架构与设计能力不足
优秀的开发人员在架构代码,设计逻辑的时候就已经考虑到日后的扩展以及容错,底层会非常健壮,上层扩展也比较容易。
此时,CEO提出100个改进意见,能以非常小的成本进行支持,整体的稳定性和流畅度并不会有明显影响。
但是如果是只顾眼前功能实现的开发人员,日后想要修改或者新增什么功能,就会像妙脆角一样嘎吱脆,一碰就会碎。一定会在什么地方出现莫名其妙却很严重的bug的。
——
再回到一开始,如果公司的前线开发都是普通水平,或者比平均水准略高,就算CEO亲自盯上层的体验问题,只能弥补上面的问题1“精力不足,时间不够”,也就是爆肝加班搞定老板的要求。
但是问题2和问题3显然就无能为力了,除了因为老板不懂,更重要的原因是老板看不到。
人总是容易相信自己看到的东西而自我感觉良好,尤其一些自负的人,没有遇到就认为问题不存在。
所以,如果舍不得时间和精力去招人,省不得账面上的一点钱,妄图就找一些看起来还行的开发,做出东半球最好的手机,痴人说梦。
无论哪个公司,无论什么产品,最重要的资产一定是人才储备。
所以,想要做一个伟大的产品,最重要的是找到合适的人才;如果找不到最好的人,那就姿态放低,脚踏实地,慢慢成长。
(完)
欢迎关注我的个人公众号,会不定期分享技术人文类的文章以及刚编的程序员故事。