five years of ubuntu tweak
DESCRIPTION
TRANSCRIPT
关于我
• 周鼎( 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