27 9月 2010

[外皮] 魔鬼的交易

去的幾個禮拜,除了工作以外的時間,都在弄 Hama 2.5 版的圖型介面。

一開始的程式規劃是讓 Hama 成為一個「沒有圖型介面」,只是很單純地「執行」然後就「結束」的程式。但經使用者的反應,如果要備份的檔案很大,所以執行的時間比較長的時候,他們根本就不知道到底程式有沒有在動作。

Good pont! 所以雖然沒有圖型介面,但還是需要一個「通知」的介面來提醒使用者「Hama 開始執行了哦!」以及「檔案已經打包備份好了!」才行。

本來計劃還要讓 Hama 在程式執行完以後,能夠讀取每個打包起來的檔案中用兩個 "##" 包起來的部份,然後再顯示出來,這麼一來就能提醒自己進度如何了。但一方面是忙,另一方面是懶 (主因?) ,所以一直沒有加入圖型介面的函式庫。

但現在既然要做「通知視窗」,就非加入圖型函式庫不可了…

於是…這就開始了與魔鬼的交易…

我希望程式可以儘量小,愈小愈好。

但是「圖片檔」本身就是一種很難變小的格式。如果圖片變得太小,就會變得很模糊,但如果圖片太大,又會導致程式也一起變得大了起來。

另外,我要做成直接點擊就開始執行,不需安裝程序…等等。那就勢必要把圖型檔轉成 C 語言的 header 然後再包到 .exe 檔案裡… 2KB 的圖檔,轉成 C 語言的 header 後,就變成 13.5KB 了。整整大了六倍!雖然 13.5KB 或是 2KB 以現在的電腦速度來說,載入記憶體的時間都是感覺不到的,但這種膨漲系數,實在是想到就覺得不舒服…

不然…把圖檔放在網路上,維持 2KB 的大小,然後在第一次執行的時候,就連線去下載回來吧!這樣沒有先告訴使用者,就直接上線抓檔的行為,在道德上似乎有點說不過去。

我想起「神經外科的黑色喜劇」一書中,半夜裡搶救小嬰兒的段落…再來一針腎上腺素…但過多的腎上腺素會讓末稍神經壞死…沒辦法了,如果不保住心跳的話,就算手指完好也沒用…再來一針…再一針…拿走他的手指吧,但是請保住他的心臟…

我又想起…在大二時讀完浮士德的故事後,我覺得如果世界上真的有魔鬼願意和我做交易的話,我也願意用我的靈魂去換取宇宙間所有的知識…當然很多人會說,沒有靈魂就沒有感覺了,那…我會覺得這筆交易,好像我比較賺一點吧!

用附加的方式?不夠簡潔。
用安裝的方式?有違初衷。
用嵌入的方式?膨漲系數…
從網路上下載?…拿去我的靈魂吧…

0 意見:

張貼留言