Mondrianum 2 以及新的 Adobe kuler API

Mondrianum 2

我們今天推出了 Mondrianum 2.0 beta 1(下載)。

自從年初推出第一個版本的 Mondrianum 以來,一直到現在,其實之間並沒有多少的開發進度。主要原因是,在我們推出之後,就收到 Adobe 之後會修改 kuler API 的消息-既然 API 會修改,那麼 client 如果繼續實作其他功能,很有可能最後變成做白工;而 Adobe 修改 API,我們也就花了一些時間等,而 Adobe 終於改完了 API,我們也就終於有辦法做新的版本。

2.0 beta 1 這個版本主要在於使用新版的 kuler API,功能方面,還是基本上延續前一個版本的功能;不過,如果您之前便已經在使用 Mondrianum,您還是有更新到新版本的必要。Adobe 將會在本月 15 日終止舊版的 kuler API 服務,換言之,舊版的 Mondrianum 也會因此同時失效。

因為使用 kuler API,Mondrianum 2 多了一個新功能,便是以色找色。也就是,您可以直接輸入一組 RGB 顏色的 HEX code,例如您想要找橘色,知道這個顏色的 Hex code 是 FF9933,便可以在 kuler 服務中找到有這個顏色的配色設計組合。在 Mondrianum 中,則可以直接幫您將目前的顏色轉換成 HEX code,再自動搜尋。

新版的 kuler API 與舊版的另一個差異,在於提供分頁瀏覽。一如 kuler 網站目前的設計,在選擇某個瀏覽的分類(最新色票、最受歡迎的色票、最高分的色票、隨機色票)後,之前只能夠瀏覽第一頁的若干筆資料,現在則可以用前後箭頭繼續瀏覽排名較後面的色票。

不過,在 Mondrianum 中我們還沒有這方面的對應實作,因為,就一個快速選擇顏色的 color picker 而言,想不太出來像是「最高分的第十萬名的配色」的意義究竟何在…。

Continue reading

跟政府要錢、開會、以及「人文的答案」

拜讀侯吉諒君的〈改善注音輸入法〉乙文。作者在文中以國文教育出發,講述目前學子在廣泛使用電腦作為溝通工具的環境下,因為現有注音輸入法的缺陷,導致經常使用錯別字,而有今不如昔,現代人國文程度低落之嘆。

最後做出以下結論:

語言輸入法是由電腦工程師研發出來的,工程師可以解決科技的問題,但卻無法提供人文的答案。當科技工具已經普遍改變了語文應用的生態時,教育部有必要投入人力,延聘、委託語言教育、電腦科技人才共同研究,改善目前注音輸入法的缺點,使學生在使用電腦的時候,可以接收、使用到正確的文字。

這種憂心忡忡強調「國文程度低落」的論調,往往看來是出自直觀的感受,一直以來也沒看到誰拿出的證據可以充分證明。比方說,你現在在交友網站的留言中看到一堆錯字,覺得以前不會有這種現象,可能只是以前其他人都是透過《愛情青紅燈》找筆友,私下往來寫了一堆錯字連篇的情書,沒有被你看到而已;你會說,現在的媒體錯字比以前的媒體多,但是現在的媒體與媒體從業人員也比以前多,現在的學生錯字多,但是以前學習能力與環境與現在錯字連篇的學生相仿者,搞不好都是文盲。

先姑且不論。既然主題是「改善注音輸入法」,除了討論注音輸入法造成的教學問題後,進一步要討論的便是-到底是什麼原因造成注音輸入法現在的問題?為什麼現在的注音輸入法不能夠在完全不選字的狀況下就產生正確的句子?如果不討論原因,那要從何改善?

在〈改〉文中能夠看到的解釋看來只有兩點:1.輸入法的開發缺少人文的參與、2.政府沒有出錢。那麼便可以繼續追問-所謂的人文應該如何參與、有多少參與?而如果是政府出錢就可以解決-有時候我真的很驚訝,原來還有這麼多人,還能夠對中華民國政府抱持這麼大的信心-我們不妨看看前幾年「台灣大百科」到目前為止的經營成果。真的要對下一代好,與其冀望政府建設,倒不如直接把經費換算成小朋友的營養午餐。

當你是真的想要改善注音輸入法,面臨到的具體問題是-注音輸入法天生有怎樣的限制,你願意花上多少的成本,過程中你所需要的各種必要資源能否即如何取得,以及,最後做出來的東西,市場能不能接受。

Continue reading

OpenVanilla 專案的近況

我們最近又修改了 OpenVanilla 專案的程式碼的一些地方,包括:

1. 新的偏好設定工具

我們最近整個重寫了 Mac OS X 版本的偏好設定工具。新的偏好設定中,一方面外觀有所不同,另一方面也簡化了各項設定的操作方式。比方說,我們將原本散落在三個 tab 中的各項設定,精簡集中在同一個 tab 上;如果您移除了、或是從來沒有安裝過某些模組,例如藏文輸入法等,也便不會顯示在設定頁面中。

在設定用來切換輸入法或啟用/停用輸出轉換模組的快捷鍵時,也改用像是「系統偏好設定」中設定快速鍵的方式,只要直接按下鍵盤上的按鍵組合便可完成設定,而不用從下拉選單中慢慢選擇某組設定。

Picture 1

Picture 2

2. 程式碼的重整

我們重新整理了 Mac OS X 版本的模組載入器(Loader)以及 CocoaVanilla Framework 的程式碼,大幅改寫了原本不安全的部份。例如,我們在呼叫外部應用程式時(例如叫出偏好設定程式),我們改呼叫 Cocoa 提供的 API,而不是呼叫 system() 函式。

3. 文件工作

因為許多開發者的需求,我們也開始著手撰寫開發者文件。因為這個專案主要使用 C++ 與 Objectve-C 語言開發,所以我們使用 headerdoc 作為我們的文件工具。

我們已經在 OpenVanilla.h 這個檔案中加入了相當的註解-OpenVanilla.h 是 OpenVanilla 專案最重要的一份定義,包括撰寫一套 OpenVanilla 模組所需要使用的各種物件定義與函式。如果您使用 Mac OS X、安裝了 Xcode,也從我們的 svn repository 中取得了一份 OpenVanilla 的程式碼,便可以直接使用 headerdoc2html,從各個 header file 中,產生 HTML 格式的說明文件。

4. 開發環境與工具

接下來,我們會只使用 Mac OS X 10.5 SDK 以及 Xcode 3 或是更新版本的 Xcode,開發 OpenVanilla。我們會開始使用一些原本在 10.4 SDK 所沒有的 API 以及檔案格式,例如,前述的新版偏好設定工具,介面上就全部使用 xib 檔案,而不是使用 nib 檔案。

我們還是會繼續推出供 10.4 使用的版本,但是,如果您想要自行編譯 OpenVanilla,或是加入開發行列,您必須在 Mac OS X 10.5 Leopard 使用 Xcode 3,而無法使用 Xcode 2.5 或是其他較早版本開啟專案檔案。

沒有完成的事情還有太多太多,但是我們是會繼續努力。

Continue reading

公司的第一套 iPhone 軟體

TapExpense

昨天傍晚,蘋果開放了供線上購買 iPhone 以及 iPod Touch 軟體的軟體商店平台 AppStore,如果您打開 iTunes 軟體,也可以在 iTune Music Store 首頁下方的下拉選單中,看到屬於台灣的 AppStore。我們的兩人小公司也在 AppStore 上開賣我們的第一套 iPhone 軟體-TapExpense

TapExpense 是一套輕巧的記帳軟體,供您在 iPhone 等平台上可以快速輸入手邊的開支。主要功能包括:

  1. 可以使用多種不同貨幣記帳,內建單位包括美元、英鎊、歐元與新台幣四種。可以自行添加其他貨幣種類。
  2. 具有開支項目的分類功能。也可以自行新增或刪除分類。
  3. 可以將目前的帳目記錄,轉換成 CSV 檔案,再以電子郵件方式寄出。便可以匯入到如 Excel 等程式中。
  4. 目前提供英語以及繁體中文兩種語系。

使用畫面可以參考 TapExpense 網站。目前在 ITMS 上可以看到的版本為 1.0,而前兩天已經上傳了一個修正版本,不過看起來蘋果還沒有幫我們把新的版本上架;應該一兩天之後便可以看到了。

另外,我前陣子個人寫了一個供 iTunes 平台使用的簡單 RSS Parser,位於 Google Code 上:http://zonble.googlecode.com/svn/trunk/iPhone/SimpleRSS/。這段程式以 BSD License 釋出,有需要的話,歡迎使用。

正確率的前提

上週一 WWDC 開幕時,蘋果便宣布、並提供了新版本的 「那個裝置」的SDK,裡頭也包含了新的「那個裝置」的模擬器。除了拿來寫點小程式當做練習之外,同時也把玩了一下新版模擬器中所包含的中文手寫辨識輸入。辨識效果還算不壞,就算故意把字寫得龍飛鳳舞,系統也可以辨識一二。

不過,用了一下還是稍微有些抱怨,一是蘋果似乎以為這套手寫系統不需要任何解說就可以使用,所以,像中文標點符號不是靠直接寫出標點的形狀,而是要透過寫一個小短橫,然後從畫面右側選擇各種標點符號,這種我花了一些時間才試出來的使用方式,就沒有看到有相關解說;二是,有幾個字-如「很」、「上」等,我寫下之後,怎麼都辨識不出來,怪的是,我同事測試的時候,卻沒有這個問題。

Continue reading

鎚子與釘子

做輸入法這種工作最基本、也最麻煩的地方就在於相容性,當你開始做了輸入法之後,弄個一個線上討論區,你會看到最多的問題、也是讓你最為無力的問題,也就是相容性。

就像你做個網站,先不管網站上的內容如何功能如何,你會遇到的最基本的問題是怎樣在 Internet Explorer、Firefox、Safari、Opera 等不同瀏覽器中,都可以看到相同的頁面;而當你開始做一套輸入法,也先不要說輸入法的功能如何,第一個要求就是怎樣可以在各式各樣的應用程式中-辦公軟體、通訊軟體、美工軟體、線上遊戲,都可以打出字,都可以正確出現選字窗等輸入法所需要的使用介面,還有,因為輸入法基本上屬於每個應用程式都會載入的外掛程式,你也不能夠讓各個應用程式在載入了你這個輸入法外掛之後因此當機。

如果你想要靠單打獨鬥或是光是仰仗社群,光是相容性這份本分,就不知道可以消磨掉多少熱情。文書或是辦公軟體,如果是使用系統的文字元件,或是規規矩矩的按照系統規格實作,大多沒有問題,但是,你在 2008 年還在做輸入法,你就會發現,許多人的需求,並不是在辦公軟體中使用輸入法,或是用在所謂生產力的用途上,而輸入法最大的相容性問題,大多來自於-線上遊戲。

Continue reading