作者 | 白宦成

出品 | 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 空间

“我用 72 小时复刻了一个 ClubHouse”相关推荐

  1. 直播提醒|详解动作迁移理论及实践,1小时复刻故人笑!

    点击左上方蓝字关注我们 今晚是「生成对抗网络七日打卡营」第五场直播:动作迁移理论详解与代码实战!玩过让名画开口说话等趣味项目的同学应该对动作迁移不陌生了,直接至文末获取直播地址即可. 考虑到有部分还没 ...

  2. 程序员用12小时复刻《羊了个羊》,代码已开源!

    [CSDN 编者按]过去一周,不少人被<羊了个羊>这款游戏虐的不轻,有多少个"再玩一把"的念头,就有多少次被打入深渊的凄凉,甚至还有人评价道:"什么事都可以过 ...

  3. 5小时复刻《羊了个羊》,Java代码已开源,还有108套皮肤

    简介 羊了个羊游戏爆火,就是太难玩了,我玩了几十次,玩不过去,很纠结,作为技术人员的我,忍不了,就抽了5个小时用Java实现了一个桌面版本,效果如下: 测试现场 羊了个羊开发现场 实现思路+代码实现 ...

  4. 复刻了一个史上最强 Redis 6.0 版本

    阿里云 Redis 从 2015 年商用以来,一直是全球领先的云KV内存数据库产品,自从正式推出云数据库Redis 6.0版本,包含多项重大功能更新和大幅度的性能提升.相比于社区最初多线程版本的设计, ...

  5. 推荐几个复刻真实产品的开源项目!学起来!

    小编因为工作的原因,经常要带新人,小编发现现在很多新人,技术层面的理论知识其实并不确实, 少的就是实际上手试一试的项目经验. 苦思冥想.痛定思痛,小编今天就给大家介绍一些适合新人上手学习尝试的开源项目 ...

  6. GitHub上的开源复刻:暗黑破坏神2

    现在的00后少年可能已经不太了解<暗黑破坏神2>这款由暴雪打造的经典游戏. 该游戏上市的时候,国内个人家用电脑还没有那么普及,网络游戏也没有那么风靡,现在的孩子可能无法想象,那时候网吧里的 ...

  7. [SFML]使用SFML复刻一个九宫幻卡小游戏(一)前期规划和准备工作

    写在前面:   是笔者大二下的课内作业,要求是使用SFML制作棋牌类游戏.本人水平较差,复刻开发过程中存在大量走弯路.走邪门.代码冗余等情况.写此博客记录已经是一年以后的复盘了,仅作为个人学习的记录. ...

  8. 转贴一个:中国股市,现在已经过了72小时最佳救援时间了!

    时 间:6月10日 震 中:中国股市 震 级:上海7.73级,深圳8.25级 经济损失:直接经济损失将上万亿,间接经济损失无法估计 人员损失:将超过3亿人受灾 救援情况:无任何人道主义救援或捐赠 社会 ...

  9. U^2-Net跨界肖像画,完美复刻人物细节,GitHub标星2.5K+

    来源 | Jack Cui 头图 | CSDN下载自视觉中国 今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法, ...

最新文章

  1. tf.nn.max_pool 理解
  2. 跟小博老师一起学JSP ——连接数据库
  3. 3——PHP 简单运算符的使用
  4. python之torchlight使用_为什么Python被誉为全世界最高效的编程语言?
  5. pcie3.0一条通道带宽_小技巧|内存双通道提升性能
  6. checkbox wpf 改变框的大小_【论文阅读】倾斜目标范围框(标注)的终极方案
  7. C++域作用符及其高级用法
  8. 重磅发布 | 蚂蚁金服与电子标准院达成战略合作 共同推进数据安全行业的标准化...
  9. [Yii Framework] (转)CComponent基础类
  10. Python3练习题系列(03)
  11. 王道训练营3月13日
  12. 有效压缩量子数据的量子自动编码器——Quantum autoencoders for efficient compression of quantum data论文翻译
  13. 网络聊天室的分析与实现
  14. Oracle EBS 查找段限定词中账户类型SQL
  15. C++算法设计与分析课后习题(第三章)
  16. mysql 烂泥_烂泥:mysql帮助命令使用说明
  17. PowerBI把日期戳格式转换成常见日期格式
  18. 电子班牌系统服务器,智慧校园电子班牌系统解决方案
  19. 一根均线选股法_建议收藏!一根均线走天下战法详解,(附选股方法)
  20. 程序员的浪漫而简单:新年祝福语

热门文章

  1. Spring beans配置方案(一) 学习笔记
  2. 9.设置jdk版本相同有哪些需要设置的(解决jdk不同的一般方法)
  3. UNP学习笔记3——基本UDP套接字编程
  4. 工作的时候 用到了 获取时间 DateTime 整理了一下
  5. dubbo 学习笔记 -- provider端
  6. 清空StringBuilder的三种方法及效率
  7. 国内市场上 Android 手机屏幕分辨率的比例情况如何?
  8. PostgreSQL在何处处理 sql查询之二
  9. Extjs, each中实现break、continue
  10. [译] JAVA初学者的30个常见问题