TinyPilot:第 6 个月
一句话总结
我意外地创造了销售纪录。
亮点
目标评分
每个月初,我都会宣布自己想要完成的事情。下面是我针对这些目标的完成情况:
发布TinyPilot Pro的第一个版本
- 结果:发布了 TinyPilot Pro 的 beta 版本
- 评分:B
我原以为,发布 TinyPilot Pro 最难的部分会是为付费客户创建一个独立的分发渠道。Pro 的 v1 功能看起来很容易实现,但实际证明它们比我预想的要难。
要不是我在发布前几天意识到除了我自己之外根本没人测试过 beta 版,我本来就会发布 TinyPilot Pro 的正式版本。我联系了几位用户,问他们是否愿意提前使用,但当时正值假期,所以没取得多少进展。于是,我把它以“beta”版本发布,并提供五折优惠。
从两位拥有相关受众的博主或 YouTuber 那里获得 TinyPilot 评测
- 结果:两位 YouTuber 同意评测 TinyPilot,但他们还没有发布评测。
- 评分:D
TinyPilot Pro 打乱了我在这方面的计划。我之前一直在和一个对评测 TinyPilot 感兴趣的大型 YouTube 频道沟通。但随后他们发邮件问我:“嘿,你们网站上说即将发布的这个 TinyPilot Pro 是什么东西?”
他们不想录制一个一周后就会过时的评测。所以,他们现在计划等 TinyPilot Pro 支持我的路线图中的下一个功能——远程驱动器挂载(remote drive mounting)后再进行评测。
另一位 YouTuber 同意评测,但我把免费设备寄给他之后,他就再也没有跟进。希望他只是积压的工作太多了。
录制我的《登上 Hacker News 首页》课程七个部分中的五个
- 结果:录制了五个部分,并发布给预购客户
- 评分:A
我是在截止时间前勉强完成的:在除夕下午 5 点发出了最后一段视频,但总算完成了!现在,预购客户已经可以提前观看前五段视频。
统计数据
TinyPilot
| 指标 | 2020 年 11 月 | 2020 年 12 月 | 变化 |
|---|---|---|---|
| 独立访客 | 3,118 | 3,486 | +368(+12%) |
| 总页面浏览量 | 9,021 | 5,785 | -3,236(-36%) |
| 销售收入 | $12,313.25 | $15,358.31 | +$3,045.06(+25%) |
| 捐款 | $0.00 | $9.00 | +$9.00(+inf%) |
| 总收入 | $12,313.25 | $15,367.05 | +$3,053.80(+25%) |
TinyPilot 又度过了一个表现强劲的月份,收入增长了 25%。想想还真不可思议:我对 2020 年的目标是全年收入达到 2 万美元,而现在我几乎每个月都能赚到这么多。
尽管业务在增长,我仍然觉得自己在 TinyPilot 上手忙脚乱。除了没能成功争取 YouTuber 评测之外,我 12 月没有做任何营销。由于可投入的时间和精力太少,开发工作也放慢了。我决定,目前的收入已经足够让我聘请一名兼职开发者,而且我已经开始寻找人选。
登上 Hacker News 首页
| 指标 | 2020 年 12 月 |
|---|---|
| 总页面浏览量 | 2,243 |
| 订单数 | 30 |
| 总收入 | $1,181.40 |
12 月是我开始销售博客课程 《登上 Hacker News 首页》预购名额的第一个月。
开售第一天我有点慌,因为我只卖出了两份预购名额,总共才 160 美元。这可不是个好兆头。幸运的是,之后一直有一小股稳定的客户流,我 12 月的销售额最终突破了 1000 美元。
我发现,接触新客户的最佳方式之一,就是在 Twitter 上分享幕后进展,但我最近忙得不可开交,很难抽出时间发布更新。
我意外地创造了销售纪录
TinyPilot 刚开始的几个月里,我一直难以跟上库存补充,经常不得不把所有产品都标记为缺货预订,从而放弃销售机会。幸运的是,我已经连续两个月避免进入缺货预订状态,但这个记录在 12 月终止了。
一批 HDMI 采集芯片延迟了,而我需要用它们来制造更多Voyager,也就是 TinyPilot 的高端型号。

为了制造更多TinyPilot Voyager,我需要一批在从中国运来的途中卡住的 HDMI 采集芯片。
那天是星期一,而芯片本应在当周六到达。我手头还剩六台 Voyager。通常我每天或每两天卖出一台,所以我以为应该能撑过去。结果当天就有两位客户下单了。
我只剩四台了。好吧,或许还是能撑住……
星期二,又有两位客户购买了 Voyager。我从没因为自己的高利润产品卖出去而如此沮丧过。
库存只剩两台 Voyager 后,我试图放缓销售。我把 Voyager 的价格从 249 美元提高到 299 美元。两小时后,我收到一位客户的邮件,说他想买七台!
我向他说明了库存情况,他表示没问题:先立即发两台,剩下五台等几天再发。幸运的是,芯片在下一周到达了,客户按时收到了全部七台。所以,这位客户单笔就带来了 2,093 美元的销售额,使我当天的总销售额达到 TinyPilot 有史以来的最高纪录:3,298 美元。

把 Voyager 的价格提高 50 美元后,我在一天内创下了 3,298 美元的销售纪录。
通过诚信制度(honor system)执行软件许可证
几个月来,我一直推迟 TinyPilot Pro 的开发工作。主要原因是整个流程的第一步太无聊了:分发。
分发 TinyPilot 的免费版本很容易,因为软件完全开源。我发布了一个安装脚本,对客户和非客户的使用方式完全相同。
TinyPilot Pro 就复杂得多了。如果我发布源代码,客户可能会想:“既然网上就能免费找到,我为什么还要付钱?”我需要某种方式来限制付费客户的访问权限。
我开始设计授权系统。听起来似乎没那么难。生成一个基于客户设备 ID 之类信息的哈希值,然后在服务器上检查是否匹配。等等,那许可证到期怎么办?好吧,那我就维护一个包含许可证及其到期日期的数据库。但如果我把数据库弄丢了呢?嗯……

我花了不少时间设计 TinyPilot 的许可证密钥服务器,大约完成了 60% 后才意识到自己把解决方案设计得过于复杂了。
这感觉像是过度设计。我研究了提供数字许可证的 Shopify 插件,但它们看起来质量都不高,也没有我需要的功能。集成这些方案所需的时间,恐怕比自己实现一套还要长。
然后我突然意识到:如果我完全跳过许可证执行呢?
我想起了朋友 Cory Zue(科里·祖)销售 Django 起始模板 Pegasus 的经历。客户可以使用 Pegasus 构建一个网站,但 Cory 没有办法强制执行这一限制。客户一旦下载了 Pegasus 的源代码,就拥有了将其复用于数百个网站所需的一切。
销售 Pegasus 几个月后,Cory 欣慰地发现客户会为了新网站再次购买 Pegasus。从技术角度来看,他们付费购买的是之前已经买过的同一份代码。但客户诚实地遵守了 Pegasus 的许可证,并为他的产品支付了相应费用。
Cory 意识到,他可以提供更好的方案:无限许可证。尽管不诚实的客户完全可以支付单站点价格后重复使用代码来占 Cory 的便宜,但客户们仍然会定期购买无限版。

客户会从 Cory 那里购买无限许可证,尽管他们完全可以通过重复使用单站点版本来占便宜。
既然诚信制度对 Cory 来说已经足够有效,那对我来说大概也会同样有效。我搁置了开发许可证服务器的计划,只是把 TinyPilot Pro 放在一个无法被发现的 URL 上。
不诚实的客户可以在多台设备上重复使用许可证,或将 URL 分享给未付费用户,但这两种情况的风险和影响都很低。我开始销售 TinyPilot Pro 还不到一周,其中一位客户已经购买了四份独立许可证。
我给自己定了太多截止日期
我在 12 月确实承诺过多了。
我通常会避免向客户承诺在某个具体截止日期前交付产品。TinyPilot 还很年轻,变化也很快。与此同时,尽管过去六个月里我毫无进展,但我越来越不好意思继续对外承诺“很快”发布 TinyPilot Pro。最终,我开始告诉客户,我会在年底前发布第一个版本。

为了满足急于使用新高级功能的客户,我以 beta 版本发布了 TinyPilot Pro。
与此同时,我开始制作自己的第一门视频课程。我估计编写、录制、剪辑和发布大约需要 40 个小时。这大致相当于我写一篇新博客文章所需的时间,所以我以为只要制作这门课程,不写下一篇博客文章就行了。我把发布日期定在 1 月 13 日,看起来这是一个非常宽松的安排,足以制作几小时的视频。

我的博客课程 《登上 Hacker News 首页》中的一帧画面
我严重低估了完成这门课程所需的工作量。制作这门课程可能要花 150 到 200 个小时,而且它已经从 TinyPilot 抽走了大量时间。
更不用说,我还有一个传统:每年 2 月 1 日,也就是我辞去 Google 工作、开始为自己工作的纪念日,发布一篇年度回顾。我想继续保持这一传统,因为它总能引起很大的反响。但这意味着我必须在 2 月 1 日前准备好博客文章。
所以,在一个月的时间里,我不知不觉给自己定下了四个激进的截止日期。今后,我肯定会更谨慎地公开宣布截止日期。
旧项目
下面是一些项目的简短更新:我仍然在维护它们,但它们不是我开发工作的主要重点:
Is It Keto
| 指标 | 2020 年 11 月 | 2020 年 12 月 | 变化 |
|---|---|---|---|
| 独立访客 | 43,911 | 49,373 | +5,462(+12%) |
| 总页面浏览量 | 102,143 | 93,242 | -8,901(-9%) |
| Domain Rating(Ahrefs) | 10.0 | 10.0 | 0 |
| AdSense 收入 | $357.51 | $334.72 | -$22.79(-6%) |
| Amazon 联盟收入 | $74.01 | $149.99 | +$75.98(+103%) |
| 总收入 | $431.52 | $484.71 | +$53.19(+12%) |
我预计 1 月会有明显增长,因为人们经常会在新年伊始开始关注更健康的饮食选择。我花了一个小时更新 Amazon 联盟链接,以便从即将到来的旺季中获得最大收益。除此之外,Is It Keto 仍然在后台自动运行。
Zestful
| 指标 | 2020 年 11 月 | 2020 年 12 月 | 变化 |
|---|---|---|---|
| 独立访客 | 484 | 507 | +23(+5%) |
| 总页面浏览量 | 1,393 | 1,511 | +118(+8%) |
| RapidAPI 收入 | $28.37 | $103.33 | +$74.96(+264%) |
| 企业版计划收入 | $872.63 | $0.00 | -$872.63(-100%) |
| 总收入 | $901.00 | $103.33 | -$797.67(-89%) |
Zestful 也很安静。那位企业客户完成了为期一个月的计划,正如预期一样,没有续订的需要。RapidAPI 收入有所增长,但其中 95% 来自一位用户,他似乎只进行了一次性的大批量解析。
总结
完成了什么?
- 发布了 TinyPilot Pro beta 版
- 完成了《登上 Hacker News 首页》的五个部分
- 从本博客中移除了所有联盟链接
- 我的两篇博客文章登上了 Hacker News 首页
经验教训
- 少承诺一些截止日期。
- 绝对不要在一个月内承诺四个激进的截止日期。
- 销售副业项目时,应该建立候补名单,而不是预售。
- 预售产品的好处是,你可以尽早知道客户是否愿意购买。
- 预售的缺点是,既然我已经承诺在某个日期前提供特定主题并完成销售,那么更改范围或推迟发布日期就会让我感到不舒服。
- 如果将来我销售电子书或课程,我会建立候补名单,而不是预售。
- Adam Wathan(亚当·沃森)在这场有帮助的 Microconf 演讲中进一步讨论了预售和候补名单的区别。
- 不过,我把这些写出来之后,觉得自己似乎没必要给自己施加压力,严格遵守宣传过的课程大纲。我不认为有人会那么在意我是否完全按照大纲来做。如果他们在意,我可以提供轻松无忧的退款。
下个月的目标
- 聘请一名自由职业开发者,协助 TinyPilot 的开发。
- 从两位拥有相关受众的博主或 YouTuber 那里获得 TinyPilot 评测。
- 从《登上 Hacker News 首页》中获得 4000 美元的收入。
随机一篇博客