2003
01 02 03 04 05 06 07 08 09 10 11 12
2006
01 02 03 04 05 06 07 08 09 10 11 12
2007
01 02 03 04 05 06 07 08 09 10 11 12
2008
01 02 03 04 05 06 07 08 09 10 11 12
2009
01 02 03 04 05 06 07 08 09 10 11 12
2010
01 02 03 04 05 06 07 08 09 10 11 12
2011
01 02 03 04 05 06 07 08 09 10 11 12
2017
01 02 03 04 05 06 07 08 09 10 11 12
2018
01 02 03 04 05 06 07 08 09 10 11 12
 
Aug
10
2007

寫 plug-in 的辛酸你甘知

Apple 前幾天在 Special Event 上發表了 iMac、iLife 08 及 iWork 08。又是我要忙得焦頭爛額的時候了。怎麼說呢?

我花了不少功夫研究各式各樣的 plug-in 寫法,包括 iPhoto 的 Hypo Plug-in (雖然我一直覺得這寫得還不夠好)、PixPorter,Keynote 的 KeynoteKU,AlienBBS 的 MulderPatch,以及其他存在我電腦裡還不能上檯面的實驗性軟體。為何我如此執著於寫 plug-in 呢?在我申請 WWDC Scholarship 的文件中就有提到,我認為 plug-in 是非常有趣的東西。它可以達到某種程度的軟體重用性,甚至在不需要 source code 的情況下就可以幫別人的軟體修正錯誤或者新增功能,而且不用修改原本的程式擔心改壞掉,只要加掛在外面即可。這對於軟體朝方便好用演化很有幫助:人們不需要再重寫一套功能相仿,只是多加幾個自己習慣功能的軟體。

但是寫 plug-in 的缺點也不少。因為很多程式都沒有公開,甚至是根本沒有 plug-in 架構,我硬是用奇技淫巧掛上去就會很累,得想辦法逆向工程,而這個過程通常得花很多很多時間和精神。接下來是相容性,像這次 Apple 一出 iPhoto 08,搞不好我之前寫給 06 的 Hypo Plugin 會突然不相容(這也是 Hypo 團隊這幾天來急忙從美國帶 iLife 08 回來的原因——我得儘快支援新出的 iPhoto 08 呢。當天發表大約是台北時間凌晨兩點,居然有客戶兩點五十就寫信來問我們有沒有支援 iPhoto 08 了呢。別急,我們當然會支援,但是請給我們一段時間)。因為這種自己 hack 進去的方法,完全沒有承諾說將來不會變動,也許每出一個新版就得重新寫一次也說不定,實在很沒安全感。最後,寫 plug-in 就和破解軟體一樣沒什麼 credit。所以整件事情會變成又累又不能一勞永疫又沒有名聲,只有你把軟體改造成想要的樣子這件事值得安慰。

這次 Keynote 裡面的錄製功能,我以前也有寫過沒人用的 KeynoteKU 做同樣的事情啊。這次 Apple 直接把這個功能寫進去 Keynote 裡面,也代表了我的眼光正確,這功能的確很有用。可惜啊,又被 Apple 搶先了。Bye bye,KeynoteKU。

 
 

Write Concisely