“我用 72 小时复刻了一个 ClubHouse”

作者 | 白宦成

出品 | CSDN(ID:CSDNnews)

2021,新社交软件的第一“战”,Clubhouse 火爆海外。

这款语音社交 App 迅速走红的背后,科技圈大佬、特斯拉 CEO 埃隆·马斯克亲自站台,于不久前在 Clubhouse 上创建了一个名为「Elon Musk on Good Time」的聊天室(Room),在能容纳 5000 名用户的前提条件下,直播“房间”瞬间爆满。

ClubHouse 因此也成了不少人讨论分析的焦点。不过,可能在座的很多人都还没玩上这款应用,因为“注册邀请码”一码难求。于是,72 小时前,一位开发者自告奋勇,模仿 ClubHouse 开发一个 NESHouse ,并且将代码开源了出来。

  • 开源地址:https://github.com/bestony/neshouse

  • 体验地址:https://neshouse.com/admin.html

NESHouse 的作者白宦成,是一位玩播客的工程师,同时也是 Linux 中国开源社区技术负责人。我们找到了他,跟他聊了聊复刻 ClubHouse 的过程,以及从职业播客角度怎么看待这类应用。

72 小时开发挑战的背后

Q:怎么会想到要做 72 小时的开发挑战,之前参加过 Hackathon 类型的活动吗?

白宦成:我自己本身是很喜欢研究新创的产品的,ClubHouse 在这几天爆火的时候,我自己也是早早的拿到了邀请码开始使用。在使用的过程中,觉得 ClubHouse 似乎也就这样子。而这几天的爆火给 ClubHouse 带来的问题是,总是登不上去。既然登不上去,那干脆自己做一个好了!此外我和津津乐道播客的小伙伴们也想通过这个“行为艺术”来证明在云服务非常普遍化的今天,运营能力对产品成功的助力,可能会比技术能力更为重要,只要你有一个想法,尽管可以大胆的去实践:用靠谱的云服务搭建一个最小化模型去验证。

“就差一个程序员了”的创业笑谈在今天可能就不太适用了。

而为了给自己一些压力,我选择了给自己订了一个 72 小时的 Flag(为什么不是 24 小时 ?因为 24 小时我没把握), 这样就可以确保我在给定的时间内能开发完。

我自己经常有 Hackathon 的习惯,之前还在公司的时候,我就会选择每周五的晚上给自己一个 Hackathon Time, 来做一些 Side Project。不过受限于时间和地点的因素,我其实没有参加任何一个 Hackathon 活动。我更多都是自己一个人在某个特定的时间(比如周五晚上或者周六晚上),从自己的灵感库里拿出来一个,作为本次的 Hackathon 主题,然后通宵把项目给实现出来。

Q:在技术选型的过程中,会考虑哪些因素?

白宦成:在技术选型方面,我最主要考虑的就是两个因素:

  • 一定要快:我要做的事情是快速实现 & 从 0 到 1 ,那就决定了我的一个核心因素是足够快,不然我花半个月时间做完,这个事情就没有意义了。

  • 一定要新:我喜欢在 Side Project / Hackathon 中使用一些我从没有使用过的技术栈,这样可以让我的在最快的时间内逼自己学会一个新的东西,给自己后续的开发提供能量。

其它的方面就不太是我考虑的点,因为 Hackathon 开发期间对于资源的消耗其实是有限的,成本不会太成问题,更多还是要考虑怎么又快又好的把它实现出来。

Q:NESHouse 项目中,音频互动功能的实现是怎么考虑的?遇到什么样的问题?

白宦成:音频互动功能选择了最快的方法,毕竟我想短时间内实现。之前我曾经调研过一些第三方实时音频 SDK,对比发现,声网的 API 相对而言比较简洁明了,开发起来学习成本没那么高。

在应用过程中,打个比喻,假设我们任何一个项目需要喝水(实时音频),那声网提供的就是自来水,水龙头一扭,水就来了。如果没有该 SDK,那你就需要自己挖井,然后自己装抽水机,也不是喝不到水,只是更麻烦,不如直接接入现有的 SDK 更省心。

这样也可以让我更快的完成接入,把精力放在逻辑上。

比如在 NESHouse 接入音频收听的代码只有 7 行代码。

其实音频互动的实现过程没有遇到太多的困难,主要的困难是在不同的浏览器和设备的适配上。因为我做的是 Web 端的实现,依赖的是浏览器对于 WebRTC 的兼容。比如我在开发过程中,就发现微信的浏览器在接入音频播放的时候,就不得不让用户主动点击一下页面才行,为此,我专门做了一个界面,来做微信设备上的接入。

我眼中播客与音频社交

Q:ClubHouse 与传统播客的思路有什么不同?是否是播客的一种进化形态?

白宦成:我自己其实对于 ClubHouse 的感觉是,它的初心可能就是想做一个线下场景的延展。譬如说疫情当下,原本我可以去线下沙龙,但现在没有办法去听了,然后可以让我在 ClubHouse 中听。它会有一个时间限制,使得我必须在固定时间来到这个 House,才能听这个 Club 分享的内容。但播客不同,播客没有时间限制,我可以在任何时间来听。

这个时间的限制决定了 ClubHouse 的现场感非常强,使用起来会需要你更有参与感。但播客不同,没有那么多的限制。不过,ClubHouse 其实也可以当播客用,只是可能主题经常变动,如果你不介意,ClubHouse 也可以是播客。

Q:有看法认为「ClubHouse 在技术上并没有壁垒,而主要是在运营传播方面的成功」。你经过 72 小时的开发之后,如何看待这个应用的成功?

白宦成:ClubHouse 的开发有没有难度?有难度。音频社交有没有壁垒?没有壁垒。因为完全可以基于声网的服务来实现。

真正的壁垒在于前期开发产品的时候,你需要权衡产品的利弊,要什么?不要什么?你在产品开发出来以后,如何获取足够多的 KOL ,比如 Elon Musk 这样的人加入到社区来分享?如何让更多的人进来玩?如何获取足够的资金,来支撑海量用户进入后的运维和成本问题。

相比之下,我认为后面这些东西,才是更难的。

Q:作为资深的播客主播,和自由开发者,ClubHouse 式的音频社交,你觉得是否会在中国形成潮流?

白宦成:我觉得还是比较难的。ClubHouse 这种方式对于大家的时间同步要求是比较高的。他可能会慢慢转变为一个工具,当你有开线上沙龙的需求的时候,那 ClubHouse 会是一个不错的工具。

作者介绍:白宦成,NESHouse 的作者,是一位玩播客的工程师,同时也是 Linux 中国开源社区技术负责人,GitHub ID: bestony。

程序员如何避免陷入“内卷”、选择什么技术最有前景,中国开发者现状与技术趋势究竟是什么样?快来参与「2020 中国开发者大调查」,更有丰富奖品送不停!



☞小米澄清「手机不再支持GMS」;虾米音乐正式关停;《质量效应1》DLC 因源代码损坏而移除 | 极客头条☞一行代码没写,凭啥被尊为“第一位程序员”?
☞程序员硬核“年终大扫除”,清理了数据库 70GB 空间

猜你喜欢

转载自blog.csdn.net/csdnnews/article/details/113696411
72