(補) Talk with Drake 內部技術分享會來到第九回,由低調的前端主力 Derek Shih 與 Comprehensive Playback Technology 團隊合作,帶來系列作之二 – 《KKS Playback 模組的演化歷程》 (Evolution of KKS Playback Module)。
故事從一個考古開始:2014 下半年,周壘 送出了的第一個 git commit for web player…
那是個還在 KKBOX Video team 的時期。在剛剛草創成軍的那一年年初,我們合力引進了 day-one on AWS, MPEG-DASH, DRM, Job Script based Encoding System, Python, … 的時候,Peter 基於 dash.js 的實作,送出了第一個 +650/-0 的 git commit,開啟了 KKS playback module 的序章。
接著就是約略分成四個時期的演進、考量以及設計:
- 能播就好的第一時期:Anything that can play is a good design.
- 成長茁壯的第二時期:Fusion of 3rd-party & home-made.
- 造大齒輪的第三時期:Playback as a Service.
- 萬朝歸宗的第四時期:Common module for all.
讓我印象很深刻的,是來自於一個兩道晚餐的照片。左邊是有種各色小菜的懷石料理;右邊就只是一碗白湯烏龍麵。左邊像徵著內建功能豐富,專門為了大型影音平台打造的 playback module;而右邊像徵著只想要一個基礎版播放器的新客戶新產品…🥴
軟體開發是個反覆迭代與更替的過程,下一個時期都是因為上一時期面臨了難堪的狀況而出現的。新人總是愛挖苦老人,軟體設計亦然,於是新的時期總是急著想淘汰舊的時期,巴不得快快 sunset 前朝程式碼。
除舊布新,是程式員的驕傲,是奮發的動力來源,是技術進步的原動力,但也是全團隊要一起承擔,彼此體諒的陣痛期。
2022-09-30 at KKStream Taipei