TinyPilot:第21个月
一句话总结
我是应该继续扩张,还是优化现有业务?
亮点
- TinyPilot 迎来了有史以来销售表现最好的一个月,总收入达到 6.9 万美元。
- 网站重新设计已超出预算 3.2 万美元,延期了五个月。
- 我发布了 PicoShare,它是我迄今为止增长最快的项目。
目标评分
在每个月初,我都会宣布当月想要完成的目标。以下是本月目标的完成情况:
发布 TinyPilot Pro 2.4.0
- 结果:按计划发布了 TinyPilot 2.4.0
- 评分:A
最新版本增加了对多用户的支持,这是客户期待已久的功能。我们还修复了一个频繁引发支持请求的烦人错误。
完成 TinyPilot 网站的设计改版
- 结果:设计已完成,但尚未上线
- 评分:C
这个项目的耗时仍在超出我的预期。设计本身已经完成,但设计机构还没有足够的精力在 TinyPilot 的网站上实现代码改动。
完成 TinyPilot 新任支持工程师的入职培训
- 结果:Diego(迭戈)已完成上手,能够独立处理大部分支持请求
- 评分:A
寻找合适的工程师花了很长时间,但我很高兴最终顺利展开。这已经为我节省了大量时间。
TinyPilot 数据统计
| 指标 | 2022年2月 | 2022年3月 | 变化 |
|---|---|---|---|
| 独立访客 | 6,991 | 6,212 | -779 (-11%) |
| 总页面浏览量 | 14,916 | 13,375 | -1,541 (-10%) |
| 销售收入 | $49,026.99 | $65,171.82 | +$16,144.83 (+33%) |
| 企业订阅 | $47.75 | $47.75 | 0 |
| 版税 | $3,552.41 | $4,012.83 | +$460.42 (+13%) |
| 总收入 | $52,627.15 | $69,232.40 | +$16,605.25 (+32%) |
| 利润 | $27,039.62 | -$3,043.34 | -$30,082.96 (-inf%) |
3月是 TinyPilot 在销量和总收入方面表现最好的一个月。我们比2月仅多卖了14%的设备,但其中一半是新型号 Voyager 2 PoE。该型号比我们的标准版贵60美元,这带来了33%的收入增长。
我的利润为负,但这更多是由于费用的入账时间所致。2022年第一季度的利润为健康的1.6万美元,平均每月5300美元(编辑(2022-04-29):我之前算错了——2022年第一季度我实际上亏损了1万美元)。

2022年3月,每独立访客销售额达到了历史最高水平。
每独立访客收入达到了10.49美元,创下历史新高。作为对比,去年同期我每访客的平均收入约为4美元。这是个好消息,因为我的计划是先专注于提高网站的转化率(“漏斗底部”),再着手营销。该指标的增长表明我的计划正在奏效。我认为产品、定价和网站方面的改进让人们更愿意购买。
我又有空闲时间了!
2月,我思考了如何用每周20小时来管理 TinyPilot。我肯定还没达到那个目标,但正在取得进展。
占用我时间最多的工作之一是技术支持,每周要花8小时。这是最难委派的职责,因为招聘过程耗费了数百小时。即使找到了合格的工程师,培训也非常耗时,因为我脑中积累了两年的机构性知识。
很高兴地报告,我们已经度过了最艰难的阶段。TinyPilot 的首位支持工程师迭戈现在正在回答支持论坛中的所有问题,因此我每周花在支持上的时间平均不到8小时。他还发布了自己的第一篇教程:一份在 TinyPilot 上设置 Tailscale 的指南。
我也在努力让 TinyPilot 的本地团队承担更多责任。例如,本周我们发现用于组装 Voyager 2 的螺钉型号在各地都已缺货。

通常,供应短缺会由我直接处理,但这正是团队其他成员承担新任务的好机会。
通常,我会与我们的外壳设计师合作寻找替代品,并尝试用新螺钉进行组装,但在给他发邮件之前我及时打住了。这正是让 TinyPilot 本地团队承担更多责任的好机会,所以我让他们来主导这件事。
我注意到整个3月的时间管理有了显著改善。在过去的六个月里,我大多数日子结束时都觉得有事情没做完,不得不推迟重要但不紧急的任务。而在3月,我常常在下午中段就完成了紧急任务,并有空闲时间投入到营销、自动化和授权管理上。
我正在克制把这些新获得的时间花在增加事务上的冲动,比如再招一个人或为 TinyPilot 寻找新功能。我得提醒自己,这些事情总是比最初看起来要复杂得多。
2021年我一直在手忙脚乱地应对过多的增长项目,所以现在是时候优化现有业务了:
- 自动化我们的发布流程
- 自动化我们的端到端测试
- 更主动地与客户沟通,而不是等他们联系客服时才交流
- 在 TinyPilot 的客服团队与支持工程师之间建立升级路径
- 改进与制造商的协作流程
继续再投资还是开始获取收益?
自 TinyPilot 成立以来,我一直忽略短期利润,转而专注于长期增长。我避免出现亏损,但乐于在接近收支平衡的状态下运营,将所有收入再投资于产品的改进。
我把再投资视为积累动能。如果我的销售额是每月3000美元,我花5000美元改进产品以达到每月4000美元,那么这5000美元是一次性成本,但 TinyPilot 的销售增速就永久性地提高了。
但我不是一家风险投资支持的初创公司。我的目标不是永远增长并通过 IPO 暴富。在某个时候,我必须停止将一切投入增长,开始获取收益。现在就是那个时候吗?
我目前主要的短期开支是为提高可制造性而优化 Voyager 2 的电路设计(每月1万至2万美元)以及重新设计销售网站(每月5000至6000美元)。几个月后,我们将定版 Voyager 2 的电路板,我也不再折腾网站,因此成本将大幅下降。如果我维持现有销量,只要不再启动新项目,每月就能赚到2万美元。
我最初的计划是在 Voyager 2 的生产稳定后,立即与我的电气工程合作伙伴着手开发 Voyager 3。开发 Voyager 3在未来六个月内每月将花费约1.5万至2.5万美元,吞噬掉今年剩余时间的利润。不仅如此,它还将占用我大量时间,因为发布新产品会改变 TinyPilot 内部的许多工作流程。
在这一点上,我认为已经到了开始获取收益的时候。我可以在今年晚些时候再启动新项目,但首先,我想把销售额提升到7万至9万美元的区间,这样我就可以在不耗尽全部利润的情况下投资产品改进。
关于与设计机构合作,我希望早点知道的事
早在9月,我就聘请了一家设计机构来改进 TinyPilot 网站。当时,我以为这个项目需要六周,花费7000美元。六个月后,我已经花了39,577美元,项目仍未完成。
我们是怎么走到这一步的?我可以指出机构方面犯的错误,但核心问题在于我不知道如何有效地与机构合作。我以前只聘请过自由职业者,没意识到与机构合作会带来多大的动态变化。
我把这些希望一开始就知道的事情记录下来,既是给自己的提醒,也希望能帮助那些尚未开始与机构合作的人。
与机构合作需要更多的管理,而非更少
聘请这家机构时我犯的根本性错误,是低估了管理他们所需的时间。
该机构每月为我工作40至60小时。这与 TinyPilot 其他每位自由职业者的工时相同,因此我以为管理机构所需的管理投入与管理一名自由职业者相当。我本应该为管理他们预留多得多的时间。
与机构合作时,你需要与多个各自负责子项目的人打交道。人越多,必然意味着需要更多的管理时间。
例如,假设一名每周工作40小时的员工需要每周6至8小时的管理。如果你把这个岗位拆成两个人,每人每周工作20小时,你的管理时间可能会膨胀到每周10至12小时。员工的总工时相同,但与两个人沟通会带来效率损失,而不是只与一个人沟通。
同样的逻辑也适用于设计机构。即使你每月获得40小时的工作量,客户管理机构的六名成员也要比管理一名做同样工作的自由职业者付出更多努力。
严格保护你的项目范围
这个项目最大的问题在于范围界定。考虑到我把一个六周的项目做了六个月,你可能已经猜到了。
最初,我和机构约定这个项目只是一次品牌重塑。我们将为网站创建新的标志、配色方案和字体,然后再评估下一步。但随后出现了范围蔓延。设计师们不断悄悄扩大范围,直到我发现自己已经进行到网站全面重新设计的中途。
我一直觉得如果再让他们做一小段时间,他们就能在一个月内收尾,但事情却一直拖延。回过头看,我本应该及时止损,将项目范围缩回最初计划的品牌重塑。但我当时正忙于 Voyager 2 的发布,所以对我来说最省事的做法就是让机构继续做下去。
尽管我以为自己已经吸取了教训,本月范围蔓延还是再次困扰了我。我创建了一个项目看板,按优先级列出了重新设计的待办任务。我为3月预订了60小时的机构工时,但不确定设计任务是否会占满所有时间。我在清单末尾添加了一些低优先级的错误,以防机构还有剩余时间。
你知道接下来会发生什么……
设计机构把所有设计任务都半途而废,却用掉了我当月四分之一的工时去修复所有低优先级的错误。
往后,我需要更好地设定预期,让他们明白在所有关键任务完成之前不要去处理非关键任务。
警惕开放循环
如果你给一名自由职业者分配了任务A、B和C,那么他在任务A完成80%时突然停下来转而去做任务B,会让人觉得奇怪。如果他在任务B做到一半时又停下来去做任务C,那就更奇怪了。
而与机构合作时,很容易陷入多项任务都只完成80%的局面。也许机构里的 Alice(爱丽丝)本月只有10小时的空闲时间,所以她把任务A做到了80%。接着鲍勃开始工作,但他不想半途接手爱丽丝的项目,于是开始做任务B,做到了30%。不知不觉中,你已经花了39,577美元,却无法使用任何成果,因为所有工作都只完成了80%至90%。
在Getting Things Done(《搞定》)一书中,David Allen(大卫·艾伦)将未完成的任务描述为“开放循环”。开放循环越多,你的专注力就越差,因为每一个都会占据你头脑中的一部分空间。一名自由职业者通常一次只会与你有几个开放循环,而一家设计机构可能同时有5到10倍之多,并且持续时间更长。
开放循环在性价比上也更差。假设你需要在六个月内完成六项任务。如果你雇佣个人,他每月大约交付一项任务。如果你每月末付款,你几乎在付款的同时就能享受到工作成果。而与机构合作时,他们可能会把这六项任务分配给六个人,每个人只花六分之一的时间在你的项目上。到第五个月时,机构已经拿走了80%的费用,但你却没有获得任何收益,因为没有一项任务是已完成的。
先按小时计费,再转为包月合作
我合作的这家机构提供按小时计费和包月两种方案。按小时计费时,我可以预先购买30小时的工时包,然后机构与我合作直到耗尽这些工时。采用包月方案时,我承诺每月固定的工时数,最低为每月40小时。这比按小时计费便宜20%,但未使用的工时不能结转,且我需要提前28天通知才能取消。
我没意识到的是,按小时计费的客户可能会有数月得不到资源分配。我从10月开始与该机构合作,前两个月工作进展顺利,但在12月却急剧下滑。
当时,我以为只是节假日的放缓,但当这种情况延续到1月时,我向负责人提出了这个问题。他承认机构流失了员工并接手了新的包月客户,因此很难为 TinyPilot 分配人手,因为我是他们唯一的按小时计费客户。他建议我转为包月协议以保证优先级。
我感到很恼火。他们降低了我项目的优先级,却期望我向他们做出更大的承诺?同时,我也能理解。这家机构本身也是一家小公司,他们想优先考虑长期客户而非一次性项目。该机构早在10月就告诉我,作为包月客户我会获得优先权,但我没意识到这会有如此大的差别。
如果再来一次,我会先购买一个30小时的工时包作为对机构的试用,然后在项目的剩余时间内转为包月协议。在机构的日程上拥有有保障的工时似乎能带来更好的质量,因为我在他们的日程上有受保护的时间,而不是一个月中零散的几个小时。
副业项目
PicoShare
PicoShare 是我于2月创建的一款开源、极简的文件分享工具。
PicoShare 是一款用于分享图片、视频或其他文件的工具。
我经常与他人分享图片、视频和 PDF。如果是商务用途,我觉得把文件上传到 imgur 或 mega.nz 后再发送链接显得很不专业。这些服务并不像是“专业的商务沟通”。我也不喜欢使用 Google Drive 或 Dropbox,因为它们的界面碍事,有时还会要求接收者在查看文件前先创建账户。PicoShare 让我无需依赖第三方服务就能创建易于分享的链接。
我于3月20日通过在 /r/selfhosted 子版块发布公告正式发布了PicoShare v1.0.0。反响积极但并不轰动。在接下来的几周里,它慢慢开始受到关注。
YouTube 创作者 David Burgess(大卫·伯吉斯)制作了一个关于 PicoShare 的视频,随后 Hal Gus(哈尔·格斯)又制作了另一个。一位自托管博主撰写了一篇教程,介绍如何在 Synology NAS 上安装 PicoShare(这对我来说很有趣,因为我的第一篇博客文章就是关于在我的 Synology NAS 上设置 Docker 镜像的)。
PicoShare 现在是我创建过的增长最快的项目。首次提交是在2月13日,该项目目前在 GitHub 上已有664颗星。作为对比,TinyPilot 在近两年后拥有1.8k颗星,LogPaste 在一年后拥有201颗星。
开源开发者们也做出了很棒的代码贡献:
- @viktorpenelski 添加了永久保留共享文件的选项。
- @dertuerke 为文件大小添加了人类可读的格式(例如,用“1.53 MB”代替“1530000 bytes”)。
- @dertuerke 添加了“复制到剪贴板”按钮。
我添加了对 multiarch Docker 镜像的支持,因此现在你可以在 Raspberry Pi 等基于 ARM 的系统上运行 PicoShare Docker 镜像。创建 multiarch 构建的过程出人意料地简单,但由于流程不断变化,很难找到相关说明。
我还创建了一个在线演示服务器。起初我回避这样做,因为我不想处理人们上传非法内容或耗尽带宽的问题。后来,我意识到可以为演示服务器添加一个限制,即用户只能访问从自己 IP 上传的文件。这让人们可以试用该服务,同时限制了被滥用的程度。
总结
完成了什么?
- 发布了 TinyPilot Pro 2.4.0
- 发布了 PicoShare 1.0.0
- 培训了 TinyPilot 的首位支持工程师
经验教训
- 与机构合作所需的管理方式与自由职业者不同。
- 为自托管工具创建 Docker 镜像会使其更具吸引力。
- 我怀疑 PicoShare 能如此迅速吸引用户的原因在于,你只需一条 Docker 命令就能运行它。
下月目标
- 发布一篇关于使用 TinyPilot 搭建家庭实验室 NAS 服务器的博文和视频。
- 完成 TinyPilot 网站的重新设计。
- 发布一个支持通过 WebRTC 进行 H264 视频传输的可选实验性功能的 TinyPilot Pro 版本。
随机一篇博客