在毫秒量级上做到“更快”!DataTester 助力飞书提升页面秒开率

809 阅读4分钟

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

用户体验是决定互联网产品能否长久生存的基础,每一个基于产品功能、使用、外观的微小体验,都将极大关系到用户留存影响。本文将讲述火山引擎 A/B 测试(DataTester)助力企业协作平台飞书进行用户体验优化的案例。

对飞书而言,用户体验旅程从打开产品页面的一瞬间就已开始,这里有一个十分重要的指标——页面秒开率,秒开率是指页面在一秒之内打开的比率。为了能够持续吸引用户,一款产品则至少需要在 1000 毫秒以内呈现出交互内容。

飞书为了提升用户体验,对其各项功能的秒开率指标的优化下了大功夫,在这个过程中,火山引擎 DataTester 通过严格的变量控制,落地更精准的实验结果,帮助研发团队直接佐证并明确了所选优化方案的收益。

影响秒开率其实有很多种因素,如代码冗余,插件拖累…… 在其中,有一项重要的影响因素是“类加载”。类加载是指当页面被打开时,背后是调用的多个元素的代码,它们会经历验证、准备、解析、初始化等环节后,才能被使用,这个流程是比较耗费时间的。

以飞书的一项功能“飞书妙记”加载为例,当飞书整体进行冷启动时,如果用户是首次打开飞书妙记界面,就会伴随着接近 1600 个类的大量加载,这对页面启动速度有着不可忽视的影响。如何减少如此高的类加载数量对秒开率的影响呢?飞书团队希望尝试采用的方案是:接入 SnapBoost 方案。

SnapBoost 方案的思路是让 app 能够提前对页面使用到的"类"进行加载,通俗来说,也就是在用户打开页面之前,将耗时较长的部分提前进行加载,当用户在打开页面的时候,这些代码省去了编译和解析的时间,可以直接执行,使秒开率得到提升。

那么 SnapBoost 方案是否能有效降低“飞书妙记”的加载时间呢?飞书团队采用了火山引擎 A/B 测试(DataTester)进行方案可行性的重要验证。

本次 A/B 实验三大指标:

  • 类加载数量

  • Activity 切换耗时 :Activity 通常指一个单独的屏幕(页面),此指标指在不同页面之间的切换耗时。

  • 可感知耗时 :指用户操作相关动作(点击播放、滑动卡片等)到首帧渲染出来感知到的耗时。

优化前后收益验证:

火山引擎 DataTester 的实验结果,对 SnapBoost 方案的提升性能假设给予了强有力的佐证,通过 SnapBoost 方案等一系列优化,飞书妙记的秒开率可以达成 37%的优化提升,目前该方案已经成功地进行了全量上线。

除了飞书妙记的秒开率提升,飞书的视频会议等全线功能,其实都已在使用火山引擎 DataTester 进行 A/B 实验。DataTester 为飞书的产品功能迭代带来了明确收益佐证能力。

“ DataTester 是结合 A/B 测试方法论最好的一个工具。”飞书的研发成员在采访时讲到。除了使用 DataTester,飞书团队也会通过灰度等方式来做对比实验。相比起灰度等实验方式,DataTester 的最大优势在于更加严格的变量控制,实验创建者可以更直白地看清楚优化效果,在灰度的基础上,进一步提升实验结果的说服力。

火山引擎 DataTester 目前已服务了美的、得到、凯叔讲故事等在内的上百家外部企业,支持了多种业务场景需求,为业务的用户增长、转化、产品迭代、运营活动等各个环节提供了科学的决策依据,将成熟的“数据驱动增长”经验赋能给各行业。

点击跳转 火山引擎A/B测试DataTester 了解更多