Facebook Messenger“断舍离”实录

快公司FastCompany快公司 2020-03-10 12:58

新版Messenger表面看上去只有细微的变化,但其内部已被彻底重写。[Facebook供图]

2011年8月,Facebook推出了iPhone和安卓版的Messenger应用,将该社交网络的聊天功能剥离为一项独立的体验。这款应用来源于Facebook收购的短信服务初创公司Beluga,旨在与无线运营商的短信套餐竞争。它一炮而红,并且经久不衰:根据移动数据分析机构APP Annie发布的数据,2016年,Messenger的每月活跃用户数量达到10亿,2019年,它成为全球下载量最大的应用。

在此过程中,它在原有文本对话的基础上补充了各种各样的功能,包括语音和视频通话、游戏、支付、聊天机器人以及Snapchat式的故事功能等等。随着用户群体和野心的扩张,其规模也日益壮大。2012年,Messenger的下载包大小只有8.5MB,后来的版本竟在用户的iPhone上占用了130MB的空间,大概是另一款功能类似的Facebook即时通讯应用WhatsApp的两倍。

但现在,Facebook给iOS版的Messenger来了一次大瘦身。通过从零开始重写,它将Messenger占用的内存缩减到了非常易于管理的30MB,不到其峰值大小的四分之一。据该公司称,新版本的加载速度是旧版的两倍。此次更新非常紧凑,Facebook得以悄悄地把它导入现有版本中,邀请一部分用户进行测试。(在接下来的几周里,它将以独立形式逐步向其他用户开放。)

作为一个庞大的程序,其代码缩减的幅度也令人震惊。Messenger从170万行代码减少到了36万行,整整精简了84%。

斯坦·查德诺夫斯基[Facebook供图]

2019年4月,Facebook在F8会议上公布了Messenger改版计划,代号“LightSpeed(光速)”,原本计划于去年推出新版,但这项任务的艰巨程度超出了Facebook的预想。Messenger副总裁斯坦•查德诺夫斯基(Stan Chudnovsky)将其比作房屋的改造装修,当承包商砸开墙壁时,新的问题又出现了:“你发现的问题只会比你最初预期的更糟糕。”他说道。

作为用户,尤其是刚刚入手新手机(或者手机本身尚新)的用户,机子的处理能力和内存绰绰有余,你可能没有注意到,Messenger这些年来变得越来越臃肿。然而,很多人喜欢保留老旧的iPhone,而这些机子往往承载不了太大的应用。对他们来说,旧版Messenger的反应速度明显迟缓。

Messenger工程总监、全面重写任务的负责人之一莫森•阿格森(Mohsen Agsen)表示:“在低端设备上,你很快就会发现[新版本的]性能明显不同。即使在高端设备上,连贯性也会更好一些。如果你刚刚运行完一款大型游戏或加载了摄像头,手机面临内存压力,那么高端设备就会开始表现得像低端设备一样。接下来运行的应用程序的大小就很关键了。”

阿格森认为,考虑到用户每天可能要进出Messenger数十次,敏捷的性能是重中之重。他说,如果把Facebook的应用家族比作汽车系列,“有些是轿车,也必须是轿车。而我们真心认为,通信应该更接近于跑车,以速度和可靠性为核心。”

“ 我们仔细检查了每一行代码和每一毫秒。”

Messenger工程总监莫森•阿格森 

调整一款应用程序,以获得良好的性能,这不仅是对用户的尊重,还能提高使用率,有利于业务发展。“我们知道,每一次对Messenger进行速度提升和程序简化,都是在方便用户沟通,增加其使用量。”工程副总裁雷蒙德·恩德雷斯(Raymond Endres)说道。恩德雷斯是Facebook元老,自Messenger诞生之初就致力于其发展。和LightSpeed项目团队的许多成员一样,他选择了一款相对来说比较古老的iPhone(2014年上市的iPhone 6)作为项目期间的个人手机,以更好地感受数百万真实用户的Messenger体验。

LightSpeed将推动用户使用时间的增长,但对Facebook而言,它的战略重要性比这更加深远。由于深陷丑闻、数据泄露窘境、管理用户信息的争议,以及恶意用户对其网络的滥用,该公司将Messenger视为重建信任的关键步骤。

去年3月,Facebook CEO马克•扎克伯格(Mark Zuckerberg)发布了一份3,200字的宣言,名为“以隐私为中心的社交网络愿景”。它概述了整合公司多项服务(包括同名社交网络、Messenger、Instagram和WhatsApp)以及加强私人通信、弱化公共共享的计划。他写道:“几年后,我预计Messenger和WhatsApp的未来版本将成为人们在Facebook网络上的主要交流方式。我们专注于提升这两款应用程序的速度、简洁度、私密性和安全性,包括采用端到端加密。”

将近一年过去了,关于如何(以及何时)将这一愿景变为现实,Facebook还没有透露太多细节。首次亮相的LightSpeed并没有引入加密或与其它服务的新集成。但是,该公司用精简、现代的更新取代了陈旧、臃肿、粗糙的代码库,以更好的状态开始重新构想Messenger的体验。“这是一个全新的平台,允许我们做到此前做不到的事情。”查德诺夫斯基说道。

同中有异

目前,Messenger还没有在用户体验的美观、功能和结构方面进行彻底的改造。现在的应用看起来和2018年10月发布的简化版Messenger 4依然十分相似。新版本更加简洁,去掉了Discover标签(展示Messenger平台上的商户),对People标签进行了改进,使其外观更加华丽,并突出故事功能。但这些改动并不属于LightSpeed项目,而是Facebook为持续改进Messenger所做的改变。

事实上,LightSpeed项目之所以如此费心费力,原因之一是Facebook希望在不淘汰功能的前提下大幅缩减Messenger的大小。(它的确暂时取消了一些功能,比如收件箱已读回执和投票,但计划不久后恢复。)该公司也无法对Facebook数据中心支持的服务进行重组,因为后端必须继续运行安卓和网页版本的Messenger,而这两个版本均不包含在LightSpeed更新的范围内。

2011年辉煌时代的原版iPhone Messenger。[Facebook供图]

该公司的结论是,要精简Messenger,就必须无情删除多余的代码。幸好,该程序存在大量可供选择的多余代码,因为Messenger是一支大型团队分散合作的结果。(Facebook最具体的信息是,目前有“数百名”工程师正在开发该产品;相比之下,作为2011年第一版Messenger的基础,极简主义通信应用Beluga是由一个三人团队开发的。)

“  LightSpeed就好比我们的‘断舍离’计划。”

Messenger设计师爱丽丝·庄

软件工程师约书亚•艾文森(JoshuaEvenson)表示:“拥有大量工程师、大量挑战和功能有一个问题,那就是类似的问题最终会产生很多不同的解决方案。”随着Messenger功能的增长,负责各个部分的开发人员习惯使用自己的代码完成任务。例如,用户从列表中选择其他用户的操作在整个应用程序中无处不在,比如屏蔽某人或指定谁能看到某个故事。直到LightSpeed项目出现,Messenger才有了一组标准的用户挑选代码。

工程师们是否曾经因为不得不采用更一般化的功能而感到愤怒,而这些功能并不是针对他们的确切目的而设计的?“当然!绝对有!”技术程序经理阿基拉·科萨瓦萨米(Akila Kesavasamy)笑着说。但是,“一旦大家围绕项目的精神团结起来,想清楚我们试图打造的产品是什么以及开展LightSpeed项目的目的是什么,所有团队就神奇般走到了一起。”

虽然Facebook的目标并不是为了设计出一个外观截然不同的Messenger,但这种程序内部的删减确实引导设计师们对界面元素进行相应的精简。这本身就是一次‘整理收纳’的实用演练:“LightSpeed就好比我们的‘断舍离’计划。”产品设计师爱丽丝·庄(Alice Chuang)说道。

据爱丽丝的同事迈克·阿恩特(Mike Arndt)说,设计合理化包括创建模板,尽可能对Messenger体验施加一致性,在特殊情况下允许一定程度的定制。“当你看到四合一或八合一的螺丝刀时,你就知道如何使用螺丝钉了。”他打了个比方解释道,“但时不时就会出现平头、十字或六角螺栓。”

这一切努力不仅仅需要Facebook门洛帕克总部以及西雅图、纽约和伦敦分支机构的Messenger员工之间的谨慎协调。Messenger团队之外的Facebook员工,比如负责支付和Marketplace功能的员工,也必须参与更新。科萨瓦萨米说:“实际上还有40支不同的合作团队,大部分人甚至都没有意识到。”

除了淘汰重复的例子,Facebook还小心翼翼地避免为已经解决的问题发明新的解决方案,甚至取消了过去开发的一些解决方案。多年来,随着Messenger功能的扩展,工程师给它添加了大量直接与服务器对话的定制微服务。这是一款大型复杂应用程序的典型开发路径,但这些微服务需要执行缓存管理等复杂的数据整理任务。在LightSpeed项目中,该公司发现可以用广泛使用的SQLite开源数据库替代这一功能。“我们在这上面下了更大的赌注。”阿格森说,“原本由内存完成的任务,现在交给了数据库。”

这不是一次普通的更新

几乎所有和Messenger一样久远的应用程序都有可能从LightSpeed这样一场大刀阔斧的革新中受益。但在笔者与几位新版本负责人的讨论中,他们强调,像Facebook这样彻底改造现有产品的决定十分罕见。阿格森和恩德雷斯回想起了Windows和Mac系统多年前经历的全面改革,当你知道这两人上世纪90年代都曾在微软工作时,这个参照物就显得尤其有意义了。

目前,已经有用户开始接触新版本的Messenger,不知Facebook是否打算对其它产品进行类似的大幅修改。该公司表示,它不打算对安卓版Messenger施以同样程度的改造。目前,下载安卓版Messenger只需要占用40-45MB的空间,具体取决于你的设备。但在未来的安卓更新中,它计划加入部分LightSpeed团队开发的技术。

那其它产品呢?比如Facebook应用本身,毕竟,以目前iPhone版225.3MB的下载大小,它也算不上轻巧吧?该公司没有透露相关信息。但是,通过LightSpeed项目,Facebook也学到了与其拥抱隐私权和系列应用集成的计划相关的一课,那就是前所未有的项目需要独特的项目管理水平。Messenger负责人查德诺夫斯基承认:“我们原本可以计划得更周全?也许是吧。”

在添加新功能的同时保持Messenger的小巧快捷,听起来就很费功夫。艾文森说,新版本提供了一个坚实的基础。“现在有了一种通用的方法。”他说。“通过执行这个方法,我们希望这款应用未来能够保持相同的状态。”

恩德雷斯补充说:“我们学到了很多,花了很多时间思考性能的可持续性,我们的团队也投入其中。”他谨慎地提醒道:“在软件行业,一年是一段相当慢长的时间。”如果Messenger不再反弹回130MB的庞然大物,我们就知道LightSpeed是一种永久的状态,而不是权宜之计。

翻译:李美玉

(编辑:区嘉盛)