八月二十三号那天下午,我在客厅的小书桌上摆了三样东西:一台用了四年的旧联想、一部屏幕右下角有裂纹的安卓机、还有室友陈昀借我的那台 iPad。三台设备同时打开同一个页面,网络都切到家里那根 300M 的宽带上,我甚至把手机连上了热点以外的同一个路由器频段。做这件事的原因很朴素——我在七月底写的一篇草稿里断言首屏的模块顺序是固定的,结果有读者在评论区贴了一张截图,和我描述的完全不一样。我得搞清楚是谁错了。
结果是我错了。三块屏幕上,首屏的第一屏内容出现了三种不同的排布。
那天我做的第一件事是关掉浏览器缓存,重新加载。旧联想上用的是桌面版 Chrome,安卓机上是一个我不太常用的浏览器,iPad 是 Safari。我把三块屏幕上每一个可见模块的位置、尺寸、出现时间都记在一个牛皮纸封面的本子上,本子是去年在城南那家旧书店买的,扉页上还留着上一任主人的铅笔字「1998 年 3 月」。三块屏幕的差异不止是顺序,连加载节奏都不同:旧联想在 1.2 秒左右完成了首屏渲染,安卓机拖到 2.6 秒,而 iPad 上是 1.8 秒。这三个数字我反复测了五次,浮动不超过 0.3 秒,所以我倾向于认为这不是网络抖动。
也就是说,我一直在分析的那个「首页」,其实并不只有一个。
这里需要说明一下我以往的做法,因为这决定了我的错误是从哪一步开始的。过去我习惯用桌面浏览器做记录,截图、标注、写注释,再把这些截图挂在文章里,用一种近乎公证的口吻说「首页如图所示」。问题在于,这种单点采样在任何一个存在自适应与分流的系统面前都是脆弱的。我不是不知道这一点,我教别人做资料比对的时候还专门强调过样本量,可轮到我自己,却因为截图够清晰、够好看,就默认了它是全部。这是一种很常见的懒惰,学术上有个不太好听的说法叫便利抽样,我从前只在方法论课上念过,没想到会在自己的站上活生生犯一遍。
后来我去翻了几篇旧稿,发现问题比我预想的更系统。三月那篇谈49图库与内部资料精准度对比的文章,我用来支撑结论的六张截图,全部来自同一台设备、同一天下午、同一个浏览器窗口尺寸。换句话说,我拿一份样本做了六次引用,还以为自己做了交叉验证。这篇旧稿我暂时没有删,只在开头加了一行注记,因为删掉它等于抹掉我犯错的痕迹,而痕迹本身是有用的——至少对我是。
我甚至在考虑,要不要把自己过去所有的截图都标注上设备、时间、视口尺寸。工作量很大,但值得。
八月二十四号上午,我又去找了陈昀。他是做前端的朋友,在城西一家做在线教育的小公司上班,工位在三楼靠窗,桌上常年堆着两罐开了封的花生。我把三块屏幕的差异说给他听,他听完没有立刻回答,先是把 iPad 转过去看了半分钟,然后说了一句我觉得很关键的话:「你这不叫分析首页,你这叫分析首页的一次投递。」他的意思是,我看到的从来不是那个结构本身,而是结构在特定条件下的一个投影。这句话当时让我有点不舒服,但回去想了很久,觉得他说得对。
他还顺手帮我看了qq浏览器入口网站和qq浏览器网页版入口链接这两个页面在不同内核下的表现,因为没有固定视口,两者的首屏差异比我想象的大。我把这些差异逐条记在本子上,编号从 A1 到 A17。A17 那一条是空的,因为我测到第十七次的时候发现前十六次的记录方式不统一,只能全部作废重来。那一刻我确实有点沮丧。
重来的成本比我想的高得多。一碗面吃完,我才决定还是重来。
三个我目前还答不上来的问题
第一,设备指纹和加载顺序之间的相关性到底有多强?我手上只有三台设备,样本量连做描述性统计都勉强,更不用说推断。第二,时间维度上,同一个设备在同一天的不同时段打开,首屏是否一致?我只在下午测过,早上和深夜完全空白。第三,也是最让我不安的一点——如果首页本身是随时间与条件变化的,那么「精准分析」「精准度」这类词在标题里是否还站得住?我在17图库资料图恢复方法那篇里用过一次「精准」,当时觉得理所当然,现在回头看,可能只是在描述我自己那一刻看到的东西。
我没有任何一个问题的答案。这篇记录之所以还是写出来,是因为我发现把问题写清楚本身就有价值,即使答案缺席。我不想再用那种笃定的语气去描述一个我只看到一角的东西。前些年我在别的站点也写过类似的分析,那时候更年轻,也更急躁,总想着赶紧给读者一个结论。现在反而愿意承认:有些页面,我看不懂。这个「看不懂」是新的,但我觉得它是诚实的。
顺便说一句,我至今仍然认为,把单次截图当作「首页真相」来引用的做法,是这个领域里被严重低估的坏习惯。
陈昀那天临走前塞给我一张便签,上面写着他推荐的一个测试思路:用同一个账号、同一台设备,间隔两小时打开一次,连续记录七天。这个方法笨,但能分离出「设备」这个变量。我打算从九月一号开始做,本子已经准备好了,就是那本扉页有铅笔字的。如果七天后有结果,我会再写一篇;如果没有结果,我也会写一篇,因为「没有结果」本身也是记录的一部分。另外,我在整理旧链接的时候无意翻到一篇自己早年写的东西,讲的是历史看过的网站,通篇都在列清单,没有一句分析,读起来倒比现在这些所谓「分析」更让我安心——至少它没有假装自己懂。