Slack 不需要介绍,所以我将直接深入。感谢Cal Henderson 、 Keith Adams和Ali Rayl对此提供的帮助。
这是我的免费时事通讯Monolith中的一期。我写的是成功的公司如何在产品适合市场之前构建他们的产品(并打破规则)。
简史: Slack 诞生于一家失败的视频游戏公司,这已成为硅谷的传奇。与所有传说一样,常见的故事都是耸人听闻的。
2009 年,联合创始人斯图尔特·巴特菲尔德 (Stewart Butterfield)、卡尔·亨德森 (Cal Henderson)、埃里克·科斯特洛 (Eric Costello) 和谢尔盖·穆拉乔夫 (Serguei Mourachov) 着手开发一款他们在 2002 年未能开发的视频游戏。斯图尔特和卡尔在 2010 年的一次会议上:https: (成绩单):
我们成功的机会很大,因为我们以前失败过,而且在同一件事上失败两次的几率非常低,是的,天文数字。 2002 年,我们创办了一家名为 Ludicorp 的公司,当时我们正在尝试制作一款名为 Game Neverending 的游戏。同样的事情:一款基于网络的大型多人游戏,只不过那是 2002 年。很多事情都不同了。其中最主要的是,不可能为面向消费者的互联网初创公司筹集资金,因为那是在互联网泡沫破灭之后,即 9 月 11 日之后,世通公司、安然公司,你知道,实际上是一个筹集资金更加困难的时期,所以我们没钱了当我们制作游戏并尝试做其他技术的时候。那是 Flickr。 Flickr 被雅虎收购了,我们花了几年时间才做到这一点。 Flickr 团队中有四个人创办了一家新公司 Tiny Speck,我们正在制作 Glitch。
凭借成功的退出和不同的筹款环境,赚钱很容易: t=1370(文字记录):
我们可以筹集任意数量的资金。所以这很容易。我们甚至没有制作甲板。我们只是说“我们想要一些钱”,人们就给了我们钱。
该团队于 2010 年从 Accel 筹集了 500 万美元,并于 2011 年从 Accel 和 a16z 筹集了 1000 万美元。Glitch 于 2011 年 9 月推出。到 2012 年底,很明显这款游戏行不通。他们关闭了 Glitch。他们还剩下 500 万美元和一个内部通讯工具。
从一开始, Tiny Speck 的团队就分布如下:
Tiny Speck 的管理团队分布在北美的不同城市。巴特菲尔德和穆拉霍夫住在温哥华,亨德森在旧金山扎营,科斯特洛在纽约负责客户开发。
为了更轻松地沟通,他们围绕 IRC 构建了一个内部系统: =1962(文字记录):
慢慢地,我们开发了一个系统,它是公司所有沟通方式的基础,并且非常有益,我们意识到,如果没有这样的东西,我们任何人都不会再工作,其他 8 个软件开发人员的团队可能也会喜欢。所以我们决定这就是我们要做的。
接下来的两年就像火箭一样:
Slack于 2019 年以 15.7B 美元的估值上市。
Slack 的最初内部版本只是 IRC 的包装:互联网中继聊天(IRC) 是 80 年代末的一种协议。 Tiny Speck 团队使用了 IRC,但它有一些重大缺陷。该协议不支持持久消息、搜索或文件上传,因此团队围绕现成的 IRC 服务器构建了他们所需的功能。来自斯图尔特: (文字记录):
我们开发了一个原始 Slack 系统。同样,在 92 年,我使用的网络工具之一是 IRC 或 Internet Relay Chat。我们在 Tiny Speck 中使用了 IRC,这是一项非常古老的技术。
大多数消息传递系统都有存储转发的概念。如果我想向您发送消息,但没有连接到您的客户端,该消息将被保留,然后在您下次连接时转发给您。 IRC 没有这个。如果我发送消息时您没有连接,您将永远不会收到它。所以我们建立了一个系统来记录消息。但是,一旦我们将消息存入数据库,我们就希望能够搜索它们。所以我们建立了搜索。然后,我们一点一点地、逐个功能地构建了与我们的文件服务器集成的东西,这样当有人上传文件时,它会被宣布到 IRC,或者如果数据中心发出警报,它会被放入 IRC。
当团队开发 Glitch 时,他们会定期发布急需的功能来增强 IRC。再次来自斯图尔特: ://youtu.be/zsBjAuexPq4?t=374(文字记录):
当有一个机会如此明显以至于我们无法不利用它时,我们会花最少的分钟时间,然后再回去处理它(开发 Glitch)。在这个过程结束时,我们得到了这个完全设计的产品,我们正在使用它,这是一个糟糕的实现,不是你从头开始会做的,但很明显,这是具有巨大价值的东西。
当团队在 2012 年底进行转型时,他们继续使用内部 IRC 版本两个月,同时从头开始构建 Slack。一旦产品准备好在内部使用,他们就搬过去了。
对于规模超过 10 人的团队,MVP 存在用户体验问题:一开始,他们“恳求并哄骗”其他公司的朋友尝试一下并提供反馈。他们一开始有六到十家公司。 Rdio 是最大的,约有 120 名员工。很明显,对于规模大于 Slack 的团队来说,该产品的工作方式非常不同。
来自加州:https: (文字记录):
被其他人使用的最初几天是一个获得大量、丰富反馈的时期。有很多事情我们只是没有考虑到,因为我们非常熟悉工作方式,但也有一些非常愚蠢的事情。如果您的公司中有两个名为“Matt”的人,则无法消除他们之间的歧义,或者如果您的团队中有 20 人,则没有滚动列表,因为我们是一个 8 人团队。
Slack 团队将这些反馈纳入产品中,加入更多团队,并继续将其纳入产品中。这种迭代的产品周期是他们从 Flickr 学到的。
再次来自 Cal: (文字记录):
我们从 Flickr 中得到的一个明显的教训是,当你看到优秀的软件产品时,你会发现那些优秀的产品并不是这样开始的。他们以一种非常不同的方式开始,产品的呈现方式也非常不同,用户以不同的方式进行交互,团队有时会进行大规模迭代才能达到今天的水平。这一切都与反馈循环有关,了解您的客户在做什么、他们遇到的问题、他们想要实现的目标,并将其重新纳入软件的设计中,并迭代出一个可以很棒并且人们可以喜欢的产品。
Slack 的架构类似于在线游戏: Slack 客户端缓存所有内容。启动时,他们会发出一个名为 rtm start 的 API 请求。这将下载有关用户工作区的所有内容,包括频道、成员和频道成员资格。然后,客户端将打开 WebSocket 连接以发送和接收本地缓存的更新。
来自 2016 年至 2020 年 Slack 首席架构师 Keith Adams 谈论媒体如何喜欢从一款网络游戏讲述 Slack 的支点故事: ?t=445(文字记录):
通常人们只是将其视为一件有趣的事情:“哦,他们是一家游戏公司,饼干有时会崩溃不是很有趣吗?”。确实如此,但它实际上以某些方式回归。如果你眯着眼睛歪着头,Slack 的实际架构类似于大型多人在线游戏的架构。你有自己运作的“世界”,也就是你的团队,为了让这个世界看起来既持久又与世界上的其他事物交互可变,你最终会对正在发生的事情做一个相当厚的缓存。然后你就有办法获得针对该世界变化的低延迟更新。这种“哦,这有点像在线游戏”的心理范式解释了很多关于 Slack 的内容。这就是为什么我们有加载屏幕的原因。这与视频游戏往往有加载屏幕的原因相同。
Slack 的建立是为了解决他们自己的问题。与Nomad List类似,该产品的初始版本来自于创建者的真实需求。
简单的事情可以提供巨大的价值。 Slack 只是开放协议的扩展,但它为合适的用户提供了巨大的价值。这是创造具有巨大价值的东西所需的零技术创新的另一个例子。
Slack 诞生于一家游戏公司,这不仅仅是巧合。这不仅仅与技术架构相关。 Slack 感觉不像工作。这是人们喜爱它的原因之一。 MetaLab 设计了 Slack 的大部分初始 UI。来自 MetaLab 创始人安德鲁·威尔金森:
为了在拥挤的市场中引起注意,我们必须找到一种方法来引起人们的注意。大多数企业软件看起来就像一套廉价的 70 年代舞会套装——到处都是柔和的蓝色和灰色——所以,从徽标开始,我们让 Slack 看起来就像五彩纸屑大炮已经爆炸。到处都是电蓝色、黄色、紫色和绿色。我们给它提供了视频游戏的配色方案,而不是企业协作产品。
也发布在这里。