总结一下二十多年开发的一些经验,不知道大家用不用得上。
首先,做软件尽量做自己能用得上的软件。别为了别人去开发软件,只有自己也是用户,让每一次改进都能让自己更方便,每次改进都能获得一些成就感,才能把软件坚持下去。像白天梦大佬的《eDiary》 相信就是这样,他自己每天也在写日记,才会把一个软件更新快三十年下来。即使是想挣钱的软件,也最好是这样。只有自己每天都使用的软件,才会有动力让它活着。只要软件存活越久,它的用户就会积累得越多。
其次,刚开始别想得太多,先实现最核心的需求,保证这个功能是稳定、正确、高效的,再慢慢地改进。不管是个人软件还是商用软件都是这样,优先解决最痛的痛点。围绕着这个痛点慢慢地加周边功能。别一上来就抓不住重点,做不好核心功能,那其它功能做得再牛逼也没啥用。
最后呢,如果一个功能感觉好像不加也可以,或者有第三方软件可以实现。那最好就别加了。很多小众软件的网友们应该有这么一种体验,就是如果一款软件看起来很复杂,那我就不想用了。实践证明,功能简单的软件反而能活越久。everything, syncthing, ifranview 这些功能莫不如此。倘若 irfanview 还加上一堆编辑功能,说不定现在就死了。在它们的领域,这些传奇软件就是唯一的王者。但如果做一些不相关的功能,就会有各种问题出现,变成有问题的软件。那用户想要很多功能怎么办?最好是提供 API,比如 vim 那样,反正有编程接口,把非核心的功能提供给第三方插件(其实经常是作者自己写的),这样主体软件就永远都保持简洁了。
不知道大家同不同意我的想法?