我的 Ubiquity 指令

Saturday, August 30, 2008

因為我有記下日常生活費的習慣,所以會經常到地鐵網頁查車費。我昨晚再寫了一個 mtr-fare 的指令,用來調查港鐵站於站之間的車費表。再弄了個 首頁 來記下我的指令 (暫時就只有 mtr-fare 和 ydict 啦) 。

Ubiquity 的指令開發很簡單,因為可以使用 command-editor 作即時測試。要寫 Ubiquity 的指令,首先好好看這篇 Ubiquity 0.1 Author Tutorial

如果你想發佈指令,只要弄個簡單的 html,再用連結 <link rel="commands" href="xxx.js" /> 就可以了。要留意 js 檔暫時只接受 application/x-javascript 的 MIME type,所以要看需要在 Apache conf 或 .htaccess 加入設定 AddType application/x-javascript .js 。

瀏覽器結合指令

Friday, August 29, 2008

在瀏覽器玩指令介面,首先從 URL bar 開始,Firefox 的書籤設定關鍵字:

然後可以用這個接駁 Yubnub :

再來就是 Awesome bar,自動搜尋歷史、書籤、標籤等等:

也有 Google 的 Command Line 版本 Goosh :

當然要說的,是最近熱話 Ubiquity

Ubiquity 的獨特的地方,在於其獨立介面,而不是使用 Url bar,而且可以提供更多的資料:自動提示指令、自動完成、搜尋結果預覽等等。而事實上這個獨立介面本身就是一個小型資料窗 ,讓你可以不用開新頁,不用跳來跳去來處理資料,還可以實行網絡 copy and paste。而這個窗口的功能,則有很大的自由度,可以由指令程式自由發揮,接駁不同的服務。

在這個基礎上,如果某某 Web Service 有公開的 API、又或者使用 Microformat 等標準格式,就更有利於人們寫指令。即使你的網站沒有這些,人們也可以用 Javascript (Ubiquity 本身就內附 jQuery) 來做 Ajax 和 DOM Manipulation,也不是難事。

上圖的 ydict 服務,是小弟試寫的一個字典指令,程式功能超簡單,不過因為 Yahoo 字典本身並沒有甚麼 API,所以都要花一些碼來拆解當中資料。

因為 Ubiquity 仍然是相當新的關係,所以還會有不少 bugs (例如清理 cache 時,會連 subscribe 了的指令清除…) 和改進空間,不過潛力無限!

P.S. 另一邊廂, IE8 Beta 2 推出了,也有類似的東西:


相關文章:

網絡指令

Tuesday, June 14, 2005

typing

不知道大家有沒有使用 Command Line 的經歷,我當初第一部電腦用的是 DOS 6.22 ,雖然配上 Windows 3.1 ,但其實也要經常到 DOS 去進行 Disk Operation,而且那時候要玩電腦遊戲,也一定要懂得如何使用 Command line ,否則便連遊戲安裝也成問題。

由 Command Line Interface 進化到 Graphic User Interface ,大家只要用滑鼠左 Click 右 Click 即可應用到不少功能,學習使用電腦的門檻大大降低,不用再記指令,不用再記用法。不過,對於很多人來說 Command Line 雖然要學習,但只要掌握了,就可以更有效率,始終用十隻手指打字,會比用一隻手指點滑鼠,更能用盡你的「輸入頻寬」。

Firefox 裏面有一項功能,在一些輸入欄裏,你可以右 Click 選單「將此次搜尋動作設為可用關鍵字搜尋」,其實也間接地將搜尋功能,變成在 Address bar 裏的 Command。例如,我現在要在 IMDB 搜尋 Sin City ,我可以直接在 Address bar 鍵入 「imdb sin city」,乾淨又快捷。

YubNub 也提供了類似的功能,但更進一步的是,人們可以在這裏自己創造 Command Line ,而因為平台是開放的,所以就成為了一個 Web Command Line 的資料庫。作者 Jon Aquino 提到 : But on a bigger scale, YubNub is the realization of a very big idea: the URL command line of the web OS. ,的確如此。在 Firefox 裏的 Address bar 所可以行的 Command 不過是一些搜尋功能,而 YubNub 則可以進行更複雜的指令,只要通過一個 Request 所能做到的就可以通過 YubNub 來做了。而作者也提到,如果他實作了「|」的功能,也就是將之前指令的結果帶到下一個指令的話,就會有更多變化了,他舉例:google jon udell | to_rss | xargs text_to_speech 可以直接將 Google 搜尋 Jon Udell 的結果化為 RSS ,再變成聲音檔。

不過, YubNub 只是在實驗的階段,而大部份由用者 Submit 的都是一些搜尋功能,而且還有 Spam command ,所以還是有待發展更豐富的社群功能。