文章大抵有些自己这几年作为自由人的一些想法,2017 的一些经验教训和大概的收入情况,可能也没有多少价值吧,有些所思,成文也未必合适,便又删去了一些,但尚算真诚,希望能对旁人有一点帮助或者启发。
这篇文章参与少数派 2017年度征文活动,感谢少数派一直以来的支持。

幡然醒悟的 2017

2017 年,上半年,完成了一个有些年头产品的重构,耗费的时间很长,等差不多结束的时候,有些幡然醒悟。
因为这个项目中 30% 左右的精力放在一种非常特殊的集群设计上,之所以去实现这种结构,归根结底,是一种执念。
这个执念来源于几年前做自由人最初时候的一个想象,未来的互联网由大量无中心的节点自由组合。现在固然在技术上实现了一个非常初级可用的结构,很酷,也很高兴,但实际上又如何呢?这个基础结构,对整体的产品而言,很重要,只是花了那么多时间,那么它的价值就大大打折扣了。

突然意识到不过是最初的执念作祟,和初心本就容易混淆,于是,感觉一下子很多东西都能放下了。
以前总想把产品做很大,现在反倒越来越想把产品做小。

一个桌面 App

null

接下来的一件事情,是重写了一个桌面的 App,MarkEditor
原来的技术框架采用 Qt 的跨平台,实际上在 Mac 上总有细节问题,想改也没有办法改。最后,想定就重写一遍吧。原本想几个月的时间,总能出一个在 Mac 上能跑的原型。
现实很残酷,零零总总的时间算起来,却接近一年还没有推出 Mac 上的正式版。
2017 年,上下两个半年里,两个产品的时间预期上,屡屡受挫。痛定思痛,一直在反省自己,因为这不单纯是常规的程序员对工期预估偏乐观的问题。

开始因为跨平台框架的帮助,相对比较快速地实现产品,但是,这本身就欠下了很多技术债。好像站在巨人的肩膀上,但慢慢发现,它还是蛮笨拙的,虽然别人眼中,你仍然站在巨人的肩膀上,甚至会建议换一个巨人(技术框架)试试。
但是,自己却非常清楚,如果想走得更远,必须要下来了,不仅仅如此,还要自己创造出一个巨人来,当然这不意味这再去做跨平台的事情。因为,一个平台上,要做好,已经疲于奔命了。

下面的图表基本解释了在写 MarkEditor for Mac 2.0 时候自己的心态随着代码提交次数,产生的变化。

null

这不是 Bug,这是 Feature

那些看不见的,才是更重要的。
那些以为是原教义的,其实是局限了视角的。

如果在使用 Markdown,应该会很清楚,中文输入有时很尴尬,比如 ()<> 这些常用的标记符号,实际上对应中文的标点符号,得反复切换 Shift 键。我曾经看到有人提出这样的问题,结果被反呛了,大抵是: 连这样的输入习惯都不能接受,还是别用 Markdown 了……

在原来 MarkEditor 1.0 的时候,有特别的功能对应,即使在中文输入法的时候,这些关键字符,仍然会以英文状态输出。但这也有问题,就是有时要输入中文的符号,就是输入不了。所以,在 2.0 的时候,特别针对这个功能进行强化,比如 左Shift 按下的时候只能英文状态,而 右 Shift 按下的时候,则中文标点,这样就两全其美了。
因为考虑 MarkEditor 基本上都是国人用户,所以,这个 Feature 默认处于开启的状态,结果内测的时候,好几个朋友反馈有不能输入中文标点符号的 Bug,我说这是 Feature ……
最后,默认把这个功能关闭了,使用者需要的另行开启。

还有比如是否可以让 Markdown 支持首行缩进,这个在不少人眼中是违背了原旨主义的。倒不是想讨论这个,而是有另外一个有趣的例子。
比如下面这一段文本,在 Markdown 解析的结果之后,一个是 P 标签,一个是 UL 标签,从 HTML 结构来说,两者是没有关联的,但实际从我们阅读视觉来看,两者是有关联的。在实际的各种应用场景,原旨主义是没有太大实用价值的。

比如我们会举这样的:  
- 这是条目 1
- 这是条目 2

如果你不遵循多数因为限制本身而产生的规则,就意味着要在很多看不见的地方花时间,收益却未必很明显,因为最终使用者的感觉是非常隐约,就是说不上来,觉得你这样处理好像更合理一些。
但这些细节积累起来,还是蛮有趣的。我也乐于如此,算是做产品本身的小乐趣。

放下了

2017 年其实种种事情,忙忙碌碌,反反复复,就这几年自由产品人不算顺利也不算糟糕,但还是会充斥着焦虑的时光里,反倒过了 2017 年之后,能放下了很多。
做产品呢,不过是大量的反思堆积起来的细节以还算不糟糕的方式重新组合,急不来,也只能慢慢来,要有价值,不求快,技术不欠债,可以想远一点,但要做就只所力所能及的。

以前出门的时候,基本上都会背着电脑,毕竟能随时能处于工作的状态。
却不曾想,其实给身边的人带来了不少的压力。
前几天,和夫人一起带着儿子去画画的时候,间隙间我们在星巴克呆着,她默默然道: 看你没有背电脑出来,我也轻松了很多……

2017的收入情况

基本情况

null

因为独立开发的原因,有些额外产生的成本,折合到月度,大概如下:

  • 服务器等固定成本 2000
  • 社保、财务、税费等维持公司基本状态的固定成本 1000
  • 外出找个地方呆着,比如咖啡馆,大约 500

合计毛收入: 193431, 合计额外成本支出 42000,一年大概的实际收入是 151431。由于 2017 年大部分时间耗费在两个并没有实际收入产出的产品上,一定程度上,可以认为 2017 年的收入基本上是被动收入。

freedom is not free

我们无比热爱生活,却因为生活而无法热爱生活。

自己作为自由的产品设计师而言,收入远远比不上非自由(就职)状态下的,或者换一种其它更轻松的方式,也是容易的。
只是非常清楚不喜欢做一些事情时候的感觉,就能坚持下去。可是多数时候吧,应该会有很多人在这种略微的厌恶感中被自己麻木了吧,甚至后来慢慢变得更强大了,更想着逃出来,最终却因为生活而没了出逃的勇气。
所以,还是蛮庆幸自己对 不欢喜 本身的敏感。

产品人,应该尽自己的努力保持独立、自由。开始可能会比较辛苦,好坏不论,仁智各见,自得始终。
freedom is not free,现在为自由付出了一些代价,而一个不自由的人,一旦享受到了自由的状态,是回不了头的。
如果让一个程序员成为独立开发者,可能遇到了困难就回头了,反正找工作不难嘛;但是,如果让一个产品经理,成为独立产品人,这可真的很难回头,就像鸟儿回到了天空,鱼儿归入了大海。

其实,现在的自己是和世界处于一种微妙的和解状态,没有了最开始一种莫名的一往无前,这样的平和让人容易平静。即使现在一转身,就回归到“体制”(这个词好奇特)内,不违心的说,似乎也能接受。真是非常奇特的一种状态。

想独立?迈开第一步就好了。

很多人对独立开发者、独立产品人保持兴趣,而常常的问题会聚集在:

  • 我怎么才能成为一个独立开发者?
  • 我要做一个什么样的产品?
  • 我做的产品怎么才能卖到钱?

很长一段时间内,我觉得这些问题本身很没有价值。深究起来,可能是提问的人自己的问题,是不是能力不够、是不是自信不够、是不是不能构建有价值的产品,所以提供任何答案都将是没有价值的。
今年有所思,是自己苛求了,提问者不过是在追求自由罢了。除去运气特别好,多数时候追求自由都是要付出巨大代价的,追寻不得,只要人的理想没有熄灭掉,暂且蛰伏,仍然还是会去追求的,犹如飞蛾逐光。
所以,对于这些问题,其实不用去深究的,想明白了这过程反正是要付出代价的,先迈出第一步就可以了。

自认为对产品、技术从有足够的自信,但又如何?还不是犯了很多错误。
以及销售、营销,简直是短板中的短板。似乎也没有关系,慢慢朋友就会帮衬了起步,自己再反省逐渐进步。
所以,我认为,想明白做独立开发者,可能要付出不小的代价,能够接受的,其它的,走出第一步就可以了。

一些可能没有价值的经验

所谓的经验,其实不一定那么有用。就是自己从坑里爬出来的时候,带的一身泥。自己觉得珍贵,但对别人来说,不定只是泥土而已。
我们设想呀,假设让 A 去做一件事情,他后来总结了这种那种的经验;如果让 B 去做同样的事情,他后来也总结了这种那种的经验。如果,两者的经验之中,有大量重合,其实,很可能是让任何一个人去做这件事,本身就会习得的,而并不需要前人的经验。

务虚的些许条目

  • 一个产品如果不是自己每天用的,最好不要去做
  • 不要试图改变世界,因为它会让你的结构设计从开始的时候就陷入了麻烦
  • 产品的逻辑是非常简单的,就是更好的、效率更高的,或者从未存在的
  • 如果跨平台不是那么那么那么重要,不要尝试使用跨平台的技术方案
  • 做产品之前先考虑产品的未来周期,没有信心让它活 3 年以上,不要去做
  • 用心做事,自然会有朋友帮助你的,但他们不会是产品最合适的天使用户
  • 不要做免费的产品,如果这件事情要花掉你超过 7 天的时间
  • 提高用户质量,不要抱怨用户,不要冒犯用户,也不要尝试教育用户,而是为产品找到更合适的用户
  • 没有所谓的捷径,产品的优势就是时间的堆积
  • 有些问题,是技术的问题,但又是技术无法解决的,不如放弃吧
  • 促销要慎重,折扣别随意,会影响老用户的心情,也会影响产品本身的价值
  • 不管怎么做,都会有人出来批评甚至斥责,无愧即可
  • 无态设计固然蛮有意思,但是要存个数据库就存一个,笨拙也是一种聪明
  • 想法是没有价值的,很多想法就有价值了
  • 一个东西如果别人很容易就抄了,还是别做了

定价策略

因为自己本不擅商业,产品的定价策略一直处于摸索的阶段。经过 2017 年后,应该未来的产品定价策略应该比较明晰了,大抵分类三种类型。
第一个是低需求版本,使用者本来对产品没有很强烈的诉求,但会用,同时也可能考虑经济要素,这个版本的价格是最低的,而且如果考量实际投入,如果只有这一个版本,产品是无法实现收支平衡的。
第二个是常规需求版本,使用者在这个版本中,基本上可以使用到产品完整的功能。如果考量到实际投入,这个版本可以基本实现收支平衡,并能基本保证未来产品持续的维护动力。
第三个是高需求版本,重度使用者,或者某些特别的功能,可以为使用者提供接近唯一的选择、或者大幅提高效率、体验,而对多数用户来说,没有这些功能,并不会觉得产品有所缺失;而对这部分高阶用户来说,缺乏了就意味着要消耗更多时间在其它不必要的方面。这个版本可以实现一定的价值溢出,在恰当的范围,使用者和开发者会达成一种共识。因为使用者此时对价格敏感度并不高,对于效率、时间的敏感度反而是更高的。

在 2018 年的时候,我可能会尝试另外一个版本,即免费的 Lite 版,保留产品的核心功能,但不做收费处理,看能否会促进其它收费版本的收入。
还是因为不擅商业,所以磨合了这一条收费的道路。如果读这篇文章的你,也在为这件事而烦恼,希望能给你带去些许的启发。但实际操作中,请务必保持对衣食父母的尊重,别当他们是傻瓜。就像这几年开始风行并且继续风行的订阅制,有些人处理得很好,而有些人处理得让人不悦,越是喜欢你的人,就越去欺负对方,这样的行事方式固然是有收益的,但总是不恰当吧。

关于 2018

关于 2018 其实没有什么具体的计划。
除了维持现有的两个产品之外,如果顺利的话,新的一年里可能会有一款新产品出来。
也可能会重新思考,在 Web 端上的产品,如何保持更小更恰当的规模设计。

我并擅长处理人与人之间的琐事,经过几年的锻炼,一些莫名的恶意,可以视而不见了。
但终究希望自己产品的最终使用者,应该是有趣的人,以后应该会更坚持吧。

希望自己的 2018 年是自由的。
也同样,希望有更多的人,获得自己想要的自由。:)