FireBBS

FireBBS 跟 PCMan Firefox Plugin 一樣,是把火狐升級成 BBS+WWW 兩用瀏覽器的套件。和 PCMan Firefox Plugin 不一樣的是,FireBBS 套件裡面沒有任何的 dll 或是 so 等 native code,它完完全全是用 JavaScript 寫成的。

所以之寫的出來是因為 FireBBS 用了 XPCOM 跨平台引擎裡面的 socket 來傳資料到 BBS 站台。這可以從 chrome://firebbs/content/firebbs.js 的前幾行看出來:

const Cc = Components.classes;
const Ci = Components.interfaces;

var nsISocketTransportService =
Cc["@mozilla.org/network/socket-transport-service;1"].
getService(Ci.nsISocketTransportService);
var nsIScriptableInputStream =
Cc["@mozilla.org/scriptableinputstream;1"].
createInstance(Ci.nsIScriptableInputStream);
var nsIInputStreamPump =
Cc["@mozilla.org/network/input-stream-pump;1"].
createInstance(Ci.nsIInputStreamPump);
var nsIConverterInputStream =
Cc["@mozilla.org/intl/converter-input-stream;1"].
createInstance(Ci.nsIConverterInputStream);

這就是我之前說的心目中的 embedded Telnet Client啦!遠在天邊近在眼前,寫的時候想說應該是 Flash 的沿伸或是其他 Plug-in 來才能做到,結果 Firefox 自己就有。

FireBBS 套件的作者花了不少功夫在把 BBS 上的資料呈現在網頁上,不過我想到更進階的用途:這樣的架構可以用來寫 PTT forum Reader,把 PTT 的板用網頁論壇的方式呈現,擴大 BBS 的 userbase (鄉民的 base XD)。因為是用 Telnet 連線,速度會跟傳統 BBS 一樣快;唯一的弱點只有 Firefox 慢死人不償命的 JavaScript Engine …

有人寫出來的話,記得 link 回這篇文章加個 Inspired by timdream ~ XDXD。

泛用型中文域名

有待開發的新領域呀…。不過我的經歷卻很波折,唉。

自從推薦系上買下 phy.tw 這個域名之後,老師要我另外調查了中文域名的部份。中文域名(詳細說明請看中文.tw)因為 IE6 不支援,所以不太有人申請;最後我們決定買下物理系.tw來用。

申請當然是網路上表格填一填就可以了;不過後來發現一個大問題:PCHome 的泛用型中文域名的設定網頁只能選 DNS 代管,讓你設定五個 hostname,不能設 DNS 。

我當然是氣壞了,如果只是這樣買域名幹麻?於是我就寄信問客服;客服回應很快,就隨便說「因為中文網域設定需要用到 punycode,有點難度所以不開放這個功能,如果貴單位需要只能辦退費到其他家去註冊域名。」當然我沒有辦法接受這種把顧客當白癡的答案,於是到了第二封 email 的時候,PCHome 很主動的拿了系網站上的傳真號碼,直接把退費表格傳過來了。

因此,我很不爽的拿著表格去老師辦公室抱怨,準備麻煩老師填(上面還要有公司大小章喔),然後打算累積情緒來寫 blog 開罵,外加寫信去 TWNIC 抱怨+到消基會申訴之類的。

但老師建議我先打電話去請他們手動設定。於是我打了,花了一點時間跟客服口舌,說服她把我轉到網域部門,又跟網域部門的小姐講了半天,跟她說「不然妳把電話拿給管機器的人我請他手動設定好了」。於是她請我留電話號碼,幫我問了工程師,回電問了我 DNS 設定,然後一個小時之後就設進去了。

這件事情給我了一些教訓:

  1. 別跟客服吵架。他們會幫你找最速解而不是最佳解;E-mail 比電話無用。
  2. 客服不在意選最速解的時候公司會不會虧錢,反正她的案子能 close 。
  3. 目標是雙贏,不是意氣之爭。今天這樣跑一遍,對方或許還會覺得很有成就感,因為他們滿足了客戶的需要。如果辦了退費+上 blog 開罵+去申訴或許能在其他註冊商解決問題,但是是雙輸的。這是老師告訴我的。

So I guess I have to refine my personality and think twice about how things can be done.

我的網路行動力

自從換了新手機之後,常常被別人以為我拿的是高級 3G 手機:因為我常常在別人面前用手機查 Wikiepdia, Google 或是 GMail。實際上呢,SonyEricssion k550i 的綁約價只要 5500,我一個月的 GPRS 網路費(k550i 不是3G手機)也沒有超過 200 元過。所以,以下解釋一下我達成行動力的方法。

手機

一開始當然是要選一台手機。其實我不換手機用 Nokia 6610 也可以達到一點行動力(原因下面解釋),但是 6610i 的螢幕實在是太小了,JAVA 規格也只有 MIDP1 讓我沒有辦法用某些程式… 因此考量價錢之後我選了 176 x 220 的螢幕,不算大也不算小。

預算不夠不一定要選 3G 手機+資費。GPRS 雖然速度只比撥接快一點點,但是在手機上用 Opera Mini 也算夠用。至於大家會問的 GPRS 太貴的問題,我用起來是覺得除非每天要用手機處理事情一整天(這樣大拇指會斷掉吧),不下載檔案傳輸費是不會爆掉的。最多最多頂多辦個 99 元月費的 GPRS 附加方案。

Opera Mini

OperaOpera Mini 是 Opera 瀏覽器的手機版本。它和一般瀏覽器不一樣,不是讓手機直接下載網站的資料來顯示,而是經過 Opera 方面的伺服器做預先的處理與壓縮。光是這個動作就拯救了 GPRS —— 雖然 SonyEricssion 手機也有內建不難用的瀏覽器,但是它拿 GPRS 下載網頁所有檔案來顯示需要的時間和傳輸費是很嚇人的。

我在用 Nokia 6610 的時候就有在用 Opera Mini 了。螢幕只有 128×128,而且 MIDP1 規格雖然勉強可以執行(光這點我就覺得 Opera Mini 超厲害的),但是載入某些網頁會當機。會換手機有很大的因素也是因為 Opera Mini 。

Opera Mini 預先處理是會將網頁編排修改成方便閱讀的形式,之後經過壓縮再傳到手機上。處理的方法是 Opera 的專利,如果該網站有 handhold CSS style 則會遵守CSS。在標準並且有考量到行動裝置的網頁上(例如Wikipedia)閱讀是完全沒有問題的;Yahoo!奇摩拍賣、新聞的畫面勉強可以接受。其他像是無名看起來就非常恐怖了(應該也沒有人想要用手機螢幕逛相簿吧)。查查網路字典或是搜尋也是沒有問題的,拿來上 GMail Mobile 也不錯,不過它有更好用的專用程式。

唯一的例外是 Windows Live Messenger 的手機網頁版本。這個只能用內建瀏覽器啟動,因為 Opera Mini 的網頁沒辦法讓 Javascript 做線上修改,執行所有 Javascript 都要重新傳輸整頁。

GMail

Google 開發了 GMail 的專用 Java Client,MIDP2 規格因此無法在我的舊手機上運作。裝好之後設定帳號密碼進去即可使用。相當好用,數字快速鍵也設計的很用心;從它載入郵件的清單的速度也可以感受到它背後的傳輸是有特別設計過。

Google Maps 也有對應的 Java 程式,不過我的手機跑起來會錯誤就是了。

結語

剛買 k550i 回來的時候發現它內建的網路功能非常完整。除了瀏覽器以外,它也可以收 POP3/IMAP 信件、RSS Reader、用某些手機廠商設計但是不普及的 protocol 同步個人資料和即時訊息、把照片傳上 Blogger (BSP 專屬功能,不是XML-RPC)。

手機這麼好用,為什麼要用 Opera Mini 的 Feed Reader 或是不把 GMail 設定到手機的內建功能上呢?手機還把它們整合進簡訊功能呢!其實如果我用 3G 手機我也會這樣做,只是一切都是為了省錢呀 —— 3G手機的售價,GPRS 的速度和資費。雖然傳輸速度慢,但是軟體可以發揮手機的無限可能…這也不錯不是嗎?

若您有興趣改造手機發揮行動力,去開通 GPRS 然後開始裝程式吧(記得裝程式要從電腦傳不要直接下載喔,檔案有點大):

Update: 樓下的格非大姐姐(XD)寫了一篇如何安裝 Opera Mini 的說明