1. 一页读懂
这是什么产品:Cairn 是一款户外记录 App,新西兰起步 → 之后扩到整个英语世界。核心是「数字手账 + 陌生人善意」——把用户走过的每一次路记下来,让走过同一段路的陌生人之间能默默传递善意。不是安全应急工具,不是 AR 增强现实,不是社交动态 feed(feed = 类似朋友圈那种一条一条刷的流)。
这份报告在干什么:把 21,000 多条真实用户评论(来自 App Store + Reddit,覆盖 5 个竞品在 5 个地区的表现)拆开来看,回答 5 个决策问题——① 用户多年后回看是不是真需求;② 该不该做点赞/踩/举报按钮;③ 竞品被骂得最狠的痛点是什么;④ 用户愿意为什么付费;⑤ 我们有没有漏掉什么。
数据量:
3 条最关键的结论
- 最优先 户外记录的\"活命体验\"必须先补齐——离线地图看不见、耗电狂、GPS 断轨这几个坑,正式发布前必须修完。(风险预估:新西兰首批 1000 用户如果这几个不修,预计 40% 以上第一个月就流失。数据来自 AllTrails 新西兰用户差评。)
- 最优先 收费模式现在就要定死原则——"新功能可以付费,老功能永远免费 + 下载自己数据永远免费 + 可以选择一次买断"。(定死截止:Sprint N(下一轮迭代规划)开始前必须写死收费原则;再晚定,之后每个 Sprint 都会在错误路径上累积返工。)
- 最优先 差异化窗口 12-18 个月——「我不硬塞 AI + 默认私密 + 你的数据是你的」这三件事写成公开承诺。(衡量指标:官网首页转化率 > 8%、关于页停留 > 45 秒、App Store 评论里出现"隐私 / 反 AI / 无广告"这些词 > 5%)
- 次优先 把\"陌生人善意\"从口号做成产品——具体落地成三样东西:匿名路径标记 + 路况提示 + 默认私密(详见第 11 节)。
跑偏热力图(24 主题一览)
颜色越红 = Cairn 现状离用户真实需求越远。绿 = 已对齐或"正确的空白"(明确不做)。鼠标悬停可看主题名。
2. Q1 — 多年后回看,这是不是"真需求"?
3 个主题:① 5-10 年后回看会哭 ② 用了很久就当成自己一部分 ③ 数据丢一次品牌永远死
3. Q2 — 要不要做点赞/踩/举报?用户是怎么想的?
3 个主题:① 户外用户天然反社交 ② 只想给几个真人看不是给全世界 ③ 中文用户几乎不谈"给谁看"
4. Q3 — 竞品用户具体在骂什么?
6 个主题:① 离线地图看不见 ② GPS 断轨等于危险 ③ 步道信息不准 ④ 耗电狂 ⑤ 定位掉点 ⑥ Apple Watch 支持烂
5. Q4 — 用户愿意为什么付费?为什么骂哪些收费方式?
5 个主题:① 下载自己数据是底线 ② 免费改收费 = 品牌一次死 ③ 骚扰弹窗逼卸载 ④ 一次买断反而被接受 ⑤ 带旧数据进来是大杠杆
6. Q5 — 有没有漏掉的用户心理和风险?
7 个主题:① 点亮地图会上瘾 ② 每天打开一下的仪式感 ③ "改变人生"级情感触点 ④ AI 反弹窗口期 ⑤ 中文用户对套路收费零容忍 ⑥ 澳洲区风险 ⑦ 中文差评方法论
7. Cairn 跑偏热力图(全部 24 主题)
每格显示主题编号 + 跑偏分(0 = 完全对齐用户真需求;5 = 完全空白或严重跑偏)。鼠标悬停看主题名。
分数分布
0 分 = 3 项(12.5%,做对了)|1 分 = 4 项(16.7%)|2 分 = 2 项(8.3%)|3 分 = 5 项(20.8%)|5 分 = 10 项(41.7%,其中 4 项是"正确的空白"(明确不做),6 项是"决策还没做"(需要立刻决策))
8. 3 条最关键结论(详细版)
9. 时间轴 · 一个个 Sprint 排下去
Sprint = 一轮迭代(一般 2 周)。4 条战略按依赖顺序排到 Sprint N(下一轮)、N+1、N+2、N+3。每一项写清楚:谁负责 + 做多难(估点,越大越难)+ 怎么算做完了(验收标准)。每个 Sprint 后面挂着支持它的原始用户证据链,点开可跳原文。
Sprint N(2 周):离线地图入口 + 耗电优化 + GPS 断轨恢复 = 3 项 × 13 点
Sprint N.5(1 周):安全功能 + 收费原则文档 = 2 项 × 5 点
或者把 Sprint N 扩到 3 周。
| Sprint | 对应战略 | 具体做什么 | 谁做 | 难度 | 怎么算做完了 |
|---|---|---|---|---|---|
| Sprint N 发布前拦路虎 |
战略 1 | 加"下载这一片地图到手机"入口(有下载进度条 / 存储管理 / 能看到已下载区域) | 前端 | 5 | 飞行模式下地图仍能缩放/拖动/看轨迹;中途断网可续传;下载后每个区域占用手机存储 < 500MB |
| 战略 1 | 耗电优化:GPS 记录状态测一遍 + 4 小时耗电 < 5%/小时 | 后端 | 5 | iPhone 12 后台开 4 小时追踪,电量掉 < 20%;每次状态切换(记录中/暂停/后台)有日志 | |
| 战略 1 | 崩溃恢复队列(App 被杀后 GPS 数据不丢) | 后端 | 3 | App 被系统杀掉后重启,最近 30 秒的位置点仍在;不会出现重复点 | |
| 战略 1 | 安全:设 SOS 联系人 + 分享最后一个已知位置 | 前端 | 3 | 飞行模式下 SOS 按钮能拨 111(新西兰紧急号码);位置短信发送 < 5 秒 | |
| 战略 2 | 收费原则文档(写死定价参考 + 免费/付费边界) | 产品负责人 | 2 | Sprint N 开始规划前完成;包含参考竞品价格 + 4 条禁忌全部覆盖 | |
| Sprint N+1 对外表态 |
战略 3 | 官网 + App 里亮出三条公开宣言(不硬塞 AI / 默认私密 / 你的数据是你的) | 前端 + 产品负责人 | 3 | 官网首屏能看到三条宣言原文;About 页有具体条款;App 首次打开也引用 |
| 战略 3 | 下载全格式数据免费(GPX / KML / JSON 三种通用格式都能免费下) | 后端 | 2 | 没登录也能下载;没有字段被删的限制 | |
| 战略 3 | 商业试点第一阶段:新西兰免费全功能开放 3 个月 + 收集使用数据 | 产品负责人 | 2 | 埋点:多少人下载数据 / 多少人问云同步 / 每天用多久;3 个月后出定价数据报告 | |
| Sprint N+2 陌生人善意落地 |
战略 4 | 匿名路径标记(GPS 位置 + 短文本,不显示作者是谁) | 全栈(前后端一起) | 5 | 标记上看不到任何作者 ID;首次留标记时弹窗说明是用户主动开启;UI 上"匿名"字样必须明显 |
| 战略 4 | 路况提示分类(积水 / 塌方 / 水源 / 险坡 四种图标) | 前端 | 3 | 4 种图标 + 留下的时间戳 + 30 天自动过期(怕过时信息误导) | |
| 战略 4 | 标记默认只有自己看见 + 用户主动选"公开"才对陌生人显示 | 后端 | 3 | 数据库默认可见性 = 只自己;改公开时要二次确认;公开的自动去掉用户 ID | |
| Sprint N+3 收费落地 |
战略 2 | 商业第二阶段:拿第一阶段数据定价 | 产品负责人 | 3 | 定成 NZ$3-5/月订阅 或 NZ$30-40 一次买断;有 A/B 组数据支撑 |
| 战略 2 | 商业第三阶段(Sprint N+6):付费功能上线(高精度 GPS / 大离线区) | 全栈 | 8 | 付费墙绝不挡老功能;免费用户能下所有数据;30 天无理由退款 |
依赖关系:战略 1(发布拦路虎)→ 战略 2(收费原则)→ 战略 3(宣言,需要 1 和 2 都到位)→ 战略 4(陌生人善意,需要战略 3 的"默认私密"框架先在)。
10. 收费模式建议
核心原则:
市场对标(竞品怎么收的)
推荐组合
3 阶段试点(一步步来)
- AI 是"可关闭的插件",不是产品本体 —— 默认是关的,用户想用才开
- 云同步是可选订阅,不是必须 —— 不付费的用户在本地存所有数据,不受影响
- 下载自己的数据永远免费 —— GPX/KML/JSON 三种格式,没有字段被删,不登录也能下
绝对禁止(这些都是用户 rage 出来的教训)
11. "陌生人善意" 怎么变成产品?
"陌生人善意" 这个词在 Q2(点赞/踩机制)的用户数据里意向很清楚,但目前只是口号,没变成产品功能。这一节把这个抽象概念拆成 3 个可以真做的产品面。
三个具体化的产品面
1. 匿名路径标记
在地图上留一个位置 + 短文字(不超过 140 字)。不显示是谁留的——没有用户名、没有头像、没有 ID。只显示"什么时候留的"和"是哪一类"。用户看不到"谁留的",但知道"这条路上有人留了信息"。
为什么反社交反而带来善意:去掉署名 = 去掉炫耀、去掉引流、去掉恶意举报的动机。剩下的只有纯粹的"我提醒你一下"。
2. 路况提示(4 类图标)
积水 / 塌方 / 水源 / 险坡——用图标不用文字。30 天自动过期(怕过时信息骗人)。用户可以点"+1 有帮助"但看不见总数(怕变成社交排行榜)。
直接解决 Q3.2 安全痛点:新西兰 tramping(户外徒步)用户最需要的就是这类实时路况。
3. 默认只自己看 + 明确同意才对外
标记在数据库里默认可见性 = 只自己。用户主动想改成"公开"时:
· 弹二次确认
· 自动去掉用户 ID
· 提示"这个标记会永久匿名公开"
和"默认私密"共存:默认私密不是"禁止分享",是"想分享必须明确点头 + 匿名处理"。
证据支撑(Q2 + Q5 主题)
这条战略由 Q2.1 户外用户反社交 + Q2.2 只想给特定人看 + Q3.2 安全痛点 + Q5.4 AI 反弹窗口 + Q4.1 数据是我的 五个主题交叉支撑。用户不要"社交 feed",但要"匿名的善意信息交换"—— 这两件事不冲突,正是 Cairn 的独特窗口。
和其他战略的关系
- 依赖战略 3(三条宣言)先落地 —— 否则"默认私密 + 明确同意才公开"没有整体框架去搭
- 不依赖战略 1,但需要 GPS 追踪先稳定 —— 否则标记附着的路径数据不可信
- 反哺战略 2 —— 匿名标记 + 路况提示 是"永远免费"里最有价值的内容,能加固一次买断的说服力
12. 数据附录 — 全部原始证据
18,943 条原始数据。可搜索、可筛选,点击任意一行看用户原话完整版。默认显示前 200 行,下拉加载更多。
说明(关于跑偏分修正):复核后,Q5.6 澳洲区风险从 5 分降到 3(Cairn 已有多地区框架,只需改配置),Q5.7 中文差评方法论从 5 降到 3(多语言基础已有)。更新后分布:0 分 = 3 项,1 分 = 4 项,2 分 = 2 项,3 分 = 7 项,5 分 = 8 项。详情见 offset_measurement.md。
| ID | Source | Cat | Int | CR | Rate | Date | Quote (preview) |
|---|
13. 4 个决策问题的深度回答
数据来源对账
| 数据源 | 条数 | 状态 |
|---|---|---|
| 原有 21K App Store + 68 Reddit(Cairn 相关子版) | 18,943 | 已在原报告 |
| 新增 NZ 官方数据(LandSAR / MSC / DOC / Water Safety / RCCNZ) | 28 | ✓ 到位 |
| 新提取 21K 内户外场景子集 | ~130 | ✓ 到位 |
| 原计划补爬 Reddit r/hiking / r/backpacking / r/newzealand 户外原声 | 0 | ✗ 未拿到 —— 沙箱与中国 IP 均无法访问 Reddit 及镜像 |
Q1 · 我还应该继续做下去吗?有没有类似竞品?
竞品格局(5 大竞品 18,876 条评论 + NZ 官方数据交叉验证):没有一家同时做「数字手账 + 陌生人善意」。
| 竞品 | 做什么 | 缺什么(Cairn 空间) |
|---|---|---|
| AllTrails | 步道数据 + 社交打卡 | 户外用户反感社交化,"让人走进危险境地" |
| Day One | 私密日记 + 15 年长期身份 | 零地理维度 |
| Fog of World | 脚印地图 + 一次买断 198 元 | 只有"点亮"游戏化,无标记、无善意、无叙事 |
| Polarsteps | 旅行分享给朋友 | 关系型分享,非匿名 |
| 一生足迹(中文) | 微信小程序生成轨迹 | "吃相难看"重灾区 |
LandSAR 2024/25 财年:526 次救援 → 598 人被援助 → 只救回 40 条命(6.7%)。
93% 的救援不是生死,是"卡住 / 失联 / 受伤 / 冻着 / 涨水回不去"。
这意味着 Cairn 原来的"救你命"话术是打偏的:
❌ 别定位 "we save lives"(这条赛道 LandSAR + PLB + RCCNZ + 3000 志愿者已占满)
✓ 定位应为 "帮你被找到、帮你记住"(93% 高频弱痛,没人做)
Q2 · 用户真实户外痛点是什么?
从 21K 里挖出的户外场景真实痛点
| 主题 | 21K 中被提及 | 代表 ID |
|---|---|---|
| 走错路 / 迷路 | 34 条(正反面都有) | a001893, a002364 |
| 走进危险境地 | 16 条明确写"跟着 app 反而危险" | a001966, a000620 |
| 山里无信号 | 23 条 | a002372, a001893 |
| 电池 2-3 小时耗尽 | 2 条明写"幸运我没走远" | a002151, a002201 |
| 失温 | 32 条 | 分散 |
代表性原声(21K 里真实评论)
"This app has got people into dangerous situations by giving unreliable trail info." — [a000620]
"Dangerously unreliable app - dreadful experience on 6.6 mile hike. Do not use this app unless able to navigate with map and compass independently of the app!" — [a001966]
"Nice for 2.5 hours - the app completely drained my phone in 2.5hours.. not useful at all.. lucky me I was not wondering in the wild too far." — [a002151]
NZ 官方视角的户外真痛点(MSC 2026 年 7 月 3 篇 media 一致)
- 天气突变 + 高山(冬季)—— MSC 头号公共安全担忧
- 渡河—— 年均 3 死,80% 死在洪水中;"Get home-itis"(急着回住处冒险渡河)反复致死
- 山体滑坡 / 塌方(2026-01 Mt Maunganui 度假营地事件,多人死亡包括中国公民)
- 火山(Tongariro Red Crater 仍活跃,出发前必须查)
- 过度预订(DOC 2023-10 起强制 Tongariro 预约;Great Walks 分钟级售罄 → 很多人无 hut 硬闯)
Q3 · 上线前该保留 / 该舍弃什么?
✓ 必须保留
- 匿名标记(Cairn 灵魂词,5 大竞品无一做)
- 免费下载自己的数据(4900+ 评论骂"数据被锁")
- 默认私密(户外用户反社交 4600+ 条)
- 脚印地图(Fog of World 一次买断验证)
- 多年后回看 / 手账形态(Day One 15 年)
- ⭐ 新加:行程告知朋友(MSC Land Safety Code 第 4 点原文)
- ⭐ 新加:天气 + 河流 + 高山警告(MSC 2026-07 100% 气候相关)
✗ 必须砍掉
- 公开 feed / 点赞排行
- AI 生成游记(Day One 加 AI 那次评论区炸了)
- Apple Watch 独立记录(等 v1.0 之后)
- 步道数据库(MSC Plan My Walk 已有 3000+,明说不做)
- 订阅式付费为主(改一次买断)
- v1.0 就做导入迁移(推 v1.5)
- ⭐ 新加砍:SOS 一键紧急按钮—— LandSAR + PLB + RCCNZ 已占,Cairn 打不过
3 条硬原则(抵抗诱惑)
- 别做"另一个 AllTrails"—— 用户已经烦了
- 别用增长指标毁产品 —— DAU/留存的坏功能可能就是老用户走的原因
- 别急着上中文 —— 先英语世界跑透。但 中文是 MSC 官方五语(EN/KO/JA/ES/DE)没覆盖的空缺,这是合法机会窗
Q4 · 上线后运营准备 + 做不到的事
✓ 必做 8 项
- ASO 关键词抢占:
NZ hiking journal/outdoor diary/private hiking log - Reddit r/tramping、r/newzealand 种子发帖
- ⭐ NZ DOC / MSC 合作可能:接 DOC trail alerts API
- 联系 1-2 个 NZ hiking KOL
- 客服 12 小时首响 SLA
- 上线 30 天每天回差评
- 崩溃 / 数据丢失 48 小时 hotfix
- 版本说明写人话(不许"性能优化 & bug 修复")
✗ 做不到 4 项
- 7×24 客服 → 明说 12 小时上限
- 实时步道数据维护 → 导流 DOC / Plan My Walk
- 多平台并行 → iOS 先行,Android 落后 3-6 个月
- 多语言全球化 → 英文单语 12-18 个月
⭐ NZ 特有的额外准备
- 明写"我们不做救命工具"—— LandSAR/PLB/RCCNZ 已占,跟他们互补不竞争
- App 内"户外时把 PLB 带上"提醒—— MSC 五项 Land Safety Code 第 3 项。产品合法性来源
- "Get home-itis" 反常识提醒:checkpoint 处天气变差建议原地等 X 小时,不硬冲。MSC 反复点名致死原因
- 火山活跃度检查提醒(Tongariro Red Crater / Ngauruhoe / Ruapehu)出发前 push
对原报告 Q1-Q5 + Roadmap 的修正建议
| 原报告位置 | 现状 | 修正 |
|---|---|---|
| Q3.2 安全 / 荒野迷路 | "生存责任,断轨=生命危险" | 改成"帮用户被找到",不是"救命" |
| 战略 1(离线+耗电+追踪+安全) | 4 个 CRITICAL | ⚠️ "离线是不是必须"这个假设 未被 NZ 数据验证—— 需补验 SAR 信号覆盖率 |
| Roadmap Sprint N | 含 "SOS 联系人 + 最后已知位置分享" | 砍 SOS;保留"位置分享"改为"给你的信任朋友"(回归 MSC Land Safety Code) |
| Q5.5 中文 Rage | "中文版禁止套路" | 加:中文是 MSC 官方 5 语言(EN/KO/JA/ES/DE)没覆盖的空缺,合法机会窗 |
| 陌生人善意 §11 | 3 个具体化面 | 加第 4 面:行程告知功能—— MSC 官方 Land Safety Code 4 的现代实现,产品合法性来源 |
4 个问题一句话总结
- 是否继续做:继续。5 大竞品无一做「数字手账 + 陌生人善意」。但从"救命"改口径为"被找到 + 记忆"(NZ SAR 数据支持)
- 户外真实痛点:走错路 / 无信号 / 电池死 / 变得危险(21K 里的 90+ 条)+ 天气突变 / 渡河 / 高山 / 火山(NZ 官方视角)。"用户在山上心里怎么想"这一层没数据 —— Reddit 户外社区没爬到
- 上线前该做:保留匿名标记 / 免费下载 / 默认私密 / 脚印地图 / 手账;新加"行程告知" + 天气/河流/高山警告;新砍 SOS 按钮
- 上线后准备:必做 8 项(ASO/KOL/客服/回评/hotfix/版本说明 + MSC/DOC 合作探索);做不到 4 项(7×24/步道库/多平台/多语言)—— 都要预期不装能做
数据缺口与后续(诚实清单)
| 缺口 | 影响 | 补法 |
|---|---|---|
| Reddit 户外大社区原声 | Q2 只能间接回答 | 有外网时用 Reddit JSON API 补爬 |
| NZ SAR Council 完整年报 PDF | "离线是不是伪需求"无法判断 | 手动下载 nzsar.govt.nz PDF |
| DOC 步道年度关闭统计 | 无法量化步道关闭对用户的影响 | DOC 官方年报 |
| 本地 vs 游客 SAR 分布 | 无法确认 Cairn 主要目标用户 | 只有 MSC 五语言作为间接信号 |
·
raw/nz_official.jsonl(28 条 NZ 官方硬事实)
·
raw/nz_official_summary.md(8.7 KB 摘要 + 洞察)
·
raw/outdoor_evidence.json(21K 内户外场景引用样本)
·
raw/reddit_blocked.md(Reddit 无法访问的完整证据 + 复现命令)
·
SECOND_TIER_ANALYSIS.md(本节内容的 markdown 版本)
14. 从"用户 App 评论"到"用户在山上真实痛点"
核心发现:Cairn 灵魂词「数字手账 + 陌生人善意」意外地完美契合真实用户痛点——但原报告战略 1 因为数据源偏差(99.6% App review)严重误导了 Roadmap。
核心发现:Cairn 灵魂词「数字手账 + 陌生人善意」意外地完美契合真实用户痛点——但原报告战略 1 因为数据源偏差(99.6% App review)严重误导了 Roadmap。
数据源大盘点
| 数据源 | 条数 | 用途 | 状态 |
|---|---|---|---|
| 21K App Store + 68 App 相关 Reddit | 18,943 | 竞品 App 层痛点 | ✅ 原报告 |
| NZ 官方(LandSAR / MSC / DOC) | 28 | 官方视角户外风险 | ✅ 第二部分 |
| Reddit 户外大社区(r/hiking + r/backpacking + r/CampingandHiking + r/newzealand + r/tramping) | 4,847 | 用户山上真实痛点 | ✅ 第三部分新增 |
| 合计 | ~24,000 | — | ✅ 完整 |
用户真实痛点 vs App 层痛点(4,847 Reddit 数据分布)
scripts/classify_reddit_themes.py。76% 帖子未分类——不是所有帖子都在讨论痛点(很多是秀风景、请路线推荐、装备清单晒等),只算真正提出户外场景痛点的 1,165 条(24%)。
| 痛点主题 | 频次 | 占总量% | 占痛点% | Cairn 灵魂词是否契合 |
|---|---|---|---|---|
| 新手焦虑 / 求建议(planning anxiety) | 672 | 13.9% | 57.7% | ✓ 陌生人善意匿名建议 |
| 装备失败(gear failure) | 133 | 2.7% | 11.4% | △ 装备提示型标记 |
| 独行恐惧(solo fear) | 86 | 1.8% | 7.4% | ✓ 数字手账 + 朋友订阅 |
| 救援 / SAR / PLB | 68 | 1.4% | 5.8% | ✗ 不是我们的赛道 |
| 天气 / 失温 | 63 | 1.3% | 5.4% | ✓ 天气警告 + Get home-itis |
| 渡河 / 洪水(NZ 强信号) | 46 | 0.9% | 3.9% | ✓ 河流警告 + MSC Land Safety Code |
| 迷路 / 偏离步道 | 43 | 0.9% | 3.7% | ✓ 前人 cairn 标记 |
| 受伤 | 34 | 0.7% | 2.9% | △ 装备提示 |
| 信号 / 离线 / 电池死(原战略 1 头号问题) | 20 | 0.4% | 1.7% | ✗ 原战略 1 严重偏差 |
原战略 1 说"离线地图 + 耗电 + GPS 断轨"是头号问题——这基于 21K App 评论(99.6% App review)。
真实数据说(1,165 条有痛点表达的帖子中):用户真正的痛点是 planning anxiety 57.7% + gear failure 11.4% + solo fear 7.4% + weather 5.4%,占痛点讨论的 82%。
信号/离线/电池只占 1.7%(4,847 总量的 0.4%)——原战略 1 因数据源偏差严重误导 Roadmap。
但 Cairn 灵魂词「数字手账 + 陌生人善意」意外地对齐了真实数据:
- 主题 1 新手焦虑 672 条(占痛点 57.7%)← 匿名前辈建议(陌生人善意)是完美解
- 主题 3 独行恐惧 86 条 ← 数字手账 + 朋友订阅
- 主题 5 天气 63 条 ← 天气警告 + Get home-itis 反常识提醒
- 主题 6 渡河 46 条 ← MSC Land Safety Code 第 4 项 + 河流警告
代表性用户原声(4,847 中挑 21 条真户外痛点,按主题)
精确 13 Sprint plan(2026-07-19 起 · 目标 2027-01-19 上线,避开 2027-01-24 春节高峰)
| Sprint | 日期 | 主题 | 具体做什么 | Sprint 末真机测 |
|---|---|---|---|---|
| S60a | 07-19 → 08-01 | 代码清理 + 定位重写 | ① 砍未来不做的功能代码(AR / SOS / 其他遗留),为主线释放空间 ② 落地页 + App Store 描述从"救你命"改成"帮你被找到 + 帮你记住"(对齐真实用户痛点数据)③ 收费原则写死文档:新功能可付费、老功能永免费、数据永免费下载 ④ 补充测试基础设施 | 世纪公园 hike + plant marker + finalize(清理后回归) |
| S60b | 08-02 → 08-15 | 修上线前发现的关键 Bug | ① 追踪路径记录相关的数据可靠性问题(GPS 断轨、数据丢失、同步竞争)② marker 隐私 + 好友关系边界(删好友级联、隐藏内容边界、反滥用)③ 每个 Bug 修复前 2 subagent 独立评估、100% 信心才动 | Gate 1 · 08-15 · L1-L5 全绿 |
| S61 | 08-16 → 08-29 | 天气 + 河流集成(真实痛点 #3) | ① 接 NZ MetService API + DOC trail alerts(新写 backend service)② 出发前"天气 + 河流状态"页 UI ③ 渡河风险路线预警(MSC 80% 洪水中数据) | 浦东南路→陆家嘴长程 GPS 稳定性 |
| S62 | 08-30 → 09-12 | 高山 + 火山 + Get home-itis | ① Tongariro/Ngauruhoe/Ruapehu GNS Science API ② 高山冬季危险等级 push ③ "Get home-itis" 反常识提醒(checkpoint 天气变差建议原地等) | 拉 1 朋友双端好友测 |
| S63 | 09-13 → 09-26 | 行程告知机制(真实痛点 #4 独行恐惧) | ① 分享行程给信任 1-5 人(MSC Land Safety Code 4 落地)② checkpoint 好友自动通知 ③ 预计回程超时警报 | 崇明东滩无信号回补测试 |
| S64 | 09-27 → 10-10 | 陌生人善意机制 + 装备提示 marker(痛点 #1 + #2) | ① 匿名标记 + 加"新手建议"分类标签 ② 新加 marker 类型"装备提示"(gear tip)——承接痛点 #2 gear failure 11.4%(Reddit 133 条)③ 无排行点赞算法(不显总数) | 真机 AR marker 30m 精度 |
| S65 | 10-11 → 10-24 | 路况标记 4 类图标 | ① 积水/塌方/水源/险坡 4 图标 ② 30 天自动过期 ③ 语音标记(planned 卡完成)—— 这 4 类是陌生人善意 marker 系统的子分类,与 S64 的"装备提示 (gear tip)"并列作为独立 marker 类型(v417 起总共 6 类:cairn / danger / junction / water / hut + 装备提示 + 路况 4 子分类) | 2 人拉起来测善意传递 |
| S66 | 10-25 → 11-07 | 手账 / on-this-day(灵魂词缺口) | ① fog 覆盖率 dashboard("新西兰你走过 X km² · Y%")② 当年今日推送 ③ 桌面 widget | 真机 widget 表现 |
| S67 | 11-08 → 11-21 | 路线 + 好友分享收尾 | ① 存路线 / snap / 编辑 3 张 wip 卡收尾 ② 路线分享给好友 ③ 一键沿用 + 语音自动播放(Alex persona 承诺) | Gate 2:灵魂词落地检验 |
| S68 | 11-22 → 12-05 | 性能 + 稳定性硬指标 | ① 4h 户外耗电 < 5%/h 硬门槛测(batteryMonitor 已就绪)② 崩溃安全写入 + 本地队列 ③ GPS 状态机端到端测试 ④ iPhone 15 Pro / iPhone 12 双基准 | 4h 户外真机耗电(青浦淀山湖) |
| S69 | 12-06 → 12-19 | 首用户体验 + ASO | ① ASO 关键词抢占 ② 落地页三宣言 ③ App 首次打开引用 MSC Land Safety Code | 招 3-5 内部内测者装 TestFlight |
| S70 | 12-20 → 2027-01-02 | 合作 + KOL | ① 联系 NZ DOC/MSC 邮件 ② KOL 联系名单 ③ Reddit r/tramping/r/newzealand 种子帖准备 | Gate 3:合作探索有实质进展吗 |
| S71 | 2027-01-03 → 2027-01-16 | 客服 + hotfix + 上线 | ① 客服 SLA + hotfix 通道 ② App Store 提交材料 ③ 30 天差评回复机制 ④ 2027-01-19 NZ 单市场上线(春节前 5 天,避开 2027-01-24 春节高峰) | 全流程演练 |
MSC Land Safety Code 5 项(NZ 官方安全守则 · 报告多处引用)
- Plan your trip——出发前查天气 / 步道状态 / 河流情况(对应 S61 天气 + S62 高山 + S65 路况标记)
- Tell someone your plans and take ways to get help——**告诉信任的人你的行程 + 带求救工具(PLB)**(对应 S63 行程告知机制)
- Be aware of the weather——出发中天气变化警觉(对应 S62 Get home-itis 反常识提醒)
- Know your limits——认知自己能力边界(对应 S64 匿名前辈建议 + 新手焦虑主题 #1 解决方案)
- Take sufficient supplies——带够食物水衣(对应 S64 装备提示 gear tip marker · 承接痛点 #2)
3 个决策 Gate
- Gate 1(S60b 末 · 08-15):清理阶段完成 + 关键 Bug 全修完 + 测试基线全绿?(S60 拆 S60a+S60b)
- Gate 2(S67 末 · 11-21):三大灵魂词落地了吗?Cairn ≠ Fog of World 能证明吗?
- Gate 3(S70 末 · 2027-01-02):MSC 或 DOC 至少"不反对"?敌意 → 暂缓上线
Cairn 测试塔 · L1-L7(基于现有工具)
| 层 | 测试类型 | 现有工具 | 状态 | 谁做 |
|---|---|---|---|---|
| L1 | 单元 | jest-expo(23 前端测试) | △ 前端有,backend 空 → S60a 首任务补齐 | AI |
| L2 | Web E2E | playwright + __cairnStores hook + navigationRef | ✓ 就绪 | AI |
| L3 | 后端 API replay | replay-session-191.js 到 aliyun 真后端 | ✓ 就绪 | AI |
| L4 | GPS 合成回放 | gen-pudong-lujiazui-trace.js + Mapbox snap | △ 需扩 NZ preset | AI(S60 首 1 天扩) |
| L5 | Web 视觉 | playwright + mapboxAdapter.web.tsx(真 mapbox-gl-js) | ✓ 就绪 | AI |
| L6 | iOS 真机功能 | 上海 TestFlight + Xcode Simulate Location(GPX) | △ 需 GPX 生成脚本 | 你(上海) |
| L7 | iOS 真机户外 | 上海 + 朋友真跑 | 上线前 2 次 | 你 + 朋友 |
上海测 NZ 场景对应表
| 上海场景 | 对应 NZ 场景 | 测什么 |
|---|---|---|
| 世纪公园环线 | Tongariro 起始 1km | 只测 GPS 记录基本功能(世纪公园海拔差 < 10m 平坦柏油道;Tongariro 起始 1km 已有 100m+ 高差,卫星几何/多路径干扰不同量级) ⚠️ marker 精度需 NZ 真机 L7 才验,L6 上海无法代表 |
| 浦东南路 → 陆家嘴 | 长途 tramp 稳定性 | 30min 走线 + 暂停恢复 + snap-to-road |
| 崇明东滩 | Fiordland 无信号 | 离线模式 + 回补上传 |
| 青浦淀山湖 4h 徒步 | Great Walk 半日 | 耗电 < 5%/h + memory_points 端到端 |
| Xcode Simulate Location + gen-nz GPX | Tongariro 20.2km / Milford / Mt Holdsworth | 高海拔差 + 河流断点 + 迷路自救 |
已知报告局限 · 二次深读补充
- S60a 后 Bug 修复的测试策略:先写"期望态测试"(红测),S60b 修完 Bug 让测试变绿——作为回归防线,防止未来改动破坏刚修好的行为。
- Sprint 编号统一:报告有两处 Sprint 编号系统(§9 抽象的 Sprint N/N+1、§14 具体的 S60a-S71)。以 §14 为准。Crosslink:Sprint N = S60a+S60b(清理阶段);Sprint N+1 = S61-S64(战略落地);Sprint N+2 = S65-S67(陌生人善意);Sprint N+3 = S68-S71(发布准备)
- 三宣言全文(S60a 落地页 + S69 首用户体验共同承接):
- Cairn 默认私密 —— 永远不做公开 feed / 点赞排行
- 你的数据永远可以免费下载走
- AI 只用于安全过滤(挡色情/暴力),不训练你的数据,可永久关闭
docs/marketing/landing.html+ App Store 描述;S69 在 App 首次打开屏 + About 页展示(三处一致)。 - 上线日 vs S71 边界:S71 收尾 2027-01-16 · 上线 01-19 · 春节 01-24。中间 3 天为"上线周护航"(作者待命修问题,无新代码)。发现严重问题立即 hotfix,否则被动观察。
- 真机测试策略:S62 高山火山无法上海 mock —— 提前招募 NZ 内测者(不能等 S69)。S68 4h 耗电和地形无关,青浦淀山湖代表。S63 无信号崇明东滩代表。
·
raw/reddit_outdoor.jsonl(4,847 条 Reddit 户外原声)
·
raw/reddit_picked_translated_v2.json(24 条 quote 中英对照,见上方 modal)
·
raw/nz_official.jsonl(28 条 NZ 官方硬事实)
·
raw/reddit_theme_classification.json(可复现的痛点分类脚本产出)