前端如何做出好产品

avatar
阿里巴巴 前端委员会智能化小组 @阿里巴巴

文/阿里淘系 F(x) Team - 老拉

前言

作为大前端时代下的前端,我们越来越频繁地遇到需要研发各种内部产品的情况。

在没有产品同学的专业助力时,我们技术人如何自己设计出一款优秀的产品,兼顾功能性和交互体验,让它站在科技与人文的十字路口?

这篇文章想聊一聊我对做产品的一些思考。

(It is in Apple’s DNA that technology alone is not enough—it’s technology married with liberal arts, married with the humanities, that yields us the results that make our heart sing.

在苹果的 DNA 里,仅仅有科技是不够的,只有当科技与人文艺术相结合,才能让我们的心与之共鸣。)

一个事实是,我们经常做出自嗨型产品

我使用过的内部产品不多不少,也参与过几款内部产品的开发。其中我参与的产品的交互逻辑都是我们前端设计的。大家都很有激情,组织过很多次脑暴,在很多产品体验问题上也撕了很多轮,但是最后做出来的东西却收到了很多用户的吐槽。我们发现,我们做出了一款自己觉得满意,但用户不满意的自嗨型产品。这不由得让人反思,问题到底出在了哪?

有几个思维陷阱会导致这个结果

一、闭门造车

我们会想当然地以为用户会像我们期望的那样使用产品,用我们自己的视角去臆测用户的视角。当我们经常将这种臆测带到我们的产品设计过程中,去解决一个个具体的问题时,我们就会离真实的用户越来越远。等到产品上线,用户集体骂娘,大家才一下被现实的大嘴巴子抽醒。

二、陷入细节

这里的细节不仅仅指对产品细节的打磨,更多是指对细节问题的纠结。比如为解决某一个小问题而引入了一个复杂的解决方案,反而让交互变得琐碎,或者影响其他产品的功能。而如果这种情况频繁出现,甚至会从整体上影响产品的用户体验。

三、程序员思维

我们经常使用平时的编程思维来设计交互逻辑,把一些工程概念套用在产品上。例如,我在使用某个产品创建项目时,需要先填写一大堆表单,但是有些信息并不是一开始就需要的。以程序员的视角来看,我们需要保证所有信息和变量都完备,才能开始跑runtime。但是如果要让用户在一开始就提供完备的信息,则会给他增加不必要的心理负担。

image.png

要想绕开这些陷阱,需要做到以下几点

一、贴近用户

以人为本。对很多问题的讨论最后都要落回到“人”上面。一个产品经理的好坏取决于他是不是关心“人”;一个产品的好坏取决于它是否体现了对“人”的关心。我们要习惯于把用户当成和我们一样感性的人,而不只是“用户”、“客户”这些纯粹的代号,或者去人格化的埋点数据。对很多交互问题的纠结,如果能退一步,让思路回到“人”的出发点上,去寻找最符合人类直觉的交互方式,可能就会豁然开朗。

如果用户是开发,就要以一个开发人员真正来使用这款产品时的视角思考问题;如果用户是运营或产品,就要把自己想象成一个真正的运营。只有在思维方式上贴近用户,才有可能设身处地地设计出为用户考虑的交互逻辑。

持续调研。很多内部产品都有服务群,也在产品界面上透出了帮助和反馈入口。但是这些沟通方式需要用户的主动输入,在收集产品建议上比较被动。很多时候,我们的用户其实就在我们内部,他们可能是你身边的开发,也可能是和你合作的运营和PD。这是一种得天独厚的优势,让我们可以随时随地的去寻求他们的意见。主动地与我们真正的用户保持频繁的沟通,可以很大程度上避免通过臆测去解决问题的情况。

二、大局观

搞任何复杂的、需要给人看的东西,都得先立骨,再画皮。因为用户,或者说人类,或者说所有哺乳动物的认知过程,都是由粗到细的。所以大框架永远占据主导地位。而一个产品的大框架,往往体现在那些最常规的功能、最主要的流程里。

抓大放小。开产品会的时候会遇到一些细节但是又挺麻烦的问题,大家一吵吵一下午,越吵越上火。可能吵出来的方案最后还没用上,空耗了时间精力。我们会不自觉地被我们看到的东西吸引,当我们在聊整体方案时,有人提出一个细节问题,大家就会很自然地加入讨论,越讨论越来劲,变得难以自拔。这时候需要有意识地将注意力从对细节问题的讨论中拉回到整体上,暂时放过这些细节问题。当我们设计好了整体,再回过头去看这些细节问题时,有时我们会发现它变得更容易解决了,有时会发现它已经随着整体方案的变化自行消失了。

归根到底,只有整体设计好了,细节才能发挥它的价值。否则过多的纠结细节反而会损害产品。

三、抓细节

首先需要说明的是,这里的抓细节和上面说的大局观并不矛盾。其实我们并不是反对抠细节,而是反对盲目地、舍本逐末地去抠细节,归根到底,我们反对的是一种“非理性”的思维方式。

快乐的体验会积累,糟糕的体验也一样。当我体验一款设计优良的产品,时不时被它人性化的细节打动时,它在我心中的印象会在某个临界点产生一种升华的感觉,并建立起一种信任感,我觉得这就是所谓“品牌溢价”的人性根源。细节是产品的灵魂,通过点滴的积累,可以让用户爱上或者痛恨一款产品。所以需要做好细节文章。

首先,及时解决细节问题。有时候我们手头有更重要的功能需要开发,导致一些显然易见的小问题被一拖再拖。这些问题可以是一个样式bug,也可以是某个交互细节不友好,解决它们用不了太多时间,但是可能在我们的角度看,这么做“性价比不高”,或者对KPI没有帮助。但是这些在用户看来,就像是一口饭里的一粒沙子,不管饭再香,他的注意力也会被沙子吸引,最后受不了了,要么整口吞下去,但也可能把整口饭都吐掉,去吃另一口没沙子的饭。有时用户就是这样流失的。

用户不喜欢猜你的心思。我们有时会不自觉地把简单问题复杂化,用一个复杂的交互逻辑去解决一个简单的细节问题。结果是用户实际体验下来感到匪夷所思,不知道这个地方为什么这么设计。用户不会重走一遍你解决这个问题时的脑回路,而一个复杂的解决方案更有可能是违反产品的使用直觉的。所以当我们为一个简单的细节纠结半天时,可以试试返璞归真,让注意力回到用户的视角上。

用户不喜欢意外。相信很多人和我一样,出于种种原因,都不幸地在windows上装过几款流氓软件。它们会在安装的时候顺带以“默认勾选”的方式给你安装了其他几款同属“流氓联盟”的软件,在你使用过程中还时不时弹个窗,当你要卸载它时还一个劲地装可怜求放过,顺便又给你装了几款流氓软件。从此你对这类软件,连带整个windows生态再无好感。

所以需要避免连带操作。我们自己设计产品时虽然不会那么极端,但是也经常会犯类似错误,例如默认勾选某些阅读须知事项,或者在执行某个操作时顺便帮用户做了下一步操作,这些帮助用户做决定,且没有明显提示的逻辑,会造成用户的意外感和困惑感。不给用户带来意外,本质上就是一种建立信任的过程——我知道一个按钮按下去,会发生什么,不会发生什么。时间一久,我对这款产品就有了基本的信任。

image.png

四、最根本的是:你是否对做产品有兴趣

上面都是我在参与内部产品开发,以及参与产品可用性研究项目过程中的一些思考。可能很多内容都是大家已经知道的,也可能有一些不同意见。但是这些并不重要,真正重要的是,我们是否能保持对做好产品的追求,在日常工作中建立思考产品的习惯。而这些的根源在于,你是否对做产品有兴趣。坦率地讲,兴趣这个东西,很大程度上是基因决定的,但是它依然可以通过后天培养。也许在不断的对产品的思考过程中,你也会慢慢发现自己培养了对产品的喜爱,以及对如何设计一款好产品的良好感觉。