作为独立开发者,花了两年时间打造儿童音频应用——所学到的经验教训
你好,
我在2024年4月开始了Muky。这是一个经典的副项目,结果变得有些失控。我们有两个孩子——小的那个对Toniebox很满意,但大的那个已经不再适用了。她开始要求特定的歌曲、没有以玩偶形式提供的有声书,还有“那部电影里的音乐”。
我们有一台闲置的旧iPad Mini,而且已经在支付Apple Music的费用。每次花17欧元/20美元买一个只提供30-45分钟内容的玩偶,感觉有点傻,毕竟我们有1亿首歌曲可供选择。
现在已经更新到4.0版本,经历了大约20次更新。一些经验教训:
关于硬件与应用的权衡:
Toniebox和Yoto对于小朋友来说非常棒——触感好、简单,不需要屏幕。但一旦孩子们想要更多,就会遇到瓶颈。把Apple Music交给一个5岁的孩子意味着无尽的滚动和“爸爸,这首歌讲的是什么?”Muky则处于两者之间——提供完整的音乐库访问,但父母可以控制可见内容。
关于分享:
还记得把CD或磁带借给朋友吗?或者孩子们在玩耍时交换Tonie玩偶吗?我想在数字应用中实现这一点。所以我构建了QR码分享功能。扫描、导入、完成。而且与实体物品不同——两者都可以保留一份副本。
关于用户引导:
最初的版本:空白应用,让你自己摸索。用户留存率非常糟糕。现在:4步引导,真正帮助你上手。早该这样做。
关于内容发现:
1亿首歌曲听起来很不错,但当你需要找东西时就不那么简单了。父母不想搜索——他们想要建议。我花了很多时间构建一个浏览标签,里面有为孩子们精心挑选的专辑和有声书。现在感觉这个应用能帮助你,而不是单纯等待输入。
关于原生开发:
选择了Swift/SwiftUI而不是Flutter或React Native。没有 regrets——SwiftUI使用起来非常愉快,性能也很好。Android用户定期询问移植的事。现在没有这个能力,但Swift在Android上的进展正在进行中(https://www.swift.org/documentation/articles/swift-sdk-for-android-getting-started.html)。也许有一天。CarPlay是另一个父母们一直在询问的功能——采用原生开发应该能更容易地添加这个功能,如果Apple允许我这样做的话。
关于订阅与一次性购买:
最开始是一次性购买。发布时收入激增,然后就没了。后来转为订阅——现有的一次性购买用户仍然可以完全访问。虽然更难销售,但可持续。
如果你对独立iOS开发或为孩子们构建应用有任何问题,随时问我。如果你感兴趣,应用可以在这里找到:https://muky.app。
查看原文
Hi,<p>I started Muky in April 2024. Classic side project that got out of hand. We have two kids - the younger one is happy with the Toniebox, but our older one outgrew it. She started asking for specific songs, audiobooks that aren't available as figurines, and "the music from that movie."<p>We had an old iPad Mini lying around and already pay for Apple Music. Felt dumb to keep buying €17/$20 figurines for 30-45 minutes of content when we have 100 million songs.<p>Now at version 4.0 after ~20 updates. Some lessons:<p>On the hardware vs app tradeoff:
Toniebox and Yoto are brilliant for little ones – tactile, simple, no screen needed. But they hit a wall once kids want more. And handing a 5-year-old Apple Music means infinite scrolling and "Dad, what's this song about?" Muky sits in between – full library access, but parents control what's visible.<p>On sharing:
Remember lending CDs or cassettes to friends? Or kids swapping Tonie figurines at a playdate? I wanted that for a digital app. So I built QR code sharing. Scan, import, done. And unlike a physical thing – both keep a copy.<p>On onboarding:
First versions: empty app, figure it out yourself. Retention was awful. Now: 4-step onboarding that actually guides you. Should've done this from the start.<p>On content discovery:
100 million songs sounds great until you have to find something. Parents don't want to search – they want suggestions. Spent a lot of time building a Browse tab with curated albums and audiobooks for kids. Finally feels like the app helps you instead of just waiting for input.<p>On going native:
Went with Swift/SwiftUI instead of Flutter or React Native. No regrets - SwiftUI is a joy to work with and performance is great. Android users ask for a port regularly. No capacity for that now, but Swift for Android is progressing (https://www.swift.org/documentation/articles/swift-sdk-for-android-getting-started.html). Maybe one day. CarPlay is another one parents keep asking for – going native should make that easier to add, if Apple grants me the entitlement.<p>On subscriptions vs one-time:
Started with one-time purchase. Revenue spikes at launch, then nothing. Switched to subscription – existing one-time buyers kept full access. Harder to sell, but sustainable.<p>Ask me anything about indie iOS dev or building for kids. App is at https://muky.app if you're curious.