第19章 特攻团队 重生10:我在企鹅做推手
“深哥,真的只有十五天了?”
从会议出来后,林深坐在工位上,正在给绿萝喷水,动作不紧不慢,陆川凑到他旁边,声音压的很低。
“嗯。”林深確定的点点头。
“那……来得及吗?”陆川似乎有点不確定,但看著林深的状態,却是莫明的很心安。
林深放下喷壶,转过头看他:“陆川,如果你必须在十五天內学会游泳,否则就会淹死,你学得会吗?”
“我……应该会拼命学吧。”
“不是拼命,”林深纠正,“是『用一切方法学会』。拼命可能意味著胡乱扑腾,最终体力耗尽沉下去。而『用一切方法』意味著:找最好的教练,研究最高效的姿势,分析自己的弱点,在浅水区练基本功,在深水区练勇气。”
他顿了顿:“我们现在就是那个快要淹死的人。但好消息是,我们知道怎么游泳——我们有技术,有產品,有团队。我们需要的不是恐慌,是方法。”
陆川似懂非懂地点头。
“所以,现在该找方法了!”
林深从电脑里调出个文件,走向陈默。
“陈老师,关於我的负责的两个功能,我有个建议。”
“说。”
“这两功能虽然是我提的,但实现起来需要前后台紧密配合。”林深的目光扫过王浩和张维,“我建议成立一个临时『特攻小组』,我和陆川、后台出一个兄弟、客户端出一个兄弟,坐在一起开发。物理距离缩短,沟通成本降低,就像——”
他想了想:“就像把三根单独的绳子编成一股,绳子还是那三根,但结实多了。”
陈默略一沉吟:“可以。王浩,你派个人;张维,你也派个人。今天上午就搬过去。”
王浩从屏幕后抬起头,声音沙哑:“我让小李过去,他对消息协议最熟。”
张维点头:“程向东吧,他做过消息列表,对客户端状態同步有经验。”
“好。”陈默看了看林深,意思很明確,现在人给你协调了,该拿出你的方案了。
临时的特攻小组围绕著林深搭建了起来,而他也开始自己的分工。
“三位,”林深搓了搓手,“咱们接到的任务,本质上是在盖两座小房子。”
他在白板上画了两个歪歪扭扭的方框。
“这座,叫『@所有人小屋』。功能是:当群主或管理员发出一条特殊消息时,这消息必须『踹开』所有成员的门,跳到他脸上,大喊『快看我!』”
小李推了推眼镜:“技术上,就是定义一种新消息类型,伺服器识別后做强制推送。”
“对,但不止。”林深在房子旁边画了几个小人,“难点在於:第一,怎么『踹门』才不让人反感?要明显,但不能嚇人。第二,如果有人把门锁了(免打扰模式),我们是把门拆了,还是把消息从门缝塞进去?”
程向东接话:“视觉上,我们设计一个特殊样式的气泡,带震动或强提醒。免打扰模式……可以破例,也可以不破,这是个產品决策。”
“问得好。”林深在房子上画了个问號,“所以我们得先去『產品部』借把尺子,量量踹门的力度。这事儿交给我。”
他指向第二个方框:
“这座,叫『撤回后悔药铺』。功能是:发错消息的人,可以在短时间內吃一颗『后悔药』,让那句话从所有人的记忆里消失——当然,是数字记忆。”
小李皱眉:“技术上,撤回不是真刪除,是標记刪除。原消息还在伺服器,但客户端不显示。时间同步是最大的坑。”
“没错。”林深在药铺前画了一条歪歪扭扭的时间线,“a发消息,b和c同时在线,秒收。a在5秒內撤回。理想情况:b和c的手机上,消息『咻』地消失了,像变魔术。”
“但如果b当时在电梯里,没信號,10秒后才收到消息呢?”小程提出关键问题,“他看到的是一条已经『被撤回』的消息吗?那更诡异了。”
林深在白板上画了两个平行的时间轴,一个標註“在线”,一个標註“离线”。
“所以我们的『后悔药』得分两种。”他用不同顏色的笔画圈,“第一种,给在线的人吃『立即消失药』;第二种,给离线的人吃『从未存在药』。”
小李眼睛一亮:“你的意思是……伺服器要做判断?如果接收方当时在线,就走实时撤回同步;如果离线,就在他下次上线时,直接不给他推送那条消息?”
“对,但还有更复杂的情况。”林深在时间轴上又画了几个分支,“如果b在消息发出后第3秒离线,a在第5秒撤回。b第10秒上线——他该看到什么?”
三人陷入沉默。
似乎他们没想到,一个小功能的开发,居然还有这样的问题。
陆川却像是突然明白了什么,“深哥,就像三个人在不同的时区,试图同时点燃一根鞭炮。点火时间差几毫秒,有人听到『砰』,有人只看到烟,还有人刚捂住耳朵,鞭炮已经炸完了。”
林深讚许的眼神投了过去,他就说这小子是有点天赋的。
程向东隨即问道:“那怎么办?统一时区?”
“不。”林深摇头,眼神变得锐利,“我们得接受『时差』的存在。撤回的本质不是让消息『从未发生』,而是让它在『社交层面』失效。所以我们的设计原则应该是:尽最大努力让所有人看到撤回效果,但接受极少数边缘情况下的不一致。”
他在白板上写下几个大字:
“撤回不是时间魔法,是社交契约。”
小李盯著这几个字看了几秒,缓缓点头:“我明白了。技术方案上,我们可以这样设计……”
接下来的两个小时,三人的討论从抽象比喻落地到具体协议。林深用他那些看似疯癲的比喻,把复杂的技术问题拆解成一个个生动的场景,让三个人频频点头,甚至偶尔会心一笑。
陈默端著水杯经过时,听到林深正在说:
“……所以我们的消息协议里,要加一个『撤回標记』,就像给消息戴上一顶『我死了』的帽子。客户端看到这顶帽子,就把消息藏起来。但如果客户端还没来得及见到消息本人,只收到一顶帽子——”
他双手一摊:“那就把帽子掛墙上,等消息本人来了,一看帽子,哦,我死了,自行消失。”
程向东笑道:“那要是消息本人永远不来呢?”
“那就永远掛著帽子。”林深也笑,“一座衣冠冢,纪念一条从未谋面的消息。”
陈默听得一愣一愣的,端著水杯走回自己工位,低声嘟囔:“这四个人……这都什么跟什么啊……算了,疯就疯点吧,我也快疯了!”
逻辑梳理的差不多,林深又走向了李婷。
“婷姐。”
李婷抬头,看见是林深,表情微妙地顿了一下,隨即恢復职业性的平静:“有事?”
“李经理,关於@和撤回的两个產品细节,需要您拍板。”林深开门见山,把刚才討论的几个关键问题列在纸上,推到李婷面前。
李婷快速扫了一眼,眉头微蹙:“免打扰模式下,@消息要不要破例?这確实是个问题。”
她思考了几秒,看向林深:“你的意见呢?”
“我的意见是……”林深顿了顿,“看我们想塑造什么样的『群主权威』。”
李婷挑眉,示意他继续说。
“如果把群主比作船长,成员是水手。”林深用手指在桌面上画了一条船的轮廓,“正常情况下,船长用喇叭喊话,水手可以选择听不见——比如戴著耳塞。但如果船长拉响的是『警报』,意味著有冰山或海盗——”
他看向李婷:“这时候,耳塞应该被强制摘掉吗?”
李婷沉默片刻,缓缓道:“你的意思是,@消息分等级?普通@和紧急@?”
“可以这么设计。”林深点头,“或者更简单:群主的@一律破例,管理员的@不破例。这传递的信息是:群主有『最终紧急呼叫权』,但这权力要慎用。用多了,水手会觉得『狼来了』,真到冰山时,他们可能已经学会无视警报了。”
李婷的手指在桌面上轻轻敲击,这是她深度思考时的习惯。
“有道理。”她最终点头,“就按这个思路:群主的@破例,管理员的@不破例。但要在產品文案里解释清楚,避免滥用。”
“好。”林深在纸上记下,“第二个问题,撤回的时间窗口。多长合適?”
“竞品一般是几分钟?”李婷反问。
本章未完,点击下一页继续阅读。(1 / 2)