“我用 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 空間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章