【專訪】SoundOn:台灣最大語音社交 Podcast 平台
Podcast 越來越火!Clubhouse算什麼?SoundOn 可是首支 Podcast 創作者融合 Clubhouse 聲音交友平台呢!
你也有聽 Podcast 的習慣嗎?說到 Podcast 現在還只想到 Spotify?G 家的Podcasts? 不過,這些內容大部分是以英文為主。
說到中文市場,那你可不能不認識 SoundOn 了!SoundOn 可是目前台灣最大 Podcast 創作者融合聲音交友的平台呢!
你知道在 2021 年初,SoundOn 正式宣布被17直播共同創辦人潘杰賢收購(延伸閱讀:SoundOn宣布被收購!M17前 CEO潘杰賢個人基金、新加坡投顧KV成股東)團隊也在火速擴編中!🔥
認識 SoundOn
SoundOn 希望能推動台灣 Podcast 市場的發展,讓更多人認識 Podcast 這個媒體型態,並從中獲得對自己喜歡並有價值的內容。
成立之初,還沒有很多的台灣 Podcast 節目,也沒有能讓大家認識台灣節目的 Podcast Player(Apple 與 Spotify 等國外播放器幾乎都只有英文節目)
因此 SoundOn 除了經營自己的原創節目之外,也想打造一個 可以讓台灣使用者發現並找到更多台灣 Podcast 節目的 Podcast Player APP。
在台灣 Podcast 市場正快速成長的現在,SoundOn 更專注於:
如何讓使用者更方便快速的找到適合自己的節目,並協助他們挖掘並探索更多有趣的聲音,讓大家隨時隨地,找到頻率最對的聲音。
SoundOn 內容&功能
首頁
豐富的內容直接一覽無遺!特別喜歡首頁的分類方式,例如:
- 新聲報到
- 學無止盡
- 文化意識
- 通勤快聽
- 你不理財才不理你
- 史蒂夫推薦
SoundOn 的分類幫助你快速找到有興趣的內容。如果你在通勤。更是有通勤快聽的類別幫你分類好了呢!
探索
在 SoundOn上面,你也能直接根據有興趣的類別找到相關的 Podcasts:藝術、商業、喜劇音樂、健康健身、家庭、犯罪、科技、程式等等,想得到幾乎都找得到。
原創內容
除了創作者們優質的內容,SoundOn 更也提供了原創 Podcast 哦!原創內容是 SoundOn 團隊 feat. 許多公眾人物、作家、網紅或是某領域佼佼者一起製作的內容哦!(原創內容讓我想到了 Netflix 原創影集呢!)
打開某個節目,內容介紹也能夠一目瞭然。
清單
在清單中,你能夠快速方便找到訂閱、聆聽中和已經下載的內容。
分享
除了一般的分享到其他 App 中,SoundOn 也更是很貼心的能夠讓你直接分享到 IG 限動上哦!
下載 Podcast
SoundOn 當然也貼心地考慮到了。就算手機在飛航沒有網路的情況下,只要先把喜歡的內容下載好就可以囉!
無間斷一直聽
當然!享受 Podcasts 的同時,你也能夠關閉 App,邊聽邊做其他的事 🎧
SoundClub
近期火到爆的 Clubhouse 掀起了一陣話題。SoundClub 也如火如荼推出中呢!只要到 App 中的 SoundClub 登入後,就可以加入體驗囉!
(更多內容直接去下載親自體驗最快了哦!這邊就不贅述囉!)
簡單地認識完 SoundOn 的內容,最重要的還是工程師敲碗最想知道的事
SoundOn 與 Flutter 技術故事
1. 為什麼決定採用 Flutter 技術來開發呢?大約花多久的時間評估決定使用的技術?
以目前我們公司的架構,在APP上希望能使用更有效更有彈性的開發方式,SoundOn 原本就有原生 APP 工程師,再結合 Flutter 優秀的跨平台能力,讓不同平台共用大部分的邏輯和 UI,可使我們原先的人力創造更大的效能並提供給使用者更好的體驗,同時我們也看重在眾多跨平臺框架中,Flutter 強大的效能與穩定的UI表達效果,以及未來能 deploy 到網頁甚至 desktop 的可能性,因此經過與APP開發團約兩週的評估與討論後,我們決定選用 Flutter 技術。
2. 目前團隊有多少人一起投入開發?大家是什麼樣的背景呢?
兩個人,一個 iOS 工程師和一個 Android 工程師
3. 可以跟我們分享團隊/個人研究 Flutter 的過程和方式嗎 ?
Lutas: 有買 Udemy 的課程,但大概只看了兩小時。
主要還是看官網和 medium 等網路文章
4. 團隊花了多少時間時間開發?
四個月,扣掉維護舊 app 和測試的時間,實際開發時間約三個月
5. App 內有不少資訊,後端是第三方服務還是自架後端?並還有用到哪些第三方服務?
除了文章有接 Medium RSS feed 以外,其他資訊都來自自建後端。
有用到:
- RESTful API
- Firebase
6. 團隊之前有使用非 Flutter 的技術開發 App 的經驗嗎?使用 Flutter 後,在協作或產出方面,有沒有特別想分享的經驗呢?
- Lutas: 有 Android 開發經驗,Flutter 大概只玩過 3 週
- Carter: 有 iOS 開發經驗,Flutter 無經驗
7. 在決定使用 Flutter 技術時有什麼擔憂嗎?
主要是擔心 Audio Player 的可用性和穩定度,我們自己沒有找到 100% 使用 Flutter 的音頻 Production App。再來是我們兩個對 Flutter 都不算熟,有點怕學習進度趕不上開發時程。
8. 如何評估適合的架構模式,並取得共識並決定採用呢?
主要評估指標為:
- 是否為官方主推?
- 廣泛使用度
- 是否符合開發需求
- 學習曲線是否過高?
綜合以上評估後我們選擇了 Bloc 和 Provider 混用。
9. 團隊使用的架構模式,以你們的經驗來說有什麼優缺點嗎?
優點
- Provider 相當易學易用,而且可以拿來處理依賴注入。
- Bloc 的使用上蠻像 viewModel,MVI pattern 對我們來說也算熟悉,可以輕鬆將多數業務邏輯都寫在 Bloc。
缺點
兩者混用在依賴注入上不太適合,之後可能會統一用 flutter_bloc 的 RepositoryProvider 來統一處理 DI。
10. 用 Flutter 開發的時候,什麼樣的事情最有挑戰性/最困難?
最大的困難在於我們原本就有原生的 App,並且已經上線了一段時間,這次的目標是 100% 改用 Fluuter 打掉重做,並且重新設計 UI/UX。
我們希望再使用者的角度看來是舊版 App 的『大進化』,所以必需承接舊版資料和要求較高的穩定度。
技術上遇到的困難是:Audio Player 和 FireStore。
- Audio Player 可看 12 點,Firebase 的難處則在他的 bug。
- cloud_firestore 使用 Singleton 紀錄 platform channel,但又會在每次 create plugin 時建立新的 instance。簡單來講就是當 audio_service 啟動時 cloud_firestore 就會丟失前面的 communication,導致 stream 不再更新。
就我所知此 Issue 至今仍未修復,因為我們打算在未來完全棄用 firestore,所以後來改用 bloc 來取代 firestore stream provider。
有使用 FireStore 的人要小心這個坑。
11. 可以跟我們大概分享如何處理音頻嗎?在處理上特別有挑戰性的地方(例如:效能、流暢度、播放器..)
我們用 just_audio Pluging 當 Audio Player、audio_service Plugin 處理背景播放等功能。
兩者都出自同樣作者,相當熱心於幫助其他開發者處理問題,大推!
主要困難是在 audio_service 上,目前還沒到 1.0 版本。基本上每次 update API 都會大改,另外功能上也不是很完備,好在 Api 設計嚴謹,寫擴充功能也不算太難。不是太急的話建議等 1.0 推出後再使用。
12. 在 App 中,有什麼特別想介紹的技術嗎?
沒用到特別潮的東西,請關注我的 Medium,用到時『有可能』會寫文章
13. 有使用任何 CI/CD 工具嗎?有的話是否可以跟我們分享使用的工具,為什麼選擇該工具?
CodeMagic
14. 如果可以重新選擇開發技術,你們還是會選擇用 Flutter 來開發嗎?
還是會,因為業務邏輯和 UI 的 code 可以共用,對我們這種小團隊來說大大提升了人力使用率,也開啟了跨其他平台的可能性。
15. 你們會推薦什麼樣的 App 使用 Flutter?如果團隊決定使用 Flutter 來開發,你們有什麼樣的建議想給大家嗎?
原本是 Web App 或長得像 Web App 的都很推薦用 Flutter 寫,Flutter 的 UI 好寫又有原生的效能。
工程師資訊
想說的話….
跪求大家幫我們下載 App 並五星推爆~!!⭐️⭐️⭐️⭐️⭐️
如果你想直接和工程師互動交流…歡迎直接到 Lutas 的 Medium 哦!
SoundOn 大力擴編中!!
認識了 SoundOn 與 Flutter 的故事後,是不是也感到熱血澎湃,很想上船?
SoundOn 正在尋找有經驗的 Flutter 工程師心血加入團隊,一起熱血奮鬥!
還不趕快履歷丟起來?
團隊 & 產品資訊
也可以直接從 Web 版本收聽精彩 Podcasts 哦!
文章都看了,手拍了嗎?還沒拍呀?!拍手鼓勵支持,小編們才用動力繼續寫下去哦!此計畫也才得以繼續 :) 以上文章感謝 SoundOn 熱情參與 Flutter Taipei「App 蒐集企劃」,也謝謝你讀完這篇文章!希望這篇文章和此企劃讓你更了解 Flutter 在商業化產品上的應用與導入。歡迎隨時加入 Flutter Taipei 臉書社團與大家一起互動,告訴我們更多你的想法!如果你也有興趣參與「App蒐集企劃」聊聊你們團隊/獨立開發者如何開發 Flutter App,想跟大家分享用到了怎麼樣的相關技術,歡迎直接填寫表單,我們將與你聯絡!
歡迎閱讀「台灣 Flutter App 蒐集企劃」以了解完整計畫資訊哦!