文/李世平 (記者) 2008-12-26

行易公司工程師張莊平長期參與嘸蝦米輸入法開發,他從解決使用者所遭遇的相關問題中找到工作樂趣。

 

IT人物─張莊平

行易公司工程師
●學經歷:臺灣大學資訊工程學系畢
●工作內容:嘸蝦米輸入法及相關產品的研發,以及網站互動程式的維護和管理。


中文輸入法是許多電腦必備的工具,它和一般應用程式最大的不同,就是使用者人數更多,也是所有電腦使用者,不論入門或進階,都需要精通一套,讓自己能與其他人溝通,而行易工程師張莊平,就是一位負責嘸蝦米輸入法的開發人員。

雖然因為看到許多人使用自己的作品而感到很開心,不過開發輸入法其實並不輕鬆。張莊平說,輸入法在作業系統中扮演的角色,嚴格來說已經相當接近驅動程式的層級,因此不同平臺的輸入法程式碼,只有基本的邏輯相同,其他幾乎是完全無法互通的。像是Windows和Mac的嘸蝦米,雖然表面上看起來字碼都一樣,使用的方法和功能也都差不多,對開發者而言,卻是兩個完全不同的東西,所以只要應用在新的平臺,或出現重大改版,程式碼就要重頭寫。

不僅如此,對於應用程式來說,輸入法其實算是一個外掛程式,但這個外掛程式已經普及到所有程式都應該要支援的程度,然而,畢竟不可能所有的軟體都允許外掛,因此也會產生一些相容性問題。

張莊平回憶說,他剛開始接觸電腦時,也和大部分的人一樣,是用幾乎不用學習的注音輸入法來打中文,不過由於學生時代的報告量大,再加上就讀資工系,寫程式時經常需要輸入英文,所以光靠注音輸入法打字速度很難提升,而且英文和中文輸入法彼此之間關聯性也不強。

後來在同學的推薦之下,開始接觸嘸蝦米輸入法。一開始張莊平是看重它能兼顧中打及英打的特性,加上也聽到使用這個輸入法的人屢屢打破中文輸入速度的紀錄,因此約8年前便決定學習這套輸入法。而這個輸入法簡單易學的特性,也是發明人劉重次及命名者陳逸景,將它取名為「嘸蝦米(即河洛語「沒什麼」的諧音)」的原因。

以開發適合大多數使用者習慣的輸入法為樂
張莊平剛開始使用嘸蝦米輸入法時,他認為功能並不完整,不但支援的字集比較少,在Windows XP作業系統下使用也常常出現相容性的問題,所以他便利用自己對程式碼的認識,開始編寫一些和輸入法相關的輔助工具,後來也憑藉這些技術和經驗,進入行易公司負責開發嘸蝦米輸入法。

從原本只是使用者,後來變成嘸蝦米的開發人員,在心境上的轉換,也是張莊平對這份工作樂此不疲的原因。他說,進入行易公司後,發現最有趣的事情就是:自己的作品不但是很多人生活或工作上的必需品,也是能幫助溝通或表達的重要工具。而且自己是行易目前負責Windows平臺嘸蝦米輸入法,唯一的開發者兼使用者,比較能夠了解使用者實際的需求,如果覺得有功能是使用者需要,而目前卻沒有的,就可以寫進去,讓它變成一個符合使用者習慣的輸入法。

舉例來說,過去嘸蝦米使用者最頭痛的就是安裝問題了,想要在公用或沒有管理員權限的電腦中安裝,總是不方便,雖然後來有網友提供了「偽.蝦米」(無需安裝的嘸蝦米,但必須有正版嘸蝦米的原始參考檔才能執行),讓蝦米族(嘸蝦米輸入法使用者彼此之間的暱稱)不用安裝就能使用,不過要自備參考檔也是有點不方便。由於張莊平本身也曾有這樣的困擾,因此目前也在行易官方網站上提供網頁版的嘸蝦米,完全不需要安裝,甚至也不用下載或儲存任何檔案,就可以直接在瀏覽器上打字,之後只要再將打在網頁上的字複製到其他地方即可。這項服務推出後大受好評,讓張莊平覺得很有成就感。

嘗試各種軟體使用方式,透過玩遊戲解決問題
和所有的軟體一樣,解決相容性問題也是開發輸入法最主要的工作。張莊平說,在開發輸入法的過程中,最常遇到的問題,就是和瀏覽器、線上遊戲的衝突。像是在用Firefox打字時,輸入法的字根顯示是和打字區連在一起的,而IE卻是保持在原本的狀態列上,這些使用者介面的不同,就造成他們編寫程式碼時的困擾,因為輸入法必須要遵循這些應用程式自訂的規則,才能完全相容。雖然開發人員也可以強制讓輸入法的字根出現在固定位置,但由於大多數的應用程式,針對這些設計的相關說明資料並不完整,如果冒然更動,可能反而會製造更多的問題。

相較於瀏覽器通常只會產生一些相容性的小錯誤,張莊平認為,線上遊戲根本可以稱為「輸入法的天敵」。

目前的遊戲大部分是用DirectX編寫,而這個多媒體應用程式介面(API)並不允許加入外掛,所以理論上輸入法是沒辦法使用的,這時遊戲的開發人員就必須另外寫一段程式,把各種不同的輸入法嵌進遊戲裡,如果這些程式沒有編寫得很完整,那某些輸入法可能就無法使用。

雖然每種輸入法的整體規格是通用的,但每一個輸入法套用的功能數量並不相同。他舉例說,如果嘸蝦米支援9個功能,其他輸入法支援7個功能,但遊戲設計人員只寫了8個功能進去,那想要在這款遊戲中用嘸蝦米輸入字元,就會發生問題。

其實以前的遊戲並沒有這些問題,因為單機遊戲沒有輸入的必要,但線上遊戲兼具聊天交朋友的性質,所以輸入法的支援性也顯得特別重要。

每天面對這些千奇百怪的相容性問題,張莊平並不覺得麻煩,反而把它當成軟體工程師的福利。他說,一旦有使用者反應某個遊戲不能相容於嘸蝦米,他就會要求公司讓他們玩這款遊戲,以便修正問題,同時自己也可以放鬆心情。像之前很熱門的遊戲魔獸世界,也曾發生玩家反應嘸蝦米6.0不能執行,不過當他試玩了一段時間後,還來不及釋出修正版,遊戲公司就已經解決了這樣的問題。

然而,應用程式的種類太多了,並不可能每一種都測試過,像有些企業用的工程軟體並沒有試用版,購買正式版的金額可能也是6位數以上,這時他也只好開發一個測試版的嘸蝦米,讓使用者測試後回報錯誤情況,再按照依用者的描述來解決問題,不過這樣的效果當然沒辦法像工程師直接測試那麼好。張莊平認為,開放式的架構容易改良,也比較能發揮設計的創意,因此開發人員普遍接受度高,而且輸入法從頭開發相當費力,所以像是在Mac平臺常見的香草輸入法,它具有固定框架,只要套用不同表單,就能變成不同輸入法的模式,才應該是輸入法的發展方向。不過他也強調,由於開放平臺上的標準比較不一致,像是Fedora和Ubuntu,雖然底層的架構是一樣的,但仍有一些不同的設計,那輸入法就很難針對每一個系統調整。

文⊙李世平

arrow
arrow
    全站熱搜

    紜紜 發表在 痞客邦 留言(0) 人氣()