做个人软件开发是件很有意思的事情,但也会有很多艰辛。本文我想对我的个人开发经历做个回顾。
开始个人软件开发
我从2018年起就一直专注于计算机辅助翻译软件的开发,从开源免费的BasicCAT到收费的图片翻译软件ImageTrans。
这些软件都是为了方便我工作而开发的,我是软件的第一个用户,所以一开始的开发工作是比较明确和愉快的,就是为了满足我自己的需求。而完成一个个编程挑战,也是很有意思的一个过程。我可以写一天的程序。遇到想不明白的问题,就去公园散步,可能就豁然开朗了。
收费问题
因为我对开源的信仰,我的第一个软件BasicCAT选择使用GPL协议开源。而同类的商业计算机辅助翻译软件,比如Trados,售价都在数千。我觉得这些商业软件又贵又不好用,我想用开源软件来挑战一下它们。
但对于个人开发者来说,开源存在若干问题:
- 用户提需求,开发者无偿进行劳动,开发动力不足。
- 冷门领域,很难吸引到其它开发者共同维护代码。
- 作为包罗万象的桌面软件,而不是类库,代码很难被其它项目使用。
于是我第二个主要软件ImageTrans,选择了收费模式。
软件销售主要有订阅制和买断制这两种。我选择了买断制,有下面这些原因:
- ImageTrans是桌面软件,我不提供什么云服务
- 图片翻译这个场景,用户使用频率一般不高
- 买断制比较简单,维护后台也比较方便
作为个人开发者,不成立公司,收款也是个问题。我选择了第四方的收款平台FastSpring和面包多,一个用于国际用户,一个用于国内用户。
这两个平台都有服务费,FastSpring是成交金额*5.9%+0.95美元,而面包多是成交金额的5.7%。
推广问题
软件开发完成后,还要进行推广。我做了下面这些工作:
- 建网站
- 写博客
- 录视频
- 到潜在用户活跃的论坛发帖
- 找翻译行业的老师同学帮忙宣传
刚开始的确取得了很好的宣传效果,吸引了很多用户联系。但后续的增长完全依赖自然流量,增长相对乏力。如果有用户帮忙宣传,销量会有较大提高,但波动较大。
与用户共同成长
我通过邮件、GitHub与用户沟通,用户会给我提各种需求和bug,在这个过程中,软件能得到不断的完善。毕竟我自己从做翻译变成了开发翻译工具,用户对需求的理解比我更加深刻。
而且我吸引了全世界不同国家的用户,他们使用着不同的语言,比如阿拉伯语是从右往左阅读的双向语言,我花了不少功夫让软件支持阿拉伯语。
为了吸收早期用户,我一开始提供了试用版。在软件成熟之后,因为维护用户的成本比较大,我便取消了试用版。
什么都要做的挑战
因为只有我一个人,什么工作都需要我自己完成,从需求整理、界面设计、软件开发、文档编写、网站建设到售前售后的客服工作,有时候会觉得分身乏术,啥都做不好。不像在公司,我只需要做好一份工作。
赚钱主要是一个利他的行为,还是需要受点苦的。
对于被动收入的忧虑
因为是买断制,收入依赖于新客户的转化,收入波动较大。所以个人开发只能作为副业进行。
而每当收入下滑,我便会思考怎么吸引更多用户,是不是用户都转去竞品了,该怎么加强软件。
其实这种忧虑是正常的,它能促使我去改进产品。但也不必太焦虑,毕竟只是副业,而且产品本身有着独一无二的特性,应该接受和竞品共存的局面。
即使没有新的用户了,它能用于满足我自己的工作需求,那也是有经济价值的。