紙上編碼:使用 E-Ink 螢幕進行程式設計的體驗

對於許多開發者而言,數位工作空間是持續眼睛疲勞和人工眩光的來源。追求更自然的視覺體驗,往往會引發對 e-ink 技術的實驗,這種技術模仿了實體紙張的外觀。雖然 e-ink 在電子書閱讀器中很常見,但將其作為專業編碼環境的主要顯示器,是一項更為複雜的挑戰。

在一份詳細的體驗報告中,開發者 Oskar Wickstrom 分享了他使用 Onyx BOOX 25.3’’ Mira Pro Color 作為主要桌面顯示器的歷程。他的動機源於健康福祉:能夠在自然陽光下工作,而不會受到傳統 LCD 那種刺眼的反射,他發現這讓他能在整個工作日中保持更有活力且更專注。

E-Ink 編碼的技術權衡

轉向使用大型 e-ink 顯示器並非一帆風順的過程;它需要開發者在與軟體和視覺主題互動方式上的根本轉變。

主題優化與極簡主義

E-ink 顯示器,特別是 Mira Pro,在處理深色主題時表現不佳。為了讓顯示器在專業工作中變得可行,作者採用了高對比度的淺色主題策略。這包括從現代 IDE 常見的豐富色彩調色盤,轉向一種極簡、接近單色的方法。

  • IDE 配置: 為 Neovim、Zed 和 Ghostty 創建了自定義主題,使其依賴字體排版式的語法高亮,而非色彩。鮮豔的色彩僅保留給關鍵元素,例如選取範圍、註解和常數。
  • 瀏覽器調整: 在 Firefox 中,使用高對比度設置來反轉許多網站的標準深色模式。作者甚至透過瀏覽器執行 Spotify,以避免其原生深色主題。

管理延遲與渲染模式

E-ink 的主要障礙之一是刷新率。為了應對這一點,Mira Pro 提供不同的渲染模式,作者將其歸納為兩種主要的流程:

  1. 閱讀模式: 此模式提供最清晰的文字和最鮮豔的色彩,非常適合閱讀文件、網頁或代碼差異 (diffs)。然而,延遲過高,不適合主動打字。
  2. 寫作模式: 此模式優先考慮低延遲而非視覺保真度。雖然文字稍微模糊一些,且色彩看起來更有顆粒感,但它是進行終端機工作、聊天和主動編碼的唯一可行模式。

為了避免笨重的內建選單系統,作者利用了一個開源的逆向工程 NodeJS 套件 (mira-js),並結合 Hyprland 按鍵綁定,以便即時切換模式並觸發手動刷新。

色彩 vs. 單色

儘管使用了 Mira Pro 的「Color」版本,作者仍表示對單色面板的偏好。用於彩色 e-ink 的技術 (Kaleido) 引入了一個濾鏡層,使得螢幕比純黑白顯示器明顯更暗。這意味著,除非環境具有卓越的漫射光或直接陽光,否則需要一些背光,這在一定程度上違背了完全「類紙」體驗的初衷。

社群觀點與替代方案

「紙上編碼」的概念引起了開發者社群的各種反應,突顯了硬體體驗與程式設計教學歷史之間的差異。

「紙張」的誤稱

一些用戶認為「紙上編碼」這個標題具有誤導性,因為它指的是「類紙螢幕」,而非傳統的手寫程式碼的實踐。這觸及了許多開發者的懷舊情結,他們回想起大學考試或早期的學習經驗,當時在 Pascal 或 C 語言中編碼是在紙上實際進行的。

替代技術

雖然 e-ink 是最顯著的「類紙」技術,但一些社群成員建議,transflective LCDs 可能會是編碼的更優替代方案。Transflective 顯示器結合了反射與透射特性,使其能在陽光下清晰可見,同時保持比 e-ink 更高的刷新率,對於專業開發工作而言,可能提供更好的平衡點。

最終結論

在約 2,000 美元的價位,e-ink 顯示器是一項小眾的投資。它不是為一般開發者準備的工具,它對於那些將視覺舒適度與在自然光下工作的能力置於首位的人來說,提供了一種獨性、儘管有所妥協的體驗。這種轉向需要願意擁抱極簡主義,並願意調整 OS 和 IDE 以配合硬體限制。

Sources