SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Ubuntu Tweak 五年之历程
      周鼎( tualatrix )
       http://imtx.me
         2012-7-1
关于我

• 周鼎( tualatrix ),就职于 Canonical
• 接触 Ubuntu 近六年,开发 Ubuntu Tweak 五年
• 爱好 coding & hacking
关于 Ubuntu
关于 Ubuntu Tweak

• 一个桌面设置、方便安装应用程序的自由软件
• 开发始于 2007 年 7 月: 0.1.2 ~ 0.7.2 ( 50 余个版本)
• 约 18,000 +行代码
• 单版本 500,000 +次下载
• 十几国语言完整支持
• 由众多贡献者完成
为什么开发 Ubuntu Tweak ?
为了「不折腾」……
开源世界编程初体验

• 仅有的 C 和 Java 基础
• 在文档不齐全中打滚
• 从阅读源码中着手 - 「 apt-get source foobar 」
所有的代码,从一个按钮开始……
人肉版本控制
内部开发阶段
「利用好开源世界的特性,多读源码
 这个文档」
正式对外公布:「 Ubuntu 优化大师」
争议太大:重归 Ubuntu Tweak

• 入驻 Google Code :开始用 SVN
• GIMP 的 Logo
• 台湾网友制作的 Ubuntu 3D Logo
纠结的项目名字确定过程

• Ubuntu Tweak → Ubuntu 优化大师( Ubuntu
   Optimizer ) → Ubuntu Tweak
2007 年 9 月 9 日:首个 0.1.2 版本
在「 Linux 桌面中文网」上宣传
0.1.2 版本的影响

• 网友帮助打包 64 位版本
• 台湾网友翻译繁体中文
• 受邀去 LUPA 技术沙龙介绍 Ubuntu Tweak
「主动进行宣传,愿意参与的人可能
   比你想像中的还要多」
「专注 coding 之外,也要混一下社
           区。」
0.1.2 版本后的动作

• 建立了 ubuntu-tweak.com 国际英文站
• 开始疯狂的逃课生涯…
• 快速地迭代:半个月后就发 0.1.4 版本(让用户看到你的热
  情)
• 抛弃 Quick and Dirty ,学习设计模式( MVC )
Ubuntu Tweak 0.2.0 ( 07 年 11 月): UI
的大变动

• 新 UI (虽然很丑)
• 新的 Logo
• 延续图文并茂的详细发布文章
「写详细的发布通告,至少让自己知
  道这个版本做了什么变动」
入驻 Launchpad 接受 Bug 报告
第一个 Bug : Logo is too big
0.2 版本后的动作

• 学习 Python ,用 Python 重写
• 开始留意用户界面设计
用 Python 重写 Ubuntu Tweak
07 年 12 月 Ubuntu Tweak 0.2.4 :内部的变
化

• C → Python
• 统一安装包(不再分 32 和 64 )
• Compiz 调整
• 德语、波兰语
「学以致用,边学边用」
0.2.4 版本后的动作

• 建立软件源
• 建立在线翻译平台
增加 PPA 软件源

• 更快的分发软件
开启 Launchpad 在线翻译中心

• 多国语言开始猛进
「关注开发以外的事物,优化分发流
       程。」
2008 年 1 月

• Linux.com 报道了 Ubuntu Tweak
• 登上 del.icio.us 头版
半年时间: 11 个版本 0.1~0.2

• 2008-03-12 Ubuntu Tweak 0.2.10
• 2008-03-06 Ubuntu Tweak 0.2.8
• 2008-02-26 Ubuntu Tweak 0.2.7
• 2008-02-04 Ubuntu Tweak 0.2.6
• 2008-01- 22 Ubuntu Tweak 0.2.5
• 2007-12-15 Ubuntu Tweak 0.2.4
• 2007-12-12 Ubuntu Tweak 0.2.4 Beta1
• 2007-11-20 Ubuntu Tweak 0.2.1
• 2007-11-10 Ubuntu Tweak 0.2.0
• 2007-09-23 Ubuntu Tweak 0.1.4
• 2007-09-09 Ubuntu Tweak 0.1.2
「 Release Soon, Release Often 」
2008 年 4 月: Ubuntu Tweak 0.3

• 打磨 UI :缩小 Banner
• 自动提示更新
• 更多功能
2008 年 4 月:登上程序员
2008 年 7 月: Ubuntu Tweak 0.3.4

• 方便用户使用新酷软件
2008 年 10 月: Ubuntu Tweak 0.4.0

• 彻底移除 Banner
• 紧凑的新界面
• 增加软件包清理
中途夭折的 Fedora 版: Ubuntu Tweak 0.4.3
「先专注做好一个平台」
2009 年,开始实习 + 工作后的动作

• 严格的项目管理
• 使用 Git 取代 SVN ,多 branch 开发
「实施软件工程+应用 Git 技术,进
  一步优化软件开发流程。」
2009 年 2 月: Ubuntu Tweak 0.4.5

• 除错机制,更好的收集并解决 Bug
2010 年 1 月: Ubuntu Tweak 0.5.0

• 与网络的结合
• 与系统的整合
UTCOM 网站的同步上线

• 网络端的数据中心
• 团队的作品
2010 年 4 月:「 Best System Cleaner 」
2010 年 8 月 /10 月:日本 Linux 杂志报道
Ubuntu Tweak 0.5 后的动作

• 功能越来越多怎么办?——设计新的界面
2009 年 11 月 Ubuntu Tweak 0.6 草图出炉
( Kevin Chou )
2010 年中的交互细节图( Jeonkwan
Chan )
2011 年 12 月: Ubuntu Tweak 0.6 正式版
Ubuntu Tweak 0.6.0 开发始未

• 经历了工作变动、城市变动……
• 砍掉了部分功能
• 第一次从设计角度,将草稿变成现实
「尝试由设计驱动开发」
2012 的 4 月: Ubuntu Tweak 0.7.0

• 全功能回归 +UI 最终打磨版
「回头看看 Ubuntu ?」
Ubuntu 的巨大进化
Ubuntu Tweak 0.7 后的动作

• 软件构想已基本完工
• Ubuntu 本身也基本不需要太多「 Tweak 」
• 适时宣布 Ubuntu Tweak 停止功能性开发,进入维护阶段…
  …
Ubuntu Tweak 的进化(一)

• 语言的进化:从 C 语言转到 Python
• SCM 的进化:人肉 → Subversion → Git
• UI 的进化:
Ubuntu Tweak 的进化(二)

• 多国语言翻译:人工翻译 → 在线平台自动翻译
• 分发模式:单独下载 → 软件源统一更新
• 开发模式:个人 → 社区参与 → 团队协作
• 驱动模式:功能驱动 → 设计驱动
经验分享( 1 )

• 走国际化路线
• 勤写发布文章
• 不断改善易用性、用户介面
• Release soon, Release often
• 耐心地回复用户汇报的问题(即使解决不了)
经验分享( 2 )

• 名字的重要性
• 专注在一个平台
• 不断尝试用新技术提升生产力
• 用什么,学什么;学什么,用什么
• 学习阅读他人的源码
相关引用

• 官方网站: http://ubuntu-tweak.com
• 项目主页: https://launchpad.net/ubuntu-tweak
• 中文主页: http://www.ibentu.org/tag/ubuntu-tweak
花五年时间,认真、专注、持续不断
 地去做一款软件,慢慢把它做好…
Q&A

Contenu connexe

En vedette

Preparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyPreparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyArc Machines, Inc.
 
Haier America_ Magazine Piece Apr 22 2015
Haier America_ Magazine Piece Apr 22 2015Haier America_ Magazine Piece Apr 22 2015
Haier America_ Magazine Piece Apr 22 2015Jay Reynolds
 
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01Danis Vanandi
 
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.com
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.comUnisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.com
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.comĐỗ Bá Tùng
 
Slide kun krapao
Slide kun krapaoSlide kun krapao
Slide kun krapaorutthakate
 
Ch. 19 1st amend freedoms
Ch. 19 1st amend freedoms Ch. 19 1st amend freedoms
Ch. 19 1st amend freedoms krich28
 
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008sriutami143
 
How to effectively cultivate change
How to effectively cultivate changeHow to effectively cultivate change
How to effectively cultivate changeNina Segura
 
Recovering high dynamic range radiance maps from photographs
Recovering high dynamic range radiance maps from photographsRecovering high dynamic range radiance maps from photographs
Recovering high dynamic range radiance maps from photographsPrashanth Kannan
 
Umanian life insurance company
Umanian life insurance companyUmanian life insurance company
Umanian life insurance companyCely Solo
 
GIRL'S DENIM PANT (DGL)
GIRL'S DENIM PANT (DGL)GIRL'S DENIM PANT (DGL)
GIRL'S DENIM PANT (DGL)DGL BD. LTD
 
AO-Fall-2015-LoRes
AO-Fall-2015-LoResAO-Fall-2015-LoRes
AO-Fall-2015-LoResLarry Eder
 
black history month script edit
black history month script editblack history month script edit
black history month script editjovanna romero
 
W - Recession & Depression in 28 different languages
W - Recession & Depression in 28 different languagesW - Recession & Depression in 28 different languages
W - Recession & Depression in 28 different languagesPatrick Pawlowski
 
YJBM TVP activity closing,3(11-Aug)
YJBM TVP activity closing,3(11-Aug)YJBM TVP activity closing,3(11-Aug)
YJBM TVP activity closing,3(11-Aug)Shannon Fisher
 

En vedette (18)

Preparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyPreparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, Germany
 
Haier America_ Magazine Piece Apr 22 2015
Haier America_ Magazine Piece Apr 22 2015Haier America_ Magazine Piece Apr 22 2015
Haier America_ Magazine Piece Apr 22 2015
 
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01
Daftarregularverbdanirregularverbartibahasaindonesia 140210161049-phpapp01
 
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.com
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.comUnisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.com
Unisilkon tk-44-n2-rec-a Mr Tùng - 0987 988 407 | www.khodaumo.com
 
Slide kun krapao
Slide kun krapaoSlide kun krapao
Slide kun krapao
 
Ch. 19 1st amend freedoms
Ch. 19 1st amend freedoms Ch. 19 1st amend freedoms
Ch. 19 1st amend freedoms
 
Weqweqwe
WeqweqweWeqweqwe
Weqweqwe
 
Varvara Ganea: • Extinderea volumului informaţional al catalogului electronic...
Varvara Ganea: •	Extinderea volumului informaţional al catalogului electronic...Varvara Ganea: •	Extinderea volumului informaţional al catalogului electronic...
Varvara Ganea: • Extinderea volumului informaţional al catalogului electronic...
 
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008
Developing english competencies_kelas_10_ahmad_doddy_ahmat_sugeng_effendi_2008
 
How to effectively cultivate change
How to effectively cultivate changeHow to effectively cultivate change
How to effectively cultivate change
 
Kerala Land Assignment Act
Kerala Land Assignment ActKerala Land Assignment Act
Kerala Land Assignment Act
 
Recovering high dynamic range radiance maps from photographs
Recovering high dynamic range radiance maps from photographsRecovering high dynamic range radiance maps from photographs
Recovering high dynamic range radiance maps from photographs
 
Umanian life insurance company
Umanian life insurance companyUmanian life insurance company
Umanian life insurance company
 
GIRL'S DENIM PANT (DGL)
GIRL'S DENIM PANT (DGL)GIRL'S DENIM PANT (DGL)
GIRL'S DENIM PANT (DGL)
 
AO-Fall-2015-LoRes
AO-Fall-2015-LoResAO-Fall-2015-LoRes
AO-Fall-2015-LoRes
 
black history month script edit
black history month script editblack history month script edit
black history month script edit
 
W - Recession & Depression in 28 different languages
W - Recession & Depression in 28 different languagesW - Recession & Depression in 28 different languages
W - Recession & Depression in 28 different languages
 
YJBM TVP activity closing,3(11-Aug)
YJBM TVP activity closing,3(11-Aug)YJBM TVP activity closing,3(11-Aug)
YJBM TVP activity closing,3(11-Aug)
 

Similaire à Five years of Ubuntu Tweak

我的Ubuntu之旅
我的Ubuntu之旅我的Ubuntu之旅
我的Ubuntu之旅isnull
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIChu-Siang Lai
 
我的 Ubuntu 之旅
我的 Ubuntu 之旅我的 Ubuntu 之旅
我的 Ubuntu 之旅Terry Wang
 
Linux二十周年 -致辞
Linux二十周年 -致辞Linux二十周年 -致辞
Linux二十周年 -致辞Wensong Zhang
 
Intro to Git 投影片
Intro to Git 投影片Intro to Git 投影片
Intro to Git 投影片Tony Yeh
 
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件永立 連
 

Similaire à Five years of Ubuntu Tweak (7)

我的Ubuntu之旅
我的Ubuntu之旅我的Ubuntu之旅
我的Ubuntu之旅
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
 
我的 Ubuntu 之旅
我的 Ubuntu 之旅我的 Ubuntu 之旅
我的 Ubuntu 之旅
 
Linux二十周年 -致辞
Linux二十周年 -致辞Linux二十周年 -致辞
Linux二十周年 -致辞
 
Intro to Git 投影片
Intro to Git 投影片Intro to Git 投影片
Intro to Git 投影片
 
Git安裝
Git安裝Git安裝
Git安裝
 
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件
看似比較簡單的Linux推坑教學 FMiCa-tw.sh 說明文件
 

Five years of Ubuntu Tweak