《Refactoring English》:第19个月
原文由 Michael Lynch 于 发布,订阅该博客
一句话总结
人们会为一本已经完稿的书付更多钱吗?
亮点
- Refactoring English 迎来了销量第二高的月份。
- 我分析了销售数据,想看看人们是否更愿意购买一本已完稿的书,而不是接近完稿的草稿。
- 我完成了图书反馈工具。
- 我在尝试一款新的时间追踪工具。
目标完成情况
每个月初,我都会定下当月想完成的目标。以下是本月的完成情况:
投入至少五小时改进 Refactoring English 网站
- 结果:花了约三小时改进网站
- 评分:B-
网站有了一点改进,但仍需进一步打磨。
为 Refactoring English 网站吸引3万名独立访客
- 结果:获得了1.75万名独立访客。
- 评分:B-
我把关于设计文档的一章改编成了一篇免费节选。它在 Lobsters 和 Reddit 上表现不错,但在 Hacker News 上反响平平。
设计文档这一章获得的积极反响让我有些意外。一般来说,当我和开发者聊起设计文档时,他们的主要反应都是讨厌设计文档、讨厌与之相关的一切。而我这篇文章下的评论却让人耳目一新,大家普遍支持设计文档,也认可我的建议。
完成读者反馈工具
- 结果:工具已上线运行。
- 评分:A
我曾一度卡在那场大规模的 AI 封锁上,但后来通过更认真地拆分大功能、不过度纠结代码质量,最终推进了下来。在这种情况下,完成比完美更重要。
Refactoring English 数据一览
| 指标 | 2026年5月 | 2026年6月 | 变化 |
|---|---|---|---|
| 独立访客 | 1,752 | 17,523 | +15,771 (+900%) |
| 预售收入 | $407.61 | $1,441.86 | +$1,034.25 (+254%) |
6月是自最初众筹上线以来图书收入最高的一个月。访客量的增长得益于我那篇关于设计文档的节选。
最后的8%有多大差别?
过去几个月里,Refactoring English 网站在抢先体验阶段一直将我的书标注为接近完稿。我很好奇,从一本接近完稿的书变成完全完稿的书,会对销量产生什么影响,于是查看了每周的销售数据:
把书标记为完稿对周销量似乎没有明显影响,但如果看看日均数据呢?
好吧,标记完稿之后确实有小幅增长。
我还好奇,美国读者在书完稿后是否购买得更积极。每次有人购书我都会收到邮件通知,感觉按美国定价付款的销量变多了,但我没有仔细统计过。我查了数据来验证这一点:
有意思!完稿对使用区域定价的顾客的销量没有影响,但在书完稿后的三周里,按美元定价购买的顾客购买率高出了20%。
我没有计入发布最新节选之后的销量,因为那显然会大幅改变数据,所以我把它单独作为一类来看:
不过这总有点偏差,因为美国人在我的读者中占比最大。如果按每位访客的收入来标准化呢?
哦,结果反转了。按访客标准化后,故事就变了。现在是美国读者对完稿与未完稿的书购买率基本相同,而美国以外的读者在完稿后人均消费高出了约20%。
我还不确定该怎么利用这些信息,不过确实满足了我的好奇心。
读者正在书的应用里留下有用的反馈
过去我也曾请读者对书提供反馈,有些读者反馈非常热情,但只是极少数。我想做一个基于网页的反馈应用,让读者在阅读时就能直接留下笔记,这既有趣又有帮助。本以为一两周就能搞定。结果,短短……两个月后,我才把它真正做出来并上线!
我的图书反馈工具演示,读者可以直接在书中给我留言,我也可以回复。
我的反馈工具才上线几天,但似乎确实能鼓励读者提供更多反馈。有一位读者刚读完整本书,还提到反馈应用是他体验中最喜欢的部分之一,这让我很欣喜。
时隔15年,再次使用时间追踪工具
大约每年我都会问自己一次:我的时间都去哪儿了?每当我专注于一个项目,却发现进展不如预期时,这个问题就会冒出来。以下是我这些年几次问自己的记录:
这一次我想:“也许我该用个时间追踪工具。”
大约15年前,我试过一款叫 RescueTime 的时间追踪工具。我觉得它没什么用,但还是想着坚持几周看看效果。后来我意识到,自己竟然让一家陌生的公司收集屏幕上每个窗口的数据,于是立刻卸载了 RescueTime。
我当时希望能有一个开源版的 RescueTime,接着想到:“等等,应该已经有了吧。”还真有,它叫 ActivityWatch。它是开源且注重隐私的,会记录你所有的窗口和浏览活动,但所有数据都保留在本地机器上。
问题在于 ActivityWatch 远不如 RescueTime 精致。我完全看不懂时间线到底想展示什么:

我在官方 ActivityWatch 网页界面中完全看不懂时间线。
你需要通过设置规则来告诉 ActivityWatch 如何对活动进行分类,但我觉得那个界面也很难用:

我觉得官方 ActivityWatch 网页界面中的分类功能很难用。
我正准备放弃 ActivityWatch,转念一想:“好吧,数据收集部分应该还是能用的。要不我自己 vibe coding 一个前端?”
于是,我真的做了,而且相当简单。我先从一个命令行工具做起,计划之后再扩展成网页应用。
要使用我定制的前端,我会创建一个配置文件,根据应用名称、窗口标题和/或网址来对活动进行分类:
- name: Book/Feedback Site
rules:
- url: "*refactoring-english-feedback*"
- window_title: "*refactoring-english-feedback*"
- name: Book/Website
rules:
- url: "*refactoring-english-landing*"
- window_title: "*refactoring-english-landing*"
- name: Book/Writing
rules:
- app: Zathura
- app: Code
window_title: "*refactoring-english*"
- app: firefox
window_title: "mtlynch/refactoring-english *"然后输出结果是这样的:
$ go run ./cmd/app --config data/config.yaml
...
Book 1h34m 19.7%
Feedback Site 48m 10.0%
Writing 46m 9.7%到目前为止,数据挺有意思,但最大的挑战是很难自动归类我所有的活动。例如,我可以为浏览维基百科添加一个分类,但我是在为写书做正经研究呢,还是不小心掉进了兔子洞,突然在看被自己的发明害死的发明家?
收尾
完成了什么?
- 完成了 Refactoring English 反馈工具。
- 修复了 Refactoring English 电子书,以保证一致性和 EPUB 兼容性。
- 为 Little Moments 制作了一个演示视频。
- 我对里面的搞笑照片相当满意。
经验教训
- 顾客对一本100%完稿的书和接近完稿的书之间的差别,并没有我预期的那么在意。
- 读者确实会以更高的比例购买完稿的书,但如果控制了网站访客数量,差异其实很小。
下月目标
- 向5档播客自荐,聊聊 Refactoring English。
- 为 Refactoring English 网站吸引3万名独立访客。
- 结束抢先体验,正式发布本书1.0版。
随机一篇博客
评论
登录后参与讨论