2008年2月26日星期二

FIT / WeFIT 開發者馮華君采訪

原文 :http://apple4.us/2008/02/fit-wefit.html
iPhone 上的全局中文輸入法(即能夠在所有程序中使用的輸入法)目前有三種:NativeCn、iCosta 和 WeFIT。由香港人 Gary 和 iczfirz 開發的 NativeCN 利用了 iPhone 本身內置的日文輸入鍵盤,將中文輸入碼表嵌入其中實現全局中文輸入;身處上海的 Holly Lee 和 Pinxue 在徐家彙的 Costa 咖啡館裡寫出了 iCosta。它「本質上是一個附加庫,通過 dyld 在啟動 SpringBoard 時被自動載入, 並通過覆蓋(override)部分方法來實現中文輸入」(n000b 語);WeFIT 的情況有些特殊,它由麥金塔平台上最受歡迎的中文輸入法之一 Fun Input Toy (FIT) 衍生而來。FIT 的人氣為 WeFIT 帶來了驚人的期待值,從一開始,iPhone 機友就知道,WeFIT 不僅僅是「又一個 iPhone 中文輸入法」而已。事實上它也不負眾望,以強大的詞組功能挖走了不少 iCosta 的忠實用戶。目前 WeFIT 可通過 Installer.app 直接安裝在各個固件版本的 iPhone 上,版本號已走到 Preview 6.1。在 1.0 正式版推出之前,WeFIT 的靈魂人物馮華君在密集的開發工作中抽空接受了本站的采訪,在此深表感謝。采訪以電郵進行,時間為零八年二月廿二日下午四點至晚十二點,全文五千八百余字,無耐心者慎入。
Lawrence: 我首先想了解的是有關 WeFIT 和 iCosta 關系的一些問題。你在網上某處說過最初將 FIT 移植到 iPhone 時曾經找(iCosta 的開發者)Holly Lee 和 Pinxue 談合作,但最終未能成事。具體的情況是怎麼樣的,願意談一下嗎?
馮華君(以下簡稱「馮」):FIT 2.0 的輸入引擎在 iPhone 上編譯通過並且獲得了比較好的效果,但我們並沒有掌握如何把輸入引擎嵌入 iPhone 的技術。於是我第一時間聯系了 iCosta 的作者,並且發了 FIT 輸入引擎(命令行)的給他們測試,我打算無償提供輸入引擎給 iCosta 使用。Holly 老大和 Pinxue 老大肯定了 FIT 2.0 的優化成果,但是合作方面一直沒有肯定答復/否定的答復,可能工作太忙也可能有其他顧慮,我也不知道。後來 Laoren 老大和 ChinaET 在 iPhone 內嵌輸入法技術方面取得了突破,我們就自己做了。所以自己摸索的技術不太成熟,一出來就被罵了,有人罵我們 SB,怎麼自己做,干脆把詞組碼表給 iCosta 算了。我想反駁:一、不要想當然地認為輸入法是「有個碼表就能做」的,裡面有很多技術難關需要克服;二、我已經找過 iCosta 了;三、國內做手機的公司都盯著 iPhone,一定有很多公司找過 iCosta,但商業上的公司顧慮更多。
Lawrence: WeiPhone.com 上有人說對於 WeFIT 1.0 Preview 3 之後的版本「屏蔽」了 iCosta 感到不解。請問是否確有其事?Preview 3 之後的版本真的有意屏蔽了 iCosta 嗎?
馮: iPhone 上輸入用的是虛擬鍵盤,iPhone 1.1.x 以後虛擬鍵盤的切換鍵有兩個,一個是小地球,用來切換到 iCosta,另一個就是「ABC / 123」,用來切換到標點。我們一開始沒掌握如何攔截小地球的切換,只攔截到了標點的切換,所以第一個版本出來是用 ABC / 123 鍵切換的,馬上又被罵了:「WeFIT 怎麼不像 iCosta 那樣用小地球來切換,不習慣,按標點還要點兩下……」經過 ChinaET 的刻苦公關,我們終於知道如何在攔截小地球的切換,於是 Preview 4 版本就開始使用小地球了。iCosta 和 WeFIT 兩家都同時攔截 iPhone 的同一個系統調用,當然會出問題。結果又有人說:「WeFIT 屏蔽了 iCosta」,我直接暈倒……我們搗鼓了半天白干了啊?當然大多數用戶還是理解的。
Lawrence: 關於小地球切換,技術上有無可能做到兩家不衝突?比如按一下小地球出來 WeFIT,再按一下出來 iCosta,再按一下回到英文輸入?在兩家輸入法完全成熟之前,可能有很多機友希望兩者並存,方便隨時比較優劣,並擇一使用。
馮:這個問題 ChinaET 還在研究,希望能夠做到。
Lawrence: 對於你來說,速度,齊全的功能,人性化的用戶介面等因素中,哪一項對於 FIT 是最重要的?對於 WeFIT 呢?(如果你認為最重要的因素在上述三者之外,也請告知。)我個人認為對 WeFIT 來說速度是第一位的。軟鍵盤決定了這一點。只要按鍵稍有延遲,用戶體驗就會大打折扣。
直到現在我還經常猶豫到底該用 iCosta 還是 WeFIT。我是用拼音的,而拼音版的 iCosta 目前還不支持詞組。另一方面,雖然 WeFIT 的速度一直在進步,但個人感覺直到 Preview 6.1 仍然不及 iCosta。你認為這與詞組功能有關嗎?延遲往往出現在打出一個詞組並按它選擇之後。
馮:我是南方人,拼音不准,zheng 這樣的拼音,不好運的話,我要打四次,我那麼忍受不了蘋果系統的輸入法就是這個原因。所以我用 iCosta 在 iPhone 上打字很慢,刪改幾次才能把一個字打出來。對於我來說,模糊音是最重要的。所以,你會猶豫,我會毫不猶豫選擇 WeFIT。詞組看似是一個很簡單的功能,不就是一個碼表嗎?但是這些和模糊音簡寫拼音攙和在一起的話就不簡單了,涉及到一個模糊搜索效率的問題,可以等 iCosta 有模糊音和詞組功能以後我們來比一比看看誰更快。
我認為 WeFIT 是很快的,其實 WeFIT 第一版就具備現在的速度,我們的延時是主動的約 0.3 秒,因為搜索在 iPhone 上,如果和放大按鈕以及播放按鍵音同時進行的話就會很卡,第二版我們只不過把延時調整到了 0.1 秒,大家就反映快了很多,當然後面的版本我們使用了很多緩存技術,也使 WeFIT 加快了速度。現在的延時好像是 0.05 秒。
現階段 WeFIT 的開發以穩定性為主,和麥金塔不同,目前 iPhone 版本很不統一,安裝環境各異,還常有一些異常退出的情況,我們都在一點一點解決。當然同時我們也在探索一些新功能,比如用數字鍵盤輸入拼音等等……
Lawrence: 模糊音的事牽涉到另外一個問題:你是為自己開發?還是為一個假想中的「大眾」開發?畢竟模糊音的受眾只是所有中文使用者的一個子集。
為自己開發絕對不是壞事。事實上很多成功的軟件(尤其是 2.0 時代的)的出發點都是程序員需要解決自己的某個問題。又如英國有位作家由於不滿意現有的所有文字處理軟件,自學編程和設計,在 OS X 上開發了給專業寫作者用的 Scrivener,賣四十美元,評價很高。他在網站上就明確說:Scrivener 是我為自己開發的,不要來信要求我加這個或那個功能,我很可能都不會再加新功能,只要我自己用得爽就好。但職業作家仍然熱愛 Scrivener,前陣子《紐約時報》還有專文介紹它。
你做 FIT 的初衷是什麼?證明自己的能力?還是單單為了解決模糊音問題?其實 QIM 也有模糊音支持啊。(當然我不知道是從什麼時候開始有的。)
馮:一個子集對我來說就很大了,廣州有一千萬人口,比瑞典的一個國家還多,我的志願沒那麼大。對我來說麥金塔用戶一個子集就很大了,iPhone 的子集就很大了,有人建議我開發 Windows,WinCE 的。
我知道我們有很多有大志願的人,要創業,要做富翁,做一個東西要兼容所有平台。我不是這樣的人。
我比較務實,我做的所有事情都是為我自己的,為別人那是附帶出來的價值,要不要我用經濟學再解釋一遍,呵呵。
QIM 出來以後我第一時間買了,當時只有 Paypal 支付,我用十九美金買的,我有文章說過了,我其實一早也有開發輸入法的想法,但一直停留在想法階段。後來我太太也買了一部蘋果電腦,我就把 QIM 的 License 給她用了,我那台機就死活裝不上,結果我原來的想法又回來了……就做了 FIT。後來和 Glider 證實我的 License 是可以在兩台機用的,安裝的時候是有 bug 還是什麼問題,反正我的機器上用不了 QIM 的模糊音。Glider 笑稱客服沒做好做出來一個競爭對手,呵呵。
我當然要證明自己的能力,如果不是輸入法,我會做別的,總之我會去做一些東西。
Lawrence: FIT 去年以來發展很快,現在已經有了 Mac OS X 版本,Linux 版本和 Mobile OS X (iPhone) 版本。目前工作團隊的構成如何?開發工作是如何分配的?(現階段顯然 iPhone 版本是重點。但今後呢?)你曾經表示自己對 Linux 平台熟悉度不夠,那麼 Fitx 是否有別的牽頭人?
馮:實際上,我的重點還是在麥金塔。iPhone 平台迫使我不斷優化輸入引擎,這些技術很快也會用到麥金塔版本上。Fitx 現在由我的一個朋友 Samson Xu 負責,不過他工作很忙,所以推進可能慢一些。現在麥金塔版本的開發是我一個人,Linux 版本是我和 Samson,iPhone 版的開發人員有三個,還有美工等 WeiPhone Dev Team 的朋友。今後?今後肯定不會以做輸入法為生,打工吧。今後是我沒辦法規劃,你知道嗎?在 FIT 誕生以前我不知道直接能夠做 FIT,WeFIT 誕生以前我不知道我能做 WeFIT。那麼多公司看著 iPhone 的市場,給我們這些小字輩爬了頭,我們是想都不敢想的。所以我很喜歡一句話,我不知道出處,英文是這樣說的,We were moving a mountain before we know we could.....
Lawrence: 這就牽涉到我想問的另一個問題:為什麼不考慮收費?關於麥金塔平台有兩個現像值得注意:一、總體而言,麥金塔用戶比 Windows 用戶更願意花錢買軟件,尤其是獨立開發人員開發的軟件。這也是為什麼「給麥金塔電腦開發軟件沒法賺錢,因為用的人太少」這一說法站不住腳的地方:盡管總人數大大小於 Windows 用戶,但麥金塔用戶更願意嘗試新的第三方軟件,也更願意為好的設計(不只是視覺設計)付費。第二個現像或許和第一個現像有關系,那就是在麥金塔平台上,同類軟件裡最好的往往並非開源 / 自由軟件,而是商業軟件。從介面設計的角度說尤其如此。拿 RSS 閱讀器來講,盡管有免費的 Vienna,但很多人仍然願意用 NetNewsWire(它是最近才變成免費的)。或者看看 FTP 軟件。Cyberduck 免費,但收費的 Transmit 和 Interarchy 仍然有其市場。
我自己是 QIM 的付費用戶。如果 WeFIT 或任何其他 iPhone 中文輸入法足夠成熟之後開始收費,我不會猶豫。眾所周知大部分中國用戶沒有花錢買軟件的習慣,所以我可以理解不把 FIT 作為謀生工具的想法,但收費和「不以做輸入法為生」或許並不矛盾?想聽聽你的看法。
馮:道理很簡單,我幫 Google 或者百度打工都有一兩萬一個月,我在騰訊的不少同學是拿幾十萬年薪的,足夠養車供房的。
另外我認為現在的麥金塔用戶不一定就是將來的麥金塔用戶。Mac OS X 有一天一定可以像 Windows 一樣裝在 PC 上。我想商業化,但與之相比我希望更多人用麥金塔,更多人知道蘋果和它的文化。我不想輸入法成為大家轉到麥金塔平台的一個障礙,我想讓那些用 Hackintosh 的人也覺得蘋果好,我是幫蘋果打過工的,我和老板承諾過我走到哪裡都會宣傳麥金塔、宣傳蘋果。我離開蘋果三年了,我想我做到了。
Lawrence: 你覺得 QIM 有哪些方面比 FIT 做得好?反過來 FIT 有什麼是值得 QIM 學習的?
馮:我其實覺得 QIM 和 FIT 功能上沒有太大區別,我覺得 FIT 比 QIM 做得好,FIT 可以五筆可以和拼音混打,雙拼也可以和全拼混打,QIM 現在還不行。QIM 引以為傲的整句智能,用了黑馬的技術,我覺得模型太復雜,我對復雜的東西非常抵制,相反我覺得這是一個弱點,下載包非常大,現代計算機硬盤大沒關系,但是 iPhone 平台呢?Glider 一定想過要做的。我不敢說 FIT 的智能水平達到了 QIM 的高度,畢竟人家是花錢買的,但是 FIT 現在的新引擎,至少是很接近了。我自己不是很喜歡輸入一句話然後賭計算機能不能猜中,萬一要是沒猜中呢,還得改,也是慢了。我會繼續輕量級地改進 FIT 的智能算法。
上面說的區別都不是我最在乎的。
我感覺大家用 FIT 的同時,也在和我交流,鼓勵我,給我反饋,這是作為一個程序員最享受的。所以我不僅僅會拼命更新軟件,我也會拼命寫文章講我想要講的,我想這個也是 FIT 和 QIM 的區別把。我希望大家喜歡 FIT,喜歡我,這些都是文化上的,不是功能上的。我希望大家用 FIT 也認同我的價值,更簡單單純的世界,堅持理想,面對現實,要有行動。陳可辛說他自己的電影不是想做出來讓大家討論各種不同感受看法,他的電影就是要講他的看法,他就是想觀眾接受他的看法,不是想大家從不同角度上去品味他的電影的。我想我也是一樣,我從小就是好孩子王,我渴望影響別人。
其實我們消費 Google,我們消費百度,除了根據它們功能上的區別作出選擇以外(原諒我,區別可能很小),更多是在消費、接受和認同它們的文化。我做 FIT 是為了大家的認同,是一個程序員渴望創造、渴望認同,這樣做出來的東西。因此我很在乎 FIT 在大家心目中的形像。表面上我是在做一個和 QIM 競爭的輸入法,實際上我是想感染千千萬萬個好像我這樣耐不住寂寞的程序員行動起來。另外,我也很在乎有沒有更多人來了解麥金塔平台的開發。發郵件來問我麥金塔平台編程問題的人我都會竭盡所能回答他,因為我知道他們就像熊貓一樣,一定要鼓勵他們繼續繁殖。當然現在蘋果有了 iPhone,這個情況得到了極大的改善。
Lawrence: 我同意你對於整句智能的看法。我也從來不用整句輸入。我甚至認為這是一個典型的「解決不存在的問題」的設計。雖然沒有統計數字,但我很懷疑有多少中文輸入用戶有整句輸入的習慣。
另外你「……畢竟人家是花錢買的」這個說法很有意思,你心裡是不是也預設了「商業軟件往往勝過開源 / 自由 / 免費軟件」這樣一個前提?看到兩個功能一樣的軟件,你會不會先入為主地認為收費的那個「應該會好一點,畢竟人家是收費的」?
馮:我很有興趣回答你這個問題,因為和經濟學有關系。我非常能夠接受大家對 FIT 的各種贊譽,包括「頂」,「沙發」這類,但是我非常不喜歡別人說我免費發布 FIT 是活雷鋒,我最討厭雷鋒精神,有違經濟學常識,而且對我們這個社會是有傷害的。一件事情要商業化才能做大做強的。別看開源社區的理想很崇高的樣子,那是因為發達國家的程序員單從賺錢已經找不到滿足感了,所以才誕生了開源社區。再說開源社區也未必沒有商業化的元素,Eclipse 就是 IBM 推動的,單純的開源是很難做到那個大的。但是我們國家商業軟件都沒發展起來,這裡面盜版也是問題,央視的《大國崛起》裡面就說了,是專利法點燃了天才之火。所以如果做 FIT 可以做成百萬富翁的話,我一定會商業話的,而且 FIT 的開發人員會更多,更勤奮,更新速度會更快,FIT 會做得更強大,細致,精益求精。但是,我認為,現在國內環境不具備。
雖然如此,我還是有足夠的理由來開發 FIT 和將它免費,因為沒做 FIT 以前,我申請調入蘋果公司開發部門是會被拒絕的,但現在我猜他們要考慮一下了,這對於我來說也是經濟方面的動力。免費的 FIT 會更多人用,精神上的鼓勵可以替代一下經濟上的鼓勵,讓我把 FIT 做得更好。FIT 只要能在行業內建立聲譽,我本人也會有更多機會。所以「活雷鋒」背後是有私心的,但是有私心並不妨礙我們為社會做出貢獻,這在經濟學上就是面包師和理發師的故事,他們都自私,但是客觀上卻改善了大家生活的質量。
這樣的思維是可以用在很多地方的,比如大家都痛恨的房地產商,我認為沒有現代房地產商的話,我們現在還在住單位的大院,更加日久失修,物業管理相當於沒有,生活質量比現在更差,大家都不抱怨是因為大家都窮,公平分配,但是同樣,這樣的環境扼殺了天才之火。就是因為雷鋒精神,我們國家誕生比爾·蓋茨的機會就沒有了,經濟學解釋了這一切,表面上的正義和道德對社會的傷害是無法計算也看不出來的。
所以無庸置疑,好的商業環境一定可以產生好的軟件,沒有人可以做一個免費的 Adobe 出來,但是通過商業的驅動就能做到!商業驅動為我們的文明創造了無數個奇跡了,開源運動也創造了很多,但是和商業的奇跡相比,還是少,影響力也要小。
Lawrence: WeFIT 再出幾個 Preview 才會到 1.0 正式版?正式版有什麼秘密武器嗎?還是說功能上目前的 Preview 6.1 已經基本代表了正式版的樣子,剩下的工作主要在除蟲?另外蘋果官方的 iPhone SDK 很快就要面世了。你認為它會對整個 iPhone 第三方軟件的生態造成什麼影響?對 WeFIT 呢?
馮:我想 Preview 6.1 基本代表正式版了把。秘密武器?讓我想想……我也希望有,呵呵。
SDK 的面世非常重要,如果有輸入法的部分的話,無數的公司會加入到 iPhone 輸入法的競爭上來,希望到時大家還能記住 WeFIT 存在過。
Lawrence: 你在廣州的蘋果打工時做的是什麼樣的工作?
馮:我是做 ASE,助理工程師,主要負責售前。我有申請調到開發部門,只是,當你沒有做一個 FIT 出來的時候,你又怎麼證明你能夠做到呢?所以世界就是那麼奇怪的……所以我和所有我的師弟師妹們說,一定要去做,多說沒用,最重要的是 take action!
Lawrence: 談談蘋果吧。你接觸的第一台蘋果電腦是哪台?當年中華學習機(其實也就是蘋果 II)風行時你有沒有玩過?你是從 OS X 開始接觸麥金塔的嗎?對於 OS Classic 有沒有經驗?
馮:我是 OS X 時代的人,OS Classic 一點不懂。我接觸的第一台蘋果電腦應該是我宿舍一個同學的,零四年他到蘋果公司實習拿了一台 iBook G4 800Hz 回來,不懂的問題都問我,引發我極大的興趣,吸引我的主要是它是 Unix 系統,我在校的時候做很多 Linux 編程,所以很有親切感,並且用戶界面做得那麼好,後來我就自己買了一台最便宜的 eMac,八千多,後來經這位同學介紹我才有機會進入蘋果公司打工。FIT 有很多代碼還在在這台 eMac 上寫的。中華學習機是玩過的,但是不知道那就是蘋果電腦……
Lawrence: 請談一下你的教育背景,你是自學編程還是在大學主修電腦?你對經濟的興趣又源自何處?
馮:我畢業於華南理工大學工商管理學院,我很驕傲我在這樣一所大學和這樣一個學院,它的務實的作風和文化對我很受用。編程是我從小的興趣愛好,大學也是如此。
經濟學顯然是我更感興趣的話題,呵呵。
我對經濟學的興趣主要源於一本書,是茅於軾先生編寫的《大家的經濟學》,很薄的一本,我覺得講的很清楚,比大學裡面厚厚的教材要好。我認為經濟學對我們的社會和生活有非凡的解釋力,所以諾貝爾有經濟學獎卻沒有數學獎,但是我們看到的經濟學有很多是經過包裝的假經濟學,比如最出名的一本假經濟學書籍凱恩斯的《就業,利息,貨幣通論》,遺憾的是,這竟然是我們宏觀經濟學的基礎,所以張五常說他對近三十年經濟學的發展大失所望。政府實際上就是舉著凱恩斯的大旗粗暴干預經濟的,我們國家這樣的現像隨處可見,表面上正義的行動實際上傷害了所有人,新《勞動法》就是一例……真正經濟學可以解釋這一切,不要以為報紙上說股票今天長了,明天跌了,這些就是經濟學。我認為,經濟學是一個每一個頭腦清醒的人都應該研究一下學科,否則太容易被人忽悠了。
Lawrence: 能否介紹一下你的開發環境以及主要的語言?
馮:這是一個我最不感興趣的話題。我是什麼方便用什麼,目標驅動型的。我不介意為了開發一個新東西多學一門語言或者是多學一個開發工具。我喜歡簡單直接的。可能有人覺得「簡單直接」誰都喜歡,這是廢話,實際上不是的。Java 在這方面這幾年的發展相當不靠譜,有很多所謂「高手」還號稱喜歡用記事本來開發……復雜化是人為築起的一面牆,讓外面的人看上去很神秘,我覺得太假了。

1 則留言:

無名 說...

成個訪問唔錯,比大陸論壇果 d 非理性既網民好得多,對經濟既見解亦都有深度,難得既人才