跳至主要內容
SHAO MEDIA

一個不發安裝包的鬥魚 App:SwiftPeek,把直播做回了 Apple 的樣子

從 V2EX 一款以 Swift 打造的鬥魚原生直播 App 看起,觀察第三方開發者如何把斷線體驗與彈幕時間軸重新設計成 Apple 平臺的介面。

科技 設計評論 約 3 分鐘閱讀

10 月 19 日,V2EX 的分享創造板出現了一則短短的貼文。開發者 rladmsrl 說,自己原本用 dart_simple_live 這個跨平臺開源直播工具看鬥魚,最近卻老是看著看著就斷線。因為手上是 Apple 全家桶,索性讓 AI 改寫了一個 Swift 原生版本,只保留鬥魚渠道,專案名為 SwiftPeek,放在 GitHub 上。

這則貼文最值得看的細節,其實不在功能清單,而在兩個取捨。

第一個取捨是平臺。dart_simple_live 用 Flutter/Dart 打包多平臺,代價是播放器、彈幕渲染、網路層都隔著一層框架。SwiftPeek 反向操作:砍掉所有其他直播渠道,只做鬥魚,換成 Swift 原生。這和先前觀察過的Auto Clicker Manager 把自動點擊做成 macOS 原生樣子是同一種設計姿態,當跨平臺框架的抽象成本開始讓使用者察覺(斷線就是最直接的察覺),回到原生物件與系統 API,本身就成了介面承諾的一部分。

第二個取捨是發佈方式。貼文裡開發者明說不敢放出安裝包,理由是版權風險;回覆裡另一位使用者要安裝包,得到的答案是「你直接讓 AI 弄,他就給你弄好了」。原始碼公開,成品不發佈,這個切分把法律風險留給每個自行編譯的人,也讓這款 App 的「完成品」永遠只存在於各人的機器上。相較於多數第三方工具急著打包散佈,這裡的克制反而成了產品的一部分。

功能面上可確認的只有兩項:支援查看錄影,以及保留了彈幕加 AI 時間軸。後者是 dart_simple_live 原本就有的特色,把直播錄影配上自動生成的段落時間軸,讓一段幾小時的直播變成可跳轉的內容。SwiftPeek 把它帶進原生框架,等於把「看直播」從實時的、線性的體驗,往「看影片」的可導航體驗挪了一步。介面上這是兩種不同的時間感,一種是現在進行式,一種是可回溯的索引。

截圖也是個小插曲。開發者自稱連截圖都是讓 AI 截的,恰好截到了某位主播。一句自嘲,倒是誠實地交代了這款 App 的生產方式:人寫需求,AI 寫碼,人驗收。整個專案從動機到成品,都是一個使用者在自己的裝置生態裡解決自己的問題,順手把過程公開。

SwiftPeek 不會出現在 App Store,也大概率不會有正式簽名的發佈版。它的價值在於示範了一種越來越常見的路徑:當官方 App 的體驗與個人流媒體習慣對不上,原生開發的門檻已經低到一個晚上就能跨過。至於這條路走多遠,要看版權邊界畫在哪裡,而這正好是開發者自己也不敢替別人回答的部分。

主題 介面與互動設計、數位文化與科技

標籤 #swiftpeek、#介面設計、#直播app