海龟龟

为什么钉钉没有 thread 功能?

在回国开始新工作的第一天,我猛地发现——与 Slack 同为办公 IM(Instant Messaging,即时通讯)的钉钉里没有 Thread,取而代之的是 Chat。

Thread

Thread 允许用户将讨论挪到分支而不打扰主干。不妨把它想象为英语角——感兴趣的人聚到一个角落交流,不影响广场上的路人。

以下面这张 Slack 的截屏为例,我们能看到左侧的主干讨论没有受到右侧分支讨论的影响,右侧的分支讨论即为一个 thread。用户可以直接在 thread 中回复,thread 就像是基于主干中的一条发言所形成的的一个独立的小讨论区。

Chat

而 Chat 只有一个主干,对分支的支持没有或很弱。不妨把它想象为大型年夜饭现场——小朋友之间或许能短暂地对话,但这种对话极易淹没在大家长们的家长里短中。

以下面这张钉钉截屏为例,回答者通过在问题「python 版本如何导入 jdbc 驱动」下面点选「回复」,使得回答在出现在主干上(见左侧箭头)的同时,也和问题一起形成了「话题」分支(见右侧箭头)。然而,在后续讨论中,由于正常人都不会一直严格地使用「回复」功能进行回复,「这样可以添加 JAR 依赖」和「非常感谢」这两条对话(见红色虚线方框)并没有出现在「话题」分支中。

Thread vs. Chat

不难看出,Thread 模式相比 Chat 模式更好地支持了分支,带来两个好处。第一,分支能更好地沉淀讨论的内容;第二,分支的存在允许大家同时在一个大主干上讨论不同的事情,而不担心被淹没。不妨做个简单的类比——Thead 就像正常的 Git,而 Chat 则像是只允许在 master 上开发的 Git :man_facepalming:

既然 Thread 模式相比 Chat 模式更便于高效讨论,为什么以钉钉为代表的国内办公 IM(还包括飞书、企业微信等)会使用 Chat 模式,而以 Slack 为代表的美国办公 IM(还包括 Discord)则使用 Thread 模式呢?下面是不负责任的猜测环节。

路径依赖假说

微信是国内最广大人民的基本 IM,国内办公 IM 都想做办公领域更好的微信,自然会着重在沿袭微信使用体验的 Chat 模式上,threading 功能并不为人所知,因此并不重要。

而 Email(电子邮件)和 email threads 早在 1973 年的美国就已出现,直到今天仍被大量用于工作讨论场景(包括 Apache 项目的社群讨论),美国的办公 IM 自然要把这个重要且实用的功能保留下来。

这种路径依赖(path dependency)的现象在中美互联网产品的演进上屡见不鲜。例如,美国人早已习惯用信用卡,因此当线上支付还在美国踟蹰的时候,它的浪潮早已席卷全中国。又例如,中国企业比美国企业在实时机器学习的应用上更为激进。这样的例子还有很多。

总结

最后,作为 thread 重度用户,我想说:「钉钉,加个 thread 功能可好?」