起点:赛前十分钟,最不该花在找东西上
一场业余联赛开赛前十分钟,最常见的画面是这样的:教练在群里追问首发有没有临时调整,赛务拿着两张不同版本的赛程表在打电话,内容编辑在三个页面之间来回切换。信息其实都在,只是散在了不同的时间点上。
我们 2019 年决定从这里切进去。赛程和阵容不该要求人记住它被放在哪,而应当在你要用它的那一刻出现在同一处,并且是当场有效的那一版。这个判断定下来之后,后面所有的版本迭代都只是在把这句话做得更短、更快。
信息不缺,缺的是它出现的时间点。
四个版本,一条越走越短的路
每一次大版本只解决一个具体问题:先让人查得到,再让人带得走,接着让数据和战报站在一起,最后把整条路压到两步。
-
V1.0 · 2019
先让人查得到
把分散在各处的赛事信息收进统一的赛事页:一个赛事编号对应一份完整赛程,阵容名单落在同一屏。第一次有人能在开赛前只打开一个页面,就把该看的都看完。
-
V2.4
让赛程能被带走
观众不该只停在屏幕前。这一版首次上线赛程导出,支持 CSV 与 ICS 日历两种格式,单次最多带走 30 天赛程。队伍拿去排班,编辑拿去对稿,不必再手工抄一遍。
-
V2.6
让数据站在战报旁边
战报和技术统计原来隔着两次跳转。这一版把控球率、射门、角球等 12 项统计放到战报同页,看完文字往下翻就是数据,少了来回切页的打断。
-
V3.1 · 当前版本
把路径压到两步
页面加载速度较上一版提升约 40%,完成阵容确认的路径由四步缩短为两步:先在赛事页确认阵容,再于开赛前十分钟取终版并导出。移动端把两个动作固定到屏幕底部,单手就能走完。
每天 09:00 到次日 02:00,都有人在盯
赛程不会自己更新。26 名数据编辑分成四个班次接力,从早上九点守到次日凌晨两点;12 名工程师在后台守着赛事数据接口、导出服务和页面性能。你半夜刷新一次看到的名单,是有人在那个时间点刚确认过的。
- 早班09:00–13:00
- 午班13:00–18:00
- 晚班18:00–21:30
- 夜班21:30–次日 02:00
赛程和阵容,源头在哪里
赛程和阵容不是我们估出来的。9 家区域赛事运营方通过各自的官方渠道同步给我们,赛事编号是两边对得上的凭据——你在页面上看到的编号,客服和运营方那边也认同一个。
- 区域运营方按官方渠道推送赛程与阵容调整,晚到的变动会被补进对应赛事页。
- 每一场比赛保留历史版本,阵容在开赛前十分钟锁定之后,变更前的名单依然能回看。
- 导出的赛程文件带上生成时间与赛事编号,拿出去排班、对稿或发布时,来源始终说得清。
服务范围,和找到我们的方式
服务地区以广东为核心,赛程数据覆盖全国 26 个省级行政区,赛事体系从足球、篮球延伸到排球等共 6 个项目。每周更新的赛程约 320 场,赛季高峰期单日更新超过 60 场,这个量级靠人工是顶不住的,所以我们把编辑、工程和运营方的节奏对齐在同一张时间表上。
遇到操作上的疑问,先去帮助中心,大部分查阵容、导赛程的问题在那里就能解决;需要人来处理,或者想谈数据协作、内容合作,走意见反馈,工作日 9:00 至 18:00 由人工客服回复邮件。来件时附上赛事编号,处理会快很多。
一直没改的三条做法
版本换过四个,这三条一直没动过。展开可以看到我们在具体事情上是怎么落地的。
时间优先:先给结论,再给解释
开赛前十分钟点进来的人没空读长文。阵容结论放在最上面,背景解释放在下面,技术统计跟着战报同页跟进。任何新模块上线前,我们先问一句:它会不会把结论挤下去?
来源可溯:每条赛程都留得下来路
赛事编号贯穿赛事页、导出文件和客服沟通。阵容锁定前后的版本都保留着,导出的赛程带着生成时间。哪怕文件被转发了几手,也能顺着编号回查当时的样子。
路径最短:不让两步变回三步
功能越加越多,路径很容易变长。我们的做法是每次迭代都重新数一遍步数:确认阵容一步,取终版并导出一步。数下来多了一步,就回去重做,而不是让用户多习惯一次点击。