原章:The Black Slab

故事背景

決定採用 Konqueror 後,真正困難的工作才開始。原始程式不是為 Mac 寫的,團隊必須把大量程式碼、編譯錯誤、平台差異與授權限制一點一點處理掉。這不是能靠一個漂亮 Demo 掩蓋的階段,而是大量枯燥、重複、需要耐性的工程工作。

Ken 比較過規模後,Konqueror 與瀏覽器相關的程式碼遠小於 Mozilla,但「比較小」不代表「很小」。團隊仍預期要花約兩個月才能真正把它帶到 Mac。

事情是怎麼發生的

他們採用很務實的移植方式:讓編譯器一次暴露一批問題,修完再跑,暫時無法處理的地方就留下 FIXME 標記。很多天過去,外觀看不出任何成果。

直到某天,他們嘗試載入 Yahoo。畫面沒有正常網頁,也沒有漂亮排版,只出現一個黑色長方形。對任何旁觀者而言,這幾乎像失敗;但 Ken 把它形容成重要的「Black Slab Encounter」——因為這表示資料、版面與繪製鏈路終於有一部分真的接上了。

故事節點 表面看起來 實際代表 對工作的影響
長時間移植 沒有可展示產品 大量底層相依正在被逐一處理 勤勉與工藝比新奇點子更重要
FIXME 標記 像在留下未完成工作 把未知與欠債明確標記 允許先前進,再回頭補足
Yahoo 黑色方塊 不是一個可用瀏覽器 第一次看見核心路徑真的工作 團隊獲得技術與心理上的方向感
之後的節奏 仍有大量細節要完成 但團隊知道每次進展都能往可見結果靠近 不再讓數週工作完全沒有外部可見證據

關鍵衝突/難題

大部分真正困難的產品工作,在最初很長一段時間都不會產生「令人驚艷」的畫面。這會造成一個管理與心理問題:團隊怎麼知道自己不是只是在更深地挖一個洞?

做了什麼選擇

Ken 把黑色方塊當成一個轉折。之後他更重視建立可見的中間成果,而不是讓工程工作長時間停留在只有程式碼作者才理解的狀態。

作者也把這一章連到 Thomas Edison 的故事:發明不是等待靈光,而是大量試錯、細節與持續工作。即使偶爾有 Eureka 時刻,前面仍然堆著大量看似平凡的苦工。

後來發生什麼

瀏覽器當然離 Safari 還很遠,但從這個小小的可視成果開始,團隊可以更有節奏地把後續工作變成一連串可檢查、可修正的前進。

作者想讓我們看到什麼

真正的進展不一定長得像「大成果」。有時一個很醜、很小、只有團隊自己知道價值的訊號,正是讓所有後續工作從抽象變成實在的第一步。

我可以從中帶走什麼