
博客 · · 作者:Matt Senter
Weatherling 的故事:从一场雨的实验到 Mac App Store 前十
两周前,Weatherling 还只是一款让雨落在桌面窗口上的小型 Mac 应用。从那以后,它升到了 Mac App Store 工具类第 8 名,没有投放任何广告就卖出了数百份,还长成了一个有雪、有秋叶、有一群可收集小角色 Ling™ 的小世界。下面就是它的来龙去脉。
一切从一场小雨开始
我大部分时间都待在 Mac 前,一直很喜欢让桌面多一点氛围的想法。有一天,我想,要是工作时窗口上能下点雨就好了。不用多复杂,只要一点环境天气,让桌面更有生气。
我也对 Metal 这个 Apple 的图形框架很好奇。我做了很多年软件,却从没碰过 Metal。这正好是个学点新东西的有趣借口。
我会 Swift,再借助 Codex 和 Claude Code 的帮助,开始拼凑出一个原型。目标是渲染出真正能和桌面窗口互动的雨,而不是在屏幕上盖一层动画。第一个版本简单得不能再简单:没有雪,没有风,没有树叶,没有角色,更没有游戏。真的只有雨。
但它成功了!雨滴落过桌面,碰到窗口边缘,营造出天气就在我的应用四周发生的错觉。我觉得挺酷的,就在 Reddit 上发了一段视频,想看看大家怎么想。
Reddit 上的网友有不少想法
Reddit 上的反响比我预想的热烈得多。帖子收获了很多点赞、鼓励的评论、提问和建议。大家似乎很喜欢天气与桌面窗口互动的点子,而且几乎马上就开始要求更多。
最早的请求之一是雪,于是我加了雪。大家还希望对天气有更多控制,我就不断打磨效果,加入了强度、深度和风向的选项。后来,有人想要飘落的秋叶。这听起来是个再合适不过的季节性功能,所以最终它们出现在了 1.4 版本里。
回头看,Weatherling 的演变有这么多都直接来自 Reddit 上的评论,真是有趣。雪和秋叶本来不在我最初的计划里。它们之所以出现,是因为大家看到了原型,喜欢这个点子,并想象它还能做什么。
有一点很快就清楚了:大家要找的未必是又一个效率工具。他们喜欢的是让自己的 Mac 更有趣一点。这个认识为我打开了一扇完全没想到的门。
Ling™ 登场
开发过程中的某个时刻,我觉得 Weatherling 需要一点个性。天气效果本身已经很好玩,但我想知道,要是偶尔有小小的角色出现在桌面上,在窗口边缘溜达,对天气做出反应,会怎么样。
于是我心血来潮,做出了第一批 Ling。这些小家伙会走、会跑、会跳,会在水坑里踩水,下雨时还会撑起雨伞。它们并不是为了什么实际用途,只是工作时可以偶然发现的一点乐趣。
但当桌面上有了到处溜达的角色,我开始想,能不能把它们变成一个小游戏。Ling 收集游戏就是这样诞生的。
每隔一会儿,窗口上会出现彩色的箱子。目标是把 Ling 收进这些箱子里来获得积分。有意思的是,Ling 和箱子的出现概率都不一样,有些 Ling 比别的稀有得多,箱子也是如此。
我设计了一套计分算法,会同时考虑两者的相对稀有度。普通的 Ling 放进普通的箱子,得分不会太高,而把特别稀有的 Ling 放进特别稀有的箱子,则能拿到相当可观的分数。某些组合甚至还有隐藏奖励。
基本思路很简单:把最稀有的 Ling 放进最稀有的箱子,拿到最高分。还可以和朋友分享、一较高下。
我也有意把分享做进了体验里。我希望大家能炫耀自己的 Ling 积分,向朋友发起挑战,让 Weatherling 能在最初发现它的人之外自然地传播开来。
这是个完全可选的小游戏。如果您只想让桌面下点雨,那就只有雨。但如果您喜欢收集东西、追逐高分,还有另一层世界可以探索。而 Ling 本身,已经成了我在整个项目里最喜欢的部分之一。
和孩子们一起做 Ling
随着收藏越来越多,我的孩子们也加入了进来。我们会坐在一起,想出角色,商量它们该长什么样、怎么动。借助 AI 辅助开发工具,我们制作精灵图,尝试各种动画,再把角色放进 Weatherling。这成了一个特别有趣的共同创作过程。
有些角色相当简单:会走、会跑、会跳,还会打伞。另一些则有复杂得多的个性和特殊动画。有的会变身成别的生物,有的出场方式很特别或是退场很戏剧化,还有的带着自己的道具、交通工具或独特的动作。
可能性几乎没有尽头,和孩子们一起头脑风暴越来越离谱的 Ling 点子,真的特别开心。一个为了学 Metal 而做的技术实验,竟然变成了一个家庭创作项目。渲染出第一滴雨的时候,我可从没想到会这样。
Weatherling 上线
2026年9月25日,我在 Mac App Store 发布了 Weatherling。我没有准备什么大型营销活动,没有广告预算,没有付费推广,也没有精心设计的发布策略。我只是在 Reddit 上发了帖子,通过自己的渠道分享了一下,然后希望大家会觉得有意思。
上线几天后,一位朋友给我发消息,说 Weatherling 正在 Mac App Store 的榜单上往上爬。我甚至都没留意过排名。我去一看,Weatherling 已经到了 Mac App Store 工具类第 15 名,这真是个让人兴奋的惊喜。
但它还在继续上升。第一周之内,Weatherling 就升到了工具类第 8 名,让我这个小小的雨天实验跻身该分类的前十名应用。
而且让我惊喜的不只是排名。头两周里,Weatherling 卖出了数百份,我没有花一分钱做广告。
每一笔销售都来自自然发现、Reddit 帖子、口口相传,以及大家把应用推荐给别人。对一个独立开发者来说,这太鼓舞人了。在 Reddit 上给一段酷炫效果的视频点个赞是一回事,真的掏自己的钱买下你做的东西,又是另一回事。
销售让人欣慰,持续不断的反馈也一样。大家报告 bug、提出功能请求、分享使用体验,帮助塑造应用的下一个版本。Weatherling 如今的好几个功能,正是因为有人花了点时间留下一条评论。
这让我再次想起自己为什么热爱独立开发。有时候,您不需要庞大的团队或巨额的营销预算。您可以做出自己真心希望存在的东西,把它放到世界上,看看别人是不是也喜欢。
为隐私而设计
有一件事我还没怎么提过,就是 Weatherling 在幕后是怎么运作的,尤其是隐私方面。从一开始,我就希望 Weatherling 是完全自成一体的。
Weatherling 有意不包含任何联网功能。没有要创建的账户,没有要连接的云服务,没有收集使用数据的分析工具,也没有悄悄接收您电脑信息的服务器。
应用所需的一切都随应用一起提供。所有 Ling、它们的精灵图和动画、天气效果以及其他资源都打包在应用里,使用时不需要动态下载任何东西。
天气系统的原理是检测桌面窗口的几何形状,而不是窗口里的内容。这意味着 Weatherling 不需要“屏幕录制”权限。它不会截取您的屏幕,不会读取窗口里的内容,也不会监视您在做什么。
就连 Ling 收集游戏也完全在本地运行。除非您主动选择用分享功能发布,否则您的积分只会留在您的 Mac 上。
我觉得,不需要“回家汇报”的软件有一种令人耳目一新的感觉。Weatherling 不需要知道您是谁、在做什么、怎么使用电脑。它只需要知道您的窗口在哪里,好让雨落在上面。
两周之后:Weatherling 1.4
写下这些的时候,Weatherling 1.4 刚刚发布。最新的更新带来了飘落的秋叶(又一个受 Reddit 反馈启发的功能),还有更多 Ling,以及应用各处持续的改进。
短短时间里,这个项目的变化之大令人惊叹。两周前,我发布的还是一款让雨落在窗口上的 Mac 应用。今天,Weatherling 支持雨、雪、风和秋叶。桌面上有四处溜达的角色,每一个都有自己的个性和动画。还有一个可选的收集游戏,带有基于稀有度的计分、隐藏奖励和可分享的积分。
而在这一切之下,仍然是当初引发一切的那个小小的 Metal 渲染实验。
我最享受的事情之一,就是一路学习。使用 Metal 是一段迷人的经历,而把 Codex 和 Claude Code 当作开发伙伴,让我能比原本快得多地探索想法、实现功能。这也让我可以把更多时间花在创意的一面,包括孩子们不断梦想出来的、越来越精巧的各种 Ling。
Weatherling 依然是一款小应用,但它已经远远超出了我最初的想象。
下一站:Product Hunt
今天又是一个里程碑:Weatherling 正在 Product Hunt 上发布。这是我第一次独立在 Product Hunt 发布产品,而且我已经很多年没有参与过任何形式的 Product Hunt 发布了。
我很想看看社区会有什么反应,尤其是现在 Weatherling 已经远远超出了最初的雨天原型。我也很想知道大家接下来会提什么建议。
如果说过去两周教会了我什么,那就是发布软件往往只是开始,接下来才是弄清它应该变成什么样。雪来自 Reddit,秋叶来自 Reddit。Ling 起初只是一个随意的想法,后来变成了游戏。我的孩子们又帮忙把这个游戏变成了一个不断增长的、各式各样的小角色合集。
不知怎么的,在这一切之中,Weatherling 登上了 Mac App Store 前十,没有投放广告就卖出了数百份。对于一个起因只是我想在自己的 Mac 上看一点雨的东西来说,还不赖。
感谢每一位下载 Weatherling、分享帖子、留下评论、报告 bug 或提出新想法的朋友。你们的热情让这头两周比我想象的精彩太多,我也很期待看到接下来会走向哪里。
我有种预感,我们才刚刚开始。
- 试试 Weatherling: 在 Mac App Store 下载
- 支持我们的 Product Hunt 发布: Product Hunt 上的 Weatherling
- 看看实际效果: 观看 Weatherling 演示