# 為什麼威注音不太想繼承某些源自於超注音的選字操作特性 有使用者希望威注音在選字窗的操作體驗方面能承襲某些來自於超注音的特性,原因是: > 「只是超注音會讓我的電腦當機,所以改用威注音看看。我用超注音打字是比威注音快不少的。」 筆者身為主程式師,尋思了一天之後,在此公開回覆。 ### 1. 超注音我有試用過,我用威注音打字更快,但不是誰都會這樣。 或許是對「 Enter 或 Space 確認選字窗的手動選字」的習慣問題使然?真要是這樣的話,用這個來衡量輸入法特性之優劣,就有點不太公平了。 ### 2. 一家獨大並不好。 威注音不太想把所有目前的同類產品的特性都集成過來。這有幾個原因。 1. 能力有限,且筆者真的有其它事情要忙。 威注音專案是不得已而生的,因為很多問題自從奇摩輸入法專案廢案以來這十幾年內沒有任何人去解決:比如 Apple 一直沒有提供能夠直接敲簡體中文的傳統大千聲韻並擊型注音輸入法,且「張三丰」這種詞都還能敲錯成「張三豐」,還在很長一段時間內無法以老北京讀音「ㄏㄢˋ」敲「和」這個介詞(這也是目前這個字的這個用法在台澎金馬的審音)。 2. 不希望某些有生命力的同類「商業」產品因此喪失全部的使用者群。 原因見下文。 ### 3. 「誰賺了你的錢,誰才應該解決你的問題。」 這句話不是筆者講的。本想引申其出處,卻發現原始網頁 404 了,先作罷。 說不定,一開始講這句話的人,可能會自己站出來、或者在自己的 SNS 吐槽。 回到正題: 首先,超注音「會讓你電腦當機」的事情,得找超注音的作者來處理。筆者推測超注音的作者可能需要更多的資金來支持他把這個問題解決,畢竟,同時維護至少三個平台的輸入法可用性,勞動量會非常大。或者呢,你看一下系統內建的 console.app 生成了多少與超注音有關的崩潰報告,將這些崩潰報告(最好是新鮮的崩潰報告)打包給超注音的作者,可能會更容易幫助他、讓他更快找出問題之所在。 其次呢,你完全可以考慮額外花錢找超注音的作者幫你改源碼(Swift 的特性與 Java 有相似的地方)。當然,改完了之後,按常理來講,你可能會被對方要求禁止散播修改過的版本(以防止影響他自己的超注音的生意),筆者對此沒有任何反對意見,甚至持樂觀態度。 至於這個修改要多少時間,筆者這樣推測:換一個對該專案不熟悉的人,弄懂這個專案的架構脈絡與業務邏輯,恐怕得需要整整五個工作日(不加班的話),然後才能知道要改哪裡。筆者也可以整理一份這個報告,但誰給筆者工資呢?有個故事講得好:有個修線圈的工程師開價很高,且跟客戶解釋:敲一圈電線,收費或許會很便宜;但「知道敲哪一圈電線」那收費肯定不便宜。 如果你找了其他的程式師來改的話,雖然可能不會被要求「禁止散播修改過的版本」,但筆者總覺得,輸入法這個行業,還是得有幾個正常的商業專案持續運作,才能讓這個行業繼續良性下去。 * 威注音雖然看似功能多,但都只是解決了一些這十年來一直都沒人解決的基礎問題(比如原生簡體中文支援、允許刪掉原廠詞庫當中的指定的字音與詞音配對,等); * 至於更進階的問題,還是得看商業公司的有資金基礎的運作:比如行易一直在他們 Medium 網誌提到的「AI」人工智慧技術對輸入法的行為體驗的改良。 如果你被任何一個找到的程式師都拒絕了呢,那你可能就真得將整個專案複製一份、自己研究怎樣來改了。Swift 語言還是很好學的,但你要弄懂 Cocoa 框架、弄懂 SwiftUI 偏好設定內容該怎麼添加與修改,這些也都夠你學半年多的。 開源不應該是全都免費的。FireFox 也是靠基金會運作的。威注音有用到 SindreSorhus 的 Preferences 模組(用來更快速地以 SwiftUI 構建偏好設定介面;現更名為「Settings」模組),這個模組的專案主人就很聰明:對某些功能修改請求,他可能會收費。 威注音目前沒在收費,是有其它的想法與疑慮,但主要還是因為筆者覺得 DRM 技術不成熟、收款渠道麻煩。不過呢,威注音做了一件可以讓 Apple 對第三方輸入法放心的事情:一款 macOS 專用的副廠中文輸入法,是可以做 Sandbox 處理的。**這樣一來,Apple 再也沒有別的(與資安有關的)理由來禁止 macOS 輸入法上架 Mac App Store 了**。剩下就看 Apple 什麼時候對此解禁了。 ### 4. 有些功能不太好做,至少對目前的威注音而言是如此。 威注音目前還有在支援 macOS 10.13-10.14 系統,且其 Aqua 紀念版更是仍在支援 macOS 10.9 - 10.12。這兩個發行版共用一套偏好設定 XIB 視窗排版檔案(給 Xcode Interface Builder 用的),改起來的話非常麻煩(特別是介面翻譯,簡繁英日都要做)。由於這會讓偏好設定的「行為」頁面變長,於是還要煩惱怎樣保證偏好設定介面整體佈局在 1024x768 尺寸的畫面下的可用性(防止其溢出螢幕安全區)。更噁心的是:在目前能用的新版 Xcode 的 Interface Builder 裡面看著沒問題、且在新的 macOS 系統下運行看起來沒問題的東西,放到 macOS 10.9 系統下可能會有問題,需要不斷的實機測試來發現問題、解決問題。 筆者要開價的話,會收至少五個工作日的 Swift 程式師薪資費用(暫時按照台北當地的平均薪資水準來算比較好)。如果因此影響了筆者這個月的排程的話,則該費用加收三倍。但另一個問題是:筆者用以模擬舊版系統環境的電腦不在筆者身邊,所以筆者仍舊不方便解決該問題。 無論如何,威注音現在這樣子,不是說有個新功能加上去就完了,而是一定得考慮: 1. 這個功能對威注音整體使用體驗的影響。 2. 這個功能對威注音專案接下來的維護工作量的影響。 3. 照顧上述兩點的情況下,這個功能的實作工作量有多少。 所以呢,威注音目前會盡量避免「需要新增偏好設定選項內容」的新功能的設計與實作。Interface Builder 真的讓筆者受夠了。但是,誰教 macOS 10.9 是支援 Steve Jobs Aqua 介面的最後一版 macOS 呢? 註:「以空格確認候選字」以及「用左右 Shift 鍵切換前後候選字」的功能無法實作,因為 IMK 選字窗相關的邏輯可能會被改壞。 ### 結語。 筆者還有別的專案在參與、要處理。就先這樣了。 $ EOF.