因为一些难以描述的原因,我的第一款独立APP是一个时间管理工具 —— 不同于其他的 TODO List App, 他是一款专门为程序员定制的时间管理软件。
我固执的认为,只有当你对你想要做的东西非常了解,你才能做好他。比如你想独立做一个有趣的RPG(比如一个龙与地下城?),你得至少七七八八的投入时间,玩过所有的地下城的经典版本。
一个木匠,仅仅是做张椅子——如果你是对木工有追求而不是混口饭的木匠,除了要对木质、结构了解,你还要去了解订做这张椅子的人,他需要怎么的座位,有没有特殊的需求?这样的人坐的椅子,上面要雕什么样的花?
在《黑客与画家》里面说,程序员是世界上仅存不多的手工艺人了,程序员跟木匠是一样的,只不过时代的大潮,互联网的发展,让这样的手工艺能方便的被复制和使用,程序员才变得有意义起来。
所以我对周遭遇到的人并没有深入了解,我不知道他们想要或者需要什么,而我知道什么样的时间管理软件,应该是我——或者是像我这样的程序员所需要的。
当然,并不是所有的程序员都去做时间管理了——我是去年这个时候,因为陷入一种“我今天好像什么都没干”的痛苦中,开始接触时间管理,包括番茄土豆之类的工具。真有趣,当我写到这里,我发现我正好完成了 1600 个番茄。
虽然算不上太多,但是对时间管理,也算是有自己的认识了(这个以后再谈)。
所以我觉得,我对写代码这事还算了解,时间管理这事也算凑合,那么我来做一个我真正想要的时间管理软件吧 :P
我觉得,一款软件,应该是有着独特的个性和品位的,就像真的一件艺术品,你看着就能猜到出自谁的手——他应该包含着开发这个软件的开发者的姿态。
比如 Python 里面的 requests 第三方库,虽然有那么多贡献者,但是在 v0.1.0版本的时候,就被贴上了世界上最好用网络库的标签。
现在公司的产品的自由意志一般有负责该产品的产品总监决定——也就是说,这个产品总监是个什么样的人,这个产品大部分也是个什么味道。
但是事实不是这样,公司的产品常常柔和着老板的拍脑袋、产品的跳脱、技术的坚持、设计的抄抄抄(借鉴借鉴借鉴)等各种味道,所以公司的产品一般是没有灵魂的。
那么问题来了,什么才是一款有灵魂的——或者说,来自于我的思考的,适合程序员的时间管理软件?
1. 深度定制
比如包含大部分程序员的专有名词,既然要做,不妨彻底点;
2. 不中立
它应该不仅仅限于让你可以记录时间,而且应该最大程度上去鼓励、刺激你去积累和记录,是的,这不是一款中立的时间管理软件;
3. 克制
他应该是克制的,最近身为一个程序员,去学设计,发现其实两者还是有很多相通的点的,真正好的设计,应该是克制的,好的程序也应该是;如果不是必须有,那就丢掉。
最后问下各种有趣的程序员朋友,如果它的界面是下面这个样子,你会不会有兴趣试一下?