说明:本文作者 kevin ,爱壁纸 HD Linux 版本的作者。近期应笨兔兔,特此写作此文,以为探究之用。
原文地址:http://imkevin.me/blog/archives/22311,笨兔兔博客所转载文章对部分有改动。
启
2011年6月我参加了高考,2011年11月份,在Linuxtoy上看到了Ubuntu 11.10 发布聚会,突然发现原来我也终于可以出去溜达了,于是,我准备去北京参加Ubuntu 11.10的 Release party,当然更重要的是以此为借口去见 @tualatrix 师傅。(此间情谊,一言难尽,故事大概是2006年的那个冬天。。)
在过去的几年里我一直在打酱油,没事就是用GIMP设计个什么,用Blender做个动画,程序除了高二的时候用C参加了一次机器人比赛。我捉摸着这么菜去参加太不靠谱了,于是那晚通宵到4点用PyGobject写了个GUI的切换壁纸的软件,http://forum.ubuntu.org.cn/viewtopic.php?f=33&t=355227 并发布到了Ubuntu论坛上,在此之前我在上面一直是核潜艇,而这个小程序开启了我深埋多年的GUI程序的情节。当然这个程序是很简陋的,甚至都没有用xml的包来生成xml文件,用了一些变量来控制哪些标签,这也是为什么写到了凌晨4点。
去北京之后,是第一次见到了高手,心中的熊熊斗志燃烧了起来,回去之后,立刻开始学Python,Django,HTML,CSS,并耍了新浪的SAE。最大的收获就是我终于会看文档了。
到了次年的3月份,师傅突然问我,有没有兴趣做一个GTK软件,随后又酷酷的补充了一句,主要是学点东西,我按捺着心中的兴奋,淡淡的说,好啊。
随后他让一个gxx@gmail.com的人加了我,说实话,第一次看到那丫头像几乎是马赛克组成的时候,我心中深深的无语了,我开始联想这个人是不是从来不洗脸,这个人是不是衣服穿一个星期,这个人是不是不会上网。直到后来我谷歌了下“高XX”,我才明白,之所以头像是马赛克的,是因为高前辈是web1.0的情节还没结束 ^^。
于是,没有谈价格,没有谈很多东西,我照着WP7上的爱壁纸HD Linux客户端和一份PDF API文档开始做了起来。开发最开始用的是VIM,后来我投靠了sublime text 2,这主要是因为在同期我开始平行开发一个Rails的网站,语言选择的是Vala,原因是我之前就立志想要参与Elementary OS 的开发,他们用的都是Vala,而Vala作为一个GNOME官方的语言,靠谱系数很高。
呈
随后的一个星期是开发一个Demo,早上5点起床,开发到8点,然后晚上6点到12点,3月份的最后一个星期就是这样度过的,也做出了一个基本功能全实现了的demo,当时确实是以为已经很OK了,看来没有什么难的,但直到这个demo通过了,PM开始提更多细节要求的时候,我才发现有诸多问题,其中也包括iconview的错误使用等等,于是在4月份的时候,我决定用webkit和HTML CSS JS来做应用的架构,这也得到了师傅的支持,他说一开始就用该用这个。我也以为是很聪明的做法,但是后面遇到了比之前多的多的技术细节。诸如本地的ajax,等等等等。。
转
随后的日子里,各种开发上的问题基本都是以天为单位去解决,期间 @shellex @csslayer 都耐心的解答了我很多问题,壳壳是你问了半天之后,一句话解答了你的疑惑,csslayer则是粘你旁边近乎是监工了。而我可爱的女朋友 sherry 也是默默的支持着我,这个月全身心的投入到了开发之中,学到了很多很多东西,而这个开发过程也是充满乐趣的。
和PM的一来一往,从一开始因为我坚持Linux下的习惯使得意见上有些针锋相对,到后来慢慢达成了默契。产品也逐步进入了稳定阶段。
折
2012年5月底,爱壁纸HD Linux的1.0开发完成。和老高达成了协议,核心部分闭源,别的都开源,我提供以后的无偿维护。现在源码像龙珠一样在世界的某个角落里,等你去发现。
而我深深知道我一个人的力量是不行的,所以我找到了和我失散多年的相识于百度空间时代,寻回于北京之行的好友AVASTMS来负责RPM的包。他是一边说,我今天没空,一边10分钟之后就把包给你打好发过来的不靠谱青年。
后记
在爱壁纸的开发过程中,我平行开发着一些网站,前端后台,WP7的手机应用,而这些东西最后共通的地方越来越多,很多其他部分的成果又凝聚到了爱壁纸之中。终于爆发了我编程的小宇宙。我想这才是创作的乐趣。很开心可以和老高合作,此人甚好,我最欣赏的是每天在群里和用户扯个没玩。
很开心有壳壳,csslayer 师傅 ivenvd AVASTMS 这些好朋友(都是06年时候认识的了)他们在前面拉了我好几把,好几把,好几陀。。
笨兔兔最近对我进行了采访,并询问我是否可以将该软件诞生过程记录下。笨兔兔也想从这款软件的诞生过程中探究下是否该模式对 Linux 桌面商业软件的发展有怎样的借鉴意义。我也正很希望记述一下这个软件的诞生,就放荡笔端开始回忆了,如果要总结一下的话
那就是——
希望大家心中充满爱与悲伤。
[兔兔分析]
该款软件作为商业软件,采用外包模式,将开发转到了有编程基础和兴趣的 Linux 爱好者身上。此时,企业只需要支付一定的劳动费用,就可以达到“多版本、跨平台”的产品目标。面对当今 Linux 桌面发展风生水起之时,各个商业软件公司应顺势而为,抢滩 Linux 桌面市场,而不是一味持“无所谓”,“Linux 桌面是个小众市场”、“Linux 桌面下无钱可赚”的旧观点、旧思维。事在人为,钱在前方!莫等待!
此软件对其他商业公司也有借鉴意义,凡事并不是全靠内部发力,也不必非得雇佣到有 Linux 环境下编程经验的员工才开始动作。虽然有的已有 Linux 版本的软件,但发布后维护不力,不如不发布以彻底断绝 Linux 桌面用户的希望,烂尾工程反倒引来诸多骂声,致使公司毁誉,望三思。