微信「面对面建群」的功能设计及其技术实现

30次阅读

共计 850 个字符,预计需要花费 3 分钟才能阅读完成。

1 . 这个四位数字可以人为指定,并不是随机生成。经测试,除去“1111”“2222”“1234”外皆可用,即大概有近 9000 种选择。

最初以为这个四位数随机生成,并没有认为真在“面对面”上做文章,即腾讯认为,其 10 0000 0000 用户,不太可能在同一时刻,有超过 9000 人在使用该功能。但后来发现可以人为指定数字后,此论述不成立。

如身在杭州的我, 和远在加州的 Mark 打开微信该功能, 同一时刻输入同一串约定好的四位数字, 很显然, 我们不可能进入同一个群聊.

2 . 完全陌生的一群人在相近距离内, 能否通过该功能创建并进入同一群聊? 简化来说, 即两个生人之间, 是否需要有一共同好友, 才可进群?

即如诸葛亮认识孟获, 诸葛亮也认识鲁肃, 但鲁肃与孟获素未谋面, 如果诸葛亮率先输入一串数字发起, 孟获鲁肃二人应可通过同一串数字加入群聊. 但关键问题就是, 假如抛去诸葛亮这个节点, 不是好友的二人直接使用该功能, 能否成功?

答案是肯定的

3 . 我去街对面, 再和好友测试该功能, 可正常使用.

4 . 关闭 GPS, 再使用该功能, 仍然正常(此处应是因为微信会记录未关闭 GPS 之前的位置, 所以即便二人关闭定位, 依据上一次的历史, 看上去二人仍在相近位置)

通过以上几次测试, 感觉大致可以得出,「面对面建群」确实使用了 GPS 来估算, 一定地理范围如方圆 500 米内, 同一时间使用该功能输入同一串数字的用户, 会进入到群聊

但还有其他一些问题可以思考:

  • “ 面对面 ”, 这个具体的距离范围是多少?

  • 群主产生的逻辑是什么?

  • 我在居住的 A 地和朋友们用该功能输入 8888 建一群聊, 一天后, 我们在群里聊得正嗨, 有一新同学前来, 我让他输入 8888 进群. 但与此同时, 隔壁邻居家来了客人, 也想通过该功能建一群聊, 且巧合的是也偏爱8888. 于是这时, 我这位新来的朋友, 最终加入的是哪个群聊?

  • 设计为腾讯下发四位数字, 而非用户指定, 是不是更合理?

  • 假如有一大型活动 3 万人参与, 在 八万人体育场 甚至是 诺坎普 这样能容纳近 10 万人的巨大空间, 需要 3 人一队, 分成 1 万组, 这时候如果使用该功能, 是不是会一定发生紊乱?

正文完
 0