Ubuntu Tweak五年之歷程
大家好,
我是來自 Canonical 的周鼎,今天我很榮幸收到開源中國(guó)的邀請(qǐng)?jiān)谶@里與大家聊聊有關(guān)開源的一些東西。
我想跟大家分享一下過去五年來,自己在 Linux 開源世界的一些認(rèn)識(shí)、經(jīng)歷和收獲。我可能是現(xiàn)場(chǎng)唯一講桌面軟件和桌面系統(tǒng)的,與大家的技術(shù)交集不多,因?yàn)楝F(xiàn)在的主流是 Web、移動(dòng)應(yīng)用和云計(jì)算平臺(tái)。但是,桌面系統(tǒng)是我們工作離不開的平臺(tái),桌面系統(tǒng)對(duì)我們來說是最重要且最直接的工具,我相信大家都是在桌面系統(tǒng)里編程和創(chuàng)造,而不是在瀏覽器和手機(jī)里。沒有桌面系統(tǒng),我們就無法創(chuàng)造 Web 及移動(dòng)平臺(tái),所以在未來還是會(huì)繼續(xù)發(fā)揮其重要的作用。
在這里我想簡(jiǎn)單的了解一下,有多少朋友是寫代碼的?(現(xiàn)場(chǎng)幾乎全部舉手)
很高興看到這么多朋友是寫代碼的,那么請(qǐng)?jiān)试S我代表你們一下:作為一個(gè)開發(fā)者,大家都是希望能做出自己的作品的,是不是?。ìF(xiàn)場(chǎng)反響)
所以今天我在這里與大家分享一下我的個(gè)人作品——Ubuntu Tweak,希望通過個(gè)人技術(shù)和產(chǎn)品上的經(jīng)歷,能與大家產(chǎn)生一些共鳴。
在講 Ubuntu Tweak 之前,我先來提一下 Ubuntu 吧。今天,我想首次以官方人士的身份,向大家宣布 Ubuntu 的中文名——友幫拓。但是我不要求大家用它,因?yàn)槲易约阂膊徽f。
然后我來講 Ubuntu Tweak 吧。首先,它不是「優(yōu)化大師」,它是一個(gè)桌面系統(tǒng)的調(diào)整工具,我從2007年7月開始做這個(gè)軟件,現(xiàn)在最新版本是0.7.2,已經(jīng)做了五年,有了50多個(gè)版本。它大概有不到2萬行代碼,最多一次下載有50萬,支持多國(guó)語言,軟件本身是由很多貢獻(xiàn)者完成的。
我相信現(xiàn)場(chǎng)有些朋友可能沒用過 Ubuntu Tweak,我來做個(gè)簡(jiǎn)單的演示:
- 字體調(diào)整
- Unity設(shè)置
- 清道夫
為什么開發(fā) Ubuntu Tweak ?
我是在2006年末開始接觸Linux,并且試了幾個(gè)發(fā)行版后,就選擇了 Ubuntu。所有 Linux 使用經(jīng)歷在五年以上的朋友應(yīng)該知道,那時(shí) Linux 很不好用,尤其是中文支持方面,沒有像現(xiàn)在這樣好的微米黑了。當(dāng)時(shí)用 Linux,基本上一裝好系統(tǒng)就要各種配置,折騰下字體、折騰下輸入法,再折騰下系統(tǒng)主題啥的,讓系統(tǒng)更漂亮,畢竟是天天工作的系統(tǒng),讓它變得賞心閱目是必要的。
當(dāng)時(shí)我非常喜歡把我的 Ubuntu 美化成 Mac OS X,已經(jīng)到了以假亂真的地步了。順便提一下,今天我終于如愿以償?shù)赜蒙狭?Mac。
因?yàn)槟菚r(shí) Linux 很不好用,我又喜歡解決問題,于是,做一個(gè)系統(tǒng)傻瓜配置工具的想法,就這樣冒出來了。#p#
開源世界編程初體驗(yàn)
2007 年的暑假,當(dāng)時(shí)我僅有一些C語言和 Java 的基礎(chǔ),我就參照著另外一款開源軟件,開始寫 Ubuntu Tweak。當(dāng)時(shí)我進(jìn)入開源世界感覺真的非常棒,當(dāng)時(shí)沒有 Github 這樣的方便的交流溝通平臺(tái),所有能接觸到的源碼最全而且最方便的,就是 Linux 操作系統(tǒng)。你想想,一句「apt-get source foobar」,就能把一個(gè)開源項(xiàng)目的源碼自動(dòng)下載好并解開來,馬上就可以看了,這對(duì)剛剛開始學(xué)習(xí)編程且如饑似渴的人來說,簡(jiǎn)直是如魚得水啊。
實(shí)際上是現(xiàn)在回想,開源世界也有一個(gè)缺點(diǎn),就是文檔不夠齊全。很多庫(kù)的文檔都不完善,你只有自己親自去試才能理解更深。甚至有時(shí)候,你必須得去看這個(gè)庫(kù)本身是怎么實(shí)現(xiàn)的。很多事情都是兩面的,于是這實(shí)際上這也是一個(gè)優(yōu)點(diǎn),只有在開源的 Linux 操作系統(tǒng)上,你才有機(jī)會(huì)因?yàn)槲臋n的不齊全直接去接觸問題的本質(zhì),去看一個(gè)具體的庫(kù)是怎么實(shí)現(xiàn)的,從而解決問題。我覺得使用 Linux 而且在 Linux 平臺(tái)上編程有助于培養(yǎng)從本質(zhì)上解決問題的能力。
當(dāng)時(shí)我真的什么都不懂,但是意識(shí)里還有一些現(xiàn)代項(xiàng)目管理的意思,比如我還不知道什么是「版本控制」,但是我自創(chuàng)了基于文件夾的「人肉版本控制」,還挺自豪地寫了篇文章。后來馬上有前輩告訴我該去用 SVN(當(dāng)時(shí) Git 還不流行)。我馬上采納了意見,學(xué)習(xí)了下 SVN,并且入駐了當(dāng)時(shí)比較流行的 Google Code。
這里是當(dāng)時(shí)第一個(gè)做出的功能,把我激動(dòng)了好一會(huì),就是把系統(tǒng)配置讀出并響應(yīng)到一個(gè)響應(yīng)的顯示上,如果勾選了這個(gè)按鈕,就把系統(tǒng)配置也改掉了。
利用好開源世界開源的特性,多讀源碼這個(gè)「文檔」
而這是當(dāng)時(shí)把界面差不多建立好的樣子,沒錯(cuò),當(dāng)時(shí)我為了更中文化改名叫了「Ubuntu優(yōu)化大師」,不過后來又給我改回來了。#p#
2007年9月9月:首個(gè)0.1.2版本
大概邊學(xué)邊做一個(gè)暑假,在開學(xué)的時(shí)候,我就推出了 Ubuntu Tweak 的第1個(gè)版本:0.1.2。這個(gè)版本的 Ubuntu Tweak 是用C語言寫的,很不好用,界面非常破,功能也有限,但總歸有了一個(gè)開始。而且因?yàn)槲以?jīng)是做 Linux 資訊網(wǎng)站(Linux 桌面中文網(wǎng))的,很自然地就把它放在自己的網(wǎng)站和其他論壇上進(jìn)行推廣,也引起了不少關(guān)注。很快就有朋友說要幫我編譯一個(gè)64位的版本,還有朋友又說要幫我翻譯成繁體中文。
當(dāng)時(shí)我還在「LUPA」這個(gè)開源社區(qū)混,當(dāng)時(shí)我在杭州讀書,LUPA 也正好是杭州的。剛剛 LUPA 準(zhǔn)備搞一個(gè)開源沙龍,看到我發(fā)的這個(gè)東西,就被當(dāng)時(shí) LUPA 社區(qū)的主管發(fā)現(xiàn)了,他就邀請(qǐng)我去 LUPA 沙龍上講講。于是這次是我在開發(fā)了這個(gè)軟件發(fā)布沒幾天后,就第一次在線下跟大家分享了,這給當(dāng)時(shí)的我有著很大的鼓舞。真的很感謝當(dāng)時(shí)邀請(qǐng)我分享這個(gè)軟件的 LUPA 社區(qū),就像今天開源中國(guó)邀請(qǐng)我讓我有機(jī)會(huì)得以貫穿一下這五年。
主動(dòng)進(jìn)行宣傳,愿意參與的人可能比你想像中的還要多
專注 coding 之外,也要混一下社區(qū)。
發(fā)布0.1.2版本后的動(dòng)作
在發(fā)布第一個(gè)版本之后,我還注冊(cè)了 ubuntu-tweak.com 的域名,,我馬上搭起了一個(gè) Blog,用英語向世界廣播。這個(gè)意義也是相當(dāng)巨大的。正所謂開源無國(guó)界,如果你做的東西沒有區(qū)域限制,那么不要怕英文不好,推出國(guó)際版可以說是必備的。
然后因?yàn)槲疫€在學(xué)校,經(jīng)常逃課不去上課,時(shí)間非常多,基本上是全身心放在做這款軟件上了。PS:我當(dāng)時(shí)還是學(xué)習(xí)委員。
我的迭代開發(fā)速度很快。很快半個(gè)月后,我又發(fā)布了一個(gè)新版本,0.1.4。這個(gè)版本依然還是比較差的,但是修正了很多 bug,最重要的是,給關(guān)注它的用戶看到了我愿意在上面傾注的熱情,然后這個(gè)版本自然有了比之前更多的關(guān)注量。
在連發(fā)兩個(gè)版本后,我馬上意識(shí)到了之前的方式雖然 Quick 但是 Dirty,隨著功能開發(fā)越來越多,會(huì)越來越難以維護(hù)和很多潛在的問題。于是我立馬放慢了速度,嘗試去學(xué)習(xí)了一些設(shè)計(jì)模式,把軟件的框架變得更加靈活而且容易控制,記得那個(gè)時(shí)候就接觸了 MVC 設(shè)計(jì)模式。而且這個(gè)版本得到了當(dāng)時(shí)在北京朋友的支持,他為 Ubuntu Tweak 設(shè)計(jì)了全新的Logo,讓 Tweak 得以在后面爭(zhēng)氣一下「好歹要對(duì)的起這個(gè)專業(yè)的設(shè)計(jì)師設(shè)計(jì)的 Logo 是吧?」我開始花精力在界面的設(shè)計(jì)上,而不是僅僅在代碼的設(shè)計(jì)上。當(dāng)然這個(gè)過程非常的漫長(zhǎng)。
2007年11月:Ubuntu Tweak 0.2.0
在一個(gè)半月后,2007年11月,經(jīng)過無論是結(jié)構(gòu)還是用戶界面改良的 Ubuntu Tweak 0.2發(fā)布了。當(dāng)時(shí)我繼續(xù)像以往一樣,寫了一篇很詳細(xì)的、圖文并茂的發(fā)布文章。這個(gè)習(xí)慣一直沿用到現(xiàn)在,我覺得雖然不會(huì)有人看也不一定會(huì)關(guān)心你修了幾個(gè) bug 或內(nèi)部有用什么設(shè)計(jì)模式,但是就當(dāng)為自己寫。
寫詳細(xì)的發(fā)布通告,至少讓自己知道這個(gè)版本做了什么變動(dòng)
然后在這個(gè)版本后,因?yàn)橛脩粼龆嗔耍蠹倚枰粋€(gè)報(bào)告問題的方式,于是當(dāng)時(shí)我把 Ubuntu Tweak 放在了 Launchpad 進(jìn)行管理,當(dāng)時(shí)只接受 Bug報(bào)告,也沒有所謂的項(xiàng)目管理,基本上是我想到做什么功能就馬上去做。當(dāng)時(shí)收到的第一個(gè)Bug報(bào)告是:UT Logo takes too much place.
當(dāng)時(shí)我不以為然,因?yàn)槲蚁矚g自己的設(shè)計(jì),一直沒采納這個(gè)用戶的意見,修正這個(gè) bug 大概花了一年多。
然而,我還是認(rèn)為堅(jiān)持自己的意見很重要,因?yàn)樽约郝J(rèn)識(shí)及爭(zhēng)論的過程,比毫無保留地接受第三方的意見要好。
Ubuntu Tweak 0.2.0之后的動(dòng)作及0.2.4的發(fā)布
在0.2版本發(fā)布以后,我還是不滿意當(dāng)前的構(gòu)架,而且那次在 LUPA 的活動(dòng)上,一個(gè)大學(xué)的教授向我推薦了 Python 這門編程語言。我當(dāng)時(shí)是除了Basic、C 和 Java 沒接觸過其他語言,而且我好奇心比較強(qiáng),既然有大學(xué)教授向我推薦了 Python 這個(gè)新東西,那我就去學(xué)學(xué)好了。
于是我又是一邊學(xué)習(xí) Python,一邊把 Ubuntu Tweak 用 Python 重寫了。很快,在12月中旬,我就發(fā)布了完全用 Python 重寫后的新版本0.2.4,這個(gè)版本繼續(xù)增加了更多功能,比如 Compiz 3D桌面的設(shè)置,比如增加了德語、波蘭語。
無論是 Ubuntu Tweak 的圖形編程 GTK,還是后來用 Python,基本上我都是現(xiàn)學(xué)現(xiàn)用,我覺得這個(gè)還是很重要的。
學(xué)以致用,邊學(xué)邊用。
0.2.4之后的動(dòng)作
當(dāng)時(shí) Ubuntu Tweak 的多語言支持是通過 gettext 來支持的,當(dāng)時(shí)項(xiàng)目托管平臺(tái) Launchpad 有著對(duì) gettext 的在線翻譯的支持,而且后來還增加了一個(gè)叫 「PPA」的機(jī)制,即:Personal Package Archive,可以通過該渠道發(fā)布軟件,用戶只需要加這個(gè)源,就可以獲得持續(xù)更新。相信用 Linux 的朋友都知道這是怎么一回事。
于是,我為 Ubuntu Tweak 建立起了翻譯平臺(tái),還開啟了這個(gè) PPA。這使得參與 Ubuntu Tweak 的翻譯不需要通過手動(dòng)提交 Pot 文件,任何人都能在網(wǎng)上自己翻譯了,另外 PPA 的增加,也使得軟件的分發(fā)變得非常方便,用戶不需要每次下載、安裝,只需要每次更新就能用最新的東西了。
這些因素讓 Ubuntu Tweak 后來?yè)碛辛?0幾國(guó)語言的支持、更快的流通奠定了基礎(chǔ)。
關(guān)注開發(fā)以外的事物,優(yōu)化分發(fā)流程。
第一個(gè)半年的榮譽(yù)與成果
2008年1月,我已經(jīng)發(fā)布到 Ubuntu Tweak 0.2.5版本了。當(dāng)時(shí)我已經(jīng)不做間接宣傳了,而只在自己的blog上做主動(dòng)宣傳,當(dāng)時(shí)效果很好,Linux.com 報(bào)道了 Ubuntu Tweak。當(dāng)時(shí)的美味書簽:del.icio.us 也上頭版了。這對(duì)當(dāng)時(shí)來說是很大的鼓勵(lì)。
基本上我以每月兩個(gè)版本的速度開發(fā)著…半年的時(shí)候,我就發(fā)布了11個(gè)版本,而且只是 0.1 ~ 0.2。不知道這個(gè)頻率是不是太快,但是對(duì)于一個(gè)正在學(xué)習(xí)階段的我來說,還是比較合適的。
然后我繼續(xù)緊著不斷開發(fā),完善各個(gè)方面的功能。
Release Soon, Release Often
2008年4月 Ubuntu Tweak 0.3
2008年4月,我發(fā)布了 Ubuntu Tweak 0.3,一個(gè)顯著的變化是,我調(diào)小了 Banner 的尺寸(邁出這一步是很不容易的…),增加了自動(dòng)更新功能。與此同時(shí),Ubuntu Tweak 第一次在國(guó)內(nèi)的《程序員》雜志被報(bào)道了。
2008年7月 Ubuntu Tweak 0.3.4
2008的7月,我又發(fā)布了 Ubuntu Tweak 0.3.4,這個(gè)版本增加了一個(gè)比較重要的東西,那就是第三方源的東西。這個(gè)功能把一些常用的 PPA 軟件收集起來,讓用戶可以隨時(shí)保持軟件的最新版本。這個(gè)功能在后來不斷完善,成為了用戶最受歡迎的一個(gè)功能。
2008年10月 Ubuntu Tweak 0.4.0
我又馬不停蹄的開發(fā)出來了0.4.0版本,這個(gè)版本最顯著的改進(jìn)是,我終于去掉了界面那個(gè)長(zhǎng)條,界面變成了這個(gè)樣子,同時(shí)加入了軟件包清理的功能。任何操作系統(tǒng)在長(zhǎng)期地使用后,都會(huì)留下緩存和垃圾文件,因此 Ubuntu Tweak 增加這個(gè)功能可以幫助用戶方便地去清理垃圾文件。
中途夭折的 Fedora 版: Ubuntu Tweak 0.4.3
這個(gè)時(shí)候,Ubuntu Tweak 已經(jīng)有了一些知名度,我的野心也有點(diǎn)開始膨脹,因?yàn)槲也粩嗟馗纳屏?Ubuntu Tweak 的核心功能,使其可以根據(jù)環(huán)境動(dòng)態(tài)加載模塊,理論上可以支持除 Ubuntu 以外的發(fā)行版本了,于是在2008年12月,推出它以后,反響不如期望之熱烈,于是我就沒有繼續(xù)唯一,而專注在當(dāng)前的 Ubuntu 平臺(tái)了。
現(xiàn)在想想,當(dāng)時(shí)它的失敗是注定的,如果叫「Tweak for Fedora」,那還有點(diǎn)希望。作為一個(gè)用 Fedora 的用戶,誰愿意用一個(gè) Ubuntu 開頭的軟件呢?要我自己也是不愿意的。
先專注做好一個(gè)平臺(tái)
2009 年,開始實(shí)習(xí) + 工作后的動(dòng)作
2009年,我已經(jīng)開始工作了,基本上就只在業(yè)余時(shí)間繼續(xù)更新著這個(gè)項(xiàng)目。工作給我很多的收獲,讓我學(xué)習(xí)到了如何使用規(guī)范的流程去發(fā)布軟件。于是在這一年,我最大的改變就是開始詳細(xì)地應(yīng)用項(xiàng)目管理模式去管理我的每個(gè)發(fā)布,因?yàn)楹芏鄷r(shí)候你無法在工作中去隨心所欲地應(yīng)用一些無論是技術(shù)還是其他方面,但是在自己的軟件中就可以盡管去嘗試。
從0.4.4版本開始,我開始不再像以前一樣想到什么就開發(fā)什么,而是計(jì)劃好要開發(fā)的內(nèi)容,定制發(fā)布計(jì)劃,遵守特性計(jì)劃、實(shí)現(xiàn)和凍結(jié)等項(xiàng)目周期。在這2009年這一年,我以幾乎每月一個(gè)版本的頻率,發(fā)布了10個(gè)版本。好好地打磨了一遍。
在這背后,還有一年顯著的變化,那就是我在2008年末,正式用 Git 取代了 SVN,將其作為 Ubuntu Tweak 的源碼版本控制軟件,并將其轉(zhuǎn)移到了Github上去。對(duì)于主要是一個(gè)人寫代碼的項(xiàng)目來說,Git 的多人協(xié)作的優(yōu)勢(shì)并沒有完全體現(xiàn)出現(xiàn),但是我已經(jīng)開始通過 Github 接受到一些 patch。
另外,Git 的無痛 branch,讓我在這一年0.4版本和0.5版本的并行開發(fā)得到了可能。
實(shí)施軟件工程+應(yīng)用 Git 技術(shù),進(jìn) 一步優(yōu)化軟件開發(fā)流程。
2010年1月1日 Ubuntu Tweak 0.5
然后到了2010年1月1日,我發(fā)布了 Ubuntu Tweak 0.5版本, 這個(gè)版本最大的特色是,結(jié)合我當(dāng)時(shí)跟另外的朋友一塊做的網(wǎng)站,將一些數(shù)據(jù)給網(wǎng)絡(luò)化了,而不是像以前一樣是寫死在代碼里的。
我用 Django 做了這個(gè)網(wǎng)站,當(dāng)時(shí)這個(gè)網(wǎng)站的設(shè)計(jì)師是 Kevin Chou,而前端也就是實(shí)現(xiàn)的則是 Keke,而我就負(fù)責(zé)前后端的結(jié)合,我們這個(gè)團(tuán)隊(duì)當(dāng)時(shí)分布在全國(guó)各地,就通過Git和網(wǎng)絡(luò)把它做出來了。這是做 Ubuntu Tweak 以來首次真正通過團(tuán)隊(duì)協(xié)作完成的一個(gè)附加作品。
我在這次合作中認(rèn)識(shí)到了,很多產(chǎn)品雖然剛開始都是一個(gè)人做出來的,但是想要把它做的更好,團(tuán)隊(duì)的力量是少不了的。特別是對(duì)于開源軟件來說,團(tuán)隊(duì)并不是僅僅是參與開發(fā)這個(gè)項(xiàng)目的人,很多用戶,包括翻譯者,他們也是團(tuán)隊(duì)的一員。
然后這一年,Ubuntu Tweak 收到了更多的榮譽(yù),首先是在 OMG!Ubuntu! 上,它被評(píng)為了「最佳系統(tǒng)清理工具」,日本的 Linux 雜志,也相繼報(bào)道了它。這里要很感謝將其告之我的朋友們。
Ubuntu Tweak 0.5 后的動(dòng)作:設(shè)計(jì)新界面
到了這個(gè)時(shí)候,Ubuntu Tweak 整體上實(shí)際上已經(jīng)比較成熟而且穩(wěn)定,特別是代碼方面,已經(jīng)有了比較靈活的可擴(kuò)展機(jī)制。這個(gè)時(shí)候,我把重點(diǎn)轉(zhuǎn)向了用戶界面方面,因?yàn)殡S著功能的增多,現(xiàn)在的界面已經(jīng)不適合越來越多的功能了。
早在2009的11月,我就把我的想法與當(dāng)時(shí)團(tuán)隊(duì)的設(shè)計(jì)師 Kevin 分享了,而他也能非常領(lǐng)會(huì)我的意思,于是很快就做出了一版 Ubuntu Tweak 0.6 的草圖。但是在后來的2010年,我把重心放在維護(hù)和更新0.5版本上,就沒有精力去實(shí)現(xiàn)這個(gè)0.6版本。
但是在2010年,我在繼續(xù)維護(hù)當(dāng)前版本的同時(shí),也一起與朋友設(shè)計(jì)未來的版本,并以此為意見。這是當(dāng)時(shí)另外一個(gè)朋友 Jeonkwan Chan 設(shè)計(jì)的草圖,我們已經(jīng)在討論一些非常細(xì)節(jié)的東西了。
這個(gè)經(jīng)歷非常美好,我們雖然位于不同的地方,但是對(duì)于如何設(shè)計(jì)一個(gè)簡(jiǎn)潔好用的用戶界面有著一樣的熱情。
2011年12月 Ubuntu Tweak 0.6.0終于發(fā)布
一直到了去年,我才開始嘗試實(shí)現(xiàn)這個(gè)全新的用戶界面,并且在一邊實(shí)現(xiàn)一邊改善。2011年愚人節(jié)的時(shí)候,我還不知道我能不能完成這個(gè)版本,但是索性就發(fā)表了一篇「初探下一代Ubuntu Tweak」,提前公布一下,借此激勵(lì)自己去完成這個(gè)版本。
后來因?yàn)楣ぷ鞯淖儎?dòng)和個(gè)人的一些事情,特別是我來到北京以后,軟件中斷開發(fā)了很久很久。我曾一度以為這個(gè)版本再也做不出來了。
后來經(jīng)過自己的努力,在2011年就要結(jié)束的時(shí)候,我砍掉一些功能,終于將設(shè)計(jì)中的 Ubuntu Tweak 0.6 發(fā)布了出來。從設(shè)計(jì)稿出現(xiàn)到最終發(fā)布,整整花了兩年時(shí)間,具體地說是,兩年的業(yè)余時(shí)間。
這個(gè)版本雖然砍掉了一些如第三方源的功能,但還是很受歡迎的。對(duì)自己而言,這是一次從設(shè)計(jì)的角度把草稿變成現(xiàn)實(shí)的過程,而不是之前從程序的角度變成現(xiàn)實(shí)。大概從這以后,我慢慢地有著「以設(shè)計(jì)驅(qū)動(dòng)開發(fā)」的思想。本質(zhì)上,無論是軟件構(gòu)架還是用戶界面,都是一個(gè)設(shè)計(jì)的過程。
嘗試設(shè)計(jì)驅(qū)動(dòng)開發(fā)
2012年4月 Ubuntu Tweak 0.7.0發(fā)布
然后2012年來了,在維護(hù)了 Ubuntu Tweak 0.6.0 兩個(gè)版本之后,我又積累了一些程序和設(shè)計(jì)方面的需求,于是我制定了0.7版本的開發(fā)計(jì)劃,并且在兩個(gè)月的集中式開發(fā)之后,它又被順利地實(shí)現(xiàn)出來了。
2012年4月25日,也就是兩個(gè)月前 Ubuntu 12.04 發(fā)布的前夜,我同期發(fā)布了 Ubuntu Tweak 0.7.0。它比0.6版本更接近于我們之前的設(shè)計(jì)稿,不僅將之前砍掉的功能全部帶回,而且實(shí)現(xiàn)了全局模糊搜索、用戶界面的進(jìn)一步打磨。這個(gè)版本,我才可以說是,達(dá)到了我心目中該有的 Tweak 的樣子。#p#
回頭看看 Ubuntu ?
而這5年來,Ubuntu本身也有著巨變,Ubuntu 有了自己特色的鮮明的黑色系主題,有了自己的 Unity 桌面,甚至有了自己的軟件中心,里面還有賣很多商業(yè)軟件和商業(yè)游戲,這在五年前是不可想像的。
于是我意識(shí)到,Ubuntu Tweak 也已經(jīng)實(shí)際上達(dá)到我心目中的樣子了,而且它也不像以前那么重要了。因?yàn)樵陂_發(fā) Ubuntu Tweak 這五年,Ubuntu 本身有了非常大的改進(jìn),以前總會(huì)折騰輸入法、折騰界面,但是現(xiàn)在 Ubuntu 默認(rèn)安裝好,都已經(jīng)非常好用了。
于是上個(gè)月,我宣布了不再為 Ubuntu Tweak 開發(fā)新功能,而只進(jìn)行維護(hù)和更新等工作。從2007年7月中旬開始開發(fā),到現(xiàn)在馬上就要滿五年了。這五年我還做了其他很多事情,但基本都是小小的事情,很多也都半途而廢了,只有這件事情堅(jiān)持了下來。也是這件事情帶給我最多的收獲。
接下去的五年,Ubuntu 會(huì)繼續(xù)越來越好,而 Ubuntu Tweak 會(huì)慢慢地淡出去。但是這五年我學(xué)到的東西,仍然繼續(xù)影響著我之后要做的事情。
花五年時(shí)間,認(rèn)真、專注、持續(xù)不斷地去做一款軟件,慢慢把它做好...
謝謝大家!