前轻后重
我做产品,最喜欢前轻后重。这是我最喜欢的原则,如果它可以算作原则的话。它是一条相当普适的原则,从各个角度去理解,都有意义。
流程体验上的前轻后重
前轻后重最让用户感知到的,是流程体验上的前轻后重。它是体现在用户解决需求,完成任务的过程中的。
举个例子,在比较完善的淘宝开店系统内,开店的步骤如下:
- 选择开哪种店
- 填详细信息
- 上传验证材料
- 在线考试
- 填写店铺和商品信息。
用户在一步一步地完成任务的过程中,先只是做出轻量的选择(选择题),然后做填空题,接着是准备材料,学习知识并考试,然后才是最后的完成开店。用户在流程上的体验,从前面的很轻,到后面的越来越重。这不能抛开产品设计方的需要,实际上, 正是因为产品设计方有必然的、不可避免的需要(需要验证材料以辨别开店者的真伪,需要在线考试来保证店主素质),产品的流程和体验是肯定会存在重的一步或者几步,这时,应该把轻的步骤放在前面,让用户一步步做下来,在遇到重的步骤时,才没那么容易放弃。此外,前轻后重的流程,也符合人们在线下生活中,甚至在所有任务完成过程中的先挑软柿子捏的习惯。
功能规划上的前轻后重
功能规划上的前轻后重,指的是在规划和架构产品功能的过程中,应当先组建关键的、轻量的核心功能,使产品的定位得到基本实现,产品想要解决的问题得到基本解决。换句话说, 应当先给产品搭骨架,然后再扩展出组织、肌肉、血液和皮毛。这实际是最考验产品经理功底的地方。
前期时为产品搭建出了轻量但扩展性很强的框架后,后面就能一步步地添加出更多的深化、辅助和周边功能,解决更多的细分问题和类似问题。关于功能规划上的轻与重,此前已有一篇博文更详细地进行了讨论,可以看看:《 产品的轻与重》
用户界面的前轻后重
用户界面的前轻后重,是我感知最深刻的前轻后重的体现之一。这是最考验产品设计者功底的地方。 在设计用户界面时,遵循前轻后重的原则,意味着需要把复杂性尽可能的隐藏,隐藏在屏风背后,展现在用户面前的,仅是一个按钮、一个列表等尽可能简单的元素。这里面的复杂性,可能包括实现复杂性,和功能组织的复杂性。
实现的复杂性包括:
- 列表中如何考虑哪些项在前面,哪些在后面?
- 在为用户提供信息和知识时,提供哪些,去除哪些?
- 做出这个功能有多难,你需要考虑,但是一定决定要做,就别畏畏缩缩,希望用户多么感恩戴德,以使自己的付出不被忽视。
- 等等,肯定还有不少角度,毕竟我没有使劲想全面。
分别举例。
第一条,关于列表中项目的前后次序,你需要考虑这个,但不需要总是去唯恐用户不知道你花了心思,你不需要给出原因甚至数值。正面的例子可以看看百度搜索结果页,你会发现,百度给出的项目相关的信息中,只有项目(每一个搜索结果)的描述,没有任何为什么该项目会排序在这个位置的原因,没有什么PageRank得分或者外链个数什么的。因为用户不需要了解这些信息,你提供给他信息,他在你的产品中消耗时间,便是信任你的结果,你可以致力于如何做出最好的排序,但不要想着如何让用户信任你,用户会因为你的排序结果是合理的而信任你,而不是因为你给出了“本站排序结果真实合理有效公正公平的10个原因”。负面的例子挺多,怕一举就得罪了人,别人或许有自己的考虑,我就不提了。
第二条,关于提供信息时的筛选,你需要考虑这个,但同样的,不要想着告诉用户,你去除了的项目,如果有用户其实需要的信息,错不在你,你是因为产品设计中的什么什么考虑而迫不得已的。举例,我们知道许多产品都会提供一个项目的创建时间、一个评论的发起时间,一个文章的最近修改时间等,聪明的产品在表现这个时间时,会有“5分钟前”、“早上11:23”、“昨晚”等表现形式,这里,产品设计者就做出了统一的信息去除的取舍,对于今天以前的日期,在项目集合页中,是不给出详细时间的,也就是,不给出“昨晚 23:13”,以保持页面清爽。
第三条,关于功能实现难度的宣告。这里挺有名的例子是关于微信里面的动态Gif表情的背景透明的实现。该特性的实现是全球首次的,耗费了团队大量的时间,但是这些都是普通用户不需要知道的,你只需要告诉他们,这个特性有什么用就好了(如果没太大用,那你花那么多代价干嘛)。同类的例子包括性能优化的代价和效果、某个功能体验的方案选择等。反面的例子我则想提关于众移动浏览器比拼HTML5得分的犯二现象。
功能组织的复杂性则包括:
- 如何按照用户的视线顺序,进行针对性的元素排版?
- 交互暗示是否需要区分轻重缓急,如果需要,如何区分?
- 一二级列表、一二级标题如何分类,如何组织?
- 需要时才出现,那么什么时候(什么场景)需要什么功能、什么元素?
- 等等等
第一条,关于元素排版,你需要考虑这个,但不需要把为什么这么排的理由摆到界面上告诉用户,你用心设计了。举例来说,可以想想腾讯网的巨大改版,为什么从前在页面左侧的腾讯产品集锦,要放到页面右侧。
第二条,关于交互暗示的轻重,这个例子很多,譬如你总是会看到,登录按钮总会是一个显眼的颜色,而取消按钮则往往是白色。
第三条和第四条,关于列表和标题的组织,以及需时出现的判断,同样可以看看这篇博文,《 产品的轻与重》。
技术架构上的前轻后重
技术架构上的前轻后重,事实上已经成为有经验的产品团队的通用规则。无论是QQ、微信等庞大产品,还是正点闹钟、8684公交等移动端的工具型产品,都已经有意无意中将此规则应用到了骨子里(或许没有归纳出前轻后重这四个字,但做法是如此的)。
技术上的前轻后重,能够使产品获得快速更新、快速迭代验错、选批实验的好处,坏处则是流量略多一点的损耗(毕竟同样的逻辑,固化在客户端,和放在服务端每次下载或者更新时下载,前者会使网络包略小几行代码)。技术上前轻后重的好处,越来越为人们所重视,而坏处,则正在迅速变得越来越不重要。
同样举例,QQ客户端被许多用户认为非常重,但是实际上,QQ现有的功能群的数量,如果不利用前轻后重的办法,重量更加难以想象。举例而言,你或许已经在网速不好时,打开QQ上的许多窗口,发现是一片空白,这个窗口虽然看似是一个客户端窗口,实际上是使用的WebView控件来包装网页。而坊间传闻,这一做法,QQ是在数年前从MSN处学习来的,彼时QQ团队发现MSN客户端的许多窗口,今天一个样明天一个样,明明没更新版本却换了功能,拿给技术团队一分析,才得知了这一做法,并发扬至今。
另一个很好的例子是微信,微信客户端实现的功能实际上非常多,技术架构上是非常复杂的,但严格的前轻后重,使得微信能够在一分钟内控制许多的业务逻辑、产品规则。
极致程度的技术架构上的前轻后重,有一个人们耳熟能详的名字,叫做云架构。即客户端只承认输入输出设备的角色,所有实现逻辑均在服务端、均在云端。这是未来。