Files
FocusBuddy/mvp-launch-checklist.md
2025-11-22 18:17:35 +08:00

16 KiB
Raw Blame History

FocusBuddy MVP 上线清单

目标: 4 周内完成可上线版本 策略: 最小可行 → 快速上线 → 迭代优化 创建日期: 2025年11月22日


一、MVP 功能精简建议 ⚠️

1.1 必须保留(核心价值)

功能 优先级 理由
一键开始专注25分钟固定 P0 降低选择成本
"I got distracted" 按钮 P0 核心差异化功能
4种分心分类 P0 提供情感支持
鼓励文案反馈 P0 体现"温柔"定位
简单完成统计 P0 提供成就感

1.2 建议延后V1.1 迭代)

功能 延后理由 替代方案
⏸️ 时长滑动调整5-60分钟 增加开发复杂度 固定25分钟 + 设置页预设3个选项
⏸️ 白噪音播放 需要音频资源采购 + 测试 V1.0 不实现,聚焦核心体验
⏸️ PDF 报告导出 复杂度高,用户需求待验证 先用截图分享替代
⏸️ 成就徽章动画 需要 Lottie 资源 简化为静态图标 + 文字
⏸️ 每周趋势图表 需要图表库 仅显示"今日总时长"

1.3 MVP 最小功能集3个核心页面

页面1: Home Screen

  • 大按钮: "Start Focusing (25 min)"
  • 小字提示: "Tap 'I got distracted' anytime — no guilt."
  • 底部导航: History | Settings

页面2: Focus Screen

  • 倒计时: 24:37
  • 按钮: "I got distracted" (弹出4选项)
  • 按钮: "Pause" | "Stop"

页面3: Complete Screen

  • 标题: "You focused for 24 minutes"
  • 今日统计: "Total today: 47 mins | Distractions: 2"
  • 鼓励语: 随机一条
  • 按钮: "Start Another"

附加页面(简化版):

  • History: 仅显示当天记录(列表)
  • Settings: 默认时长选择 | 隐私政策链接 | 去广告按钮

二、技术实现优化建议

2.1 依赖包精简(减少集成风险)

必须集成:

dependencies:
  flutter: sdk
  hive: ^2.2.3              # 本地存储
  hive_flutter: ^1.1.0
  flutter_local_notifications: ^17.0.0  # 计时完成通知
  path_provider: ^2.1.0     # 存储路径

暂缓集成V1.1:

# workmanager: ^0.5.2       # 后台任务MVP 不需要)
# lottie: ^3.0.0            # 动画(用静态图标替代)
# just_audio: ^0.9.36       # 音频(延后)
# pdf: ^3.10.0              # 报告导出(延后)

广告延后到 V1.0.1:

# google_mobile_ads: ^4.0.0  # 先上架审核通过再加广告

2.2 数据结构简化

// 最小可行数据模型
@HiveType(typeId: 0)
class FocusSession {
  @HiveField(0)
  DateTime startTime;

  @HiveField(1)
  int durationMinutes;  // 实际专注时长

  @HiveField(2)
  int distractionCount; // 分心次数(简化为计数)

  @HiveField(3)
  bool completed;       // 是否完成
}

// V1.1 再扩展详细分心类型

2.3 动画简化策略

原设计 MVP 简化方案 节省开发时间
Lottie 粒子背景 纯色背景 + CSS 渐变 1天
计时器呼吸动画 静态显示 0.5天
成就徽章弹出 简单文字卡片淡入 1天
底部弹窗拖拽 标准 showModalBottomSheet 0.5天

总计节省: 3天开发时间


三、上线前必备清单

3.1 应用商店准备

iOS App Store

  • 开发者账号 ($99/年,需提前注册)
  • App 图标 1024×1024 (无透明通道,必须)
  • 截图 至少3张 (6.5" iPhone)
    • 建议: Home页 | Focus页 | Complete页
  • 隐私政策链接 (托管在 GitHub Pages)
  • 应用描述 (英文150-200字)
  • 关键词 (最多100字符)
    • 建议: focus,timer,pomodoro,gentle,ADHD,productivity,neurodivergent

Google Play Store

  • 开发者账号 ($25 一次性)
  • App 图标 512×512
  • 截图 至少2张 + 1张横幅图 (可选)
  • 隐私政策链接
  • 内容分级问卷 (选择 "Everyone")
  • 短描述 (80字) + 完整描述 (4000字)

3.2 合规文档(必须完成)

优先级 P0:

模板待补充:

  • 应用商店描述文案(中英文)
  • 关键词优化列表
  • ASO 元数据表格

3.3 测试清单(上线前必测)

功能测试

  • 计时器倒计时准确(误差 < 1秒/分钟)
  • "I got distracted" 不中断计时
  • 数据持久化(关闭 App 重开数据仍在)
  • 完成后统计正确(时长 + 分心次数)
  • 暂停/恢复功能正常

平台测试

  • iOS 真机测试至少1台推荐 iPhone 12+
  • Android 真机测试至少2台不同品牌
  • 适配刘海屏/水滴屏
  • 横竖屏切换不崩溃

边界测试

  • 计时到0秒时行为正常
  • 快速点击按钮不崩溃
  • 本地存储达到上限时处理建议保留最近100条
  • 系统通知权限被拒绝时提示

性能测试

  • 内存占用 < 100MB
  • 冷启动时间 < 2秒
  • 电池消耗正常1小时专注 < 5%电量)

四、风险预警与应对

4.1 高风险项(可能导致延期)

风险 概率 影响 预防措施
iOS 审核被拒 60% 延期1-2周 提前研读 App Store 审核指南,避免医疗声明
AdMob 账号被封 30% 收入归零 MVP 先不集成广告,等有用户再加
Flutter 版本兼容问题 40% 延期3-5天 使用稳定版 Flutter 3.16+,依赖包固定版本
真机测试发现严重 Bug 50% 延期1周 第2周即开始真机测试不要等到最后

4.2 应对策略

Plan A (理想): 4周完成上线 Plan B (现实): 5-6周完成预留缓冲 Plan C (保底): 先上架 Android审核更快iOS 延后


五、MVP 开发路线图(调整版)

Week 1: 核心框架 + 基础 UI

目标: 能跑通主流程,无需完美

  • Day 1-2: Flutter 环境搭建 + 项目初始化
  • Day 3-4: Home 页 + Focus 页 UI
    • 硬编码数据,先实现布局
    • 按钮可点击,无实际逻辑
  • Day 5-7: 计时器核心逻辑
    • 倒计时功能(使用 Timer.periodic
    • 暂停/恢复/停止
    • 里程碑: 能完整跑一次25分钟计时

Week 2: 数据持久化 + 分心记录

目标: 数据能保存和读取

  • Day 8-9: Hive 数据存储
    • 定义 FocusSession 模型
    • 保存到本地数据库
  • Day 10-11: 分心按钮 + Bottom Sheet
    • 4种分心类型选择
    • 点击后显示鼓励文案Toast
  • Day 12-14: Complete 页 + 统计逻辑
    • 显示当次专注时长
    • 计算今日总时长和分心次数
    • 里程碑: 能看到历史数据

Week 3: 设置页 + 通知 + 真机测试

目标: 功能完整,开始测试

  • Day 15-16: Settings 页面
    • 3个预设时长选择15/25/45分钟
    • 去广告按钮(占位,不实现)
    • 隐私政策链接
  • Day 17-18: 本地通知
    • 计时完成时弹通知
    • 处理权限请求
  • Day 19-21: 真机测试 + Bug 修复
    • iOS 和 Android 各测至少2轮
    • 修复崩溃和明显 Bug
    • 里程碑: 可以交给朋友测试

Week 4: 上架准备 + 提交审核

目标: 提交 App Store 和 Play Store

  • Day 22-23: 应用图标 + 截图制作
    • 设计工具: Figma / Canva
    • 准备所有尺寸资源
  • Day 24-25: 商店页面填写
    • 撰写应用描述(参考竞品)
    • 上传隐私政策到 GitHub Pages
  • Day 26: iOS 提交审核
    • 打包 IPA + 上传 App Store Connect
    • 提交审核通常需要1-3天
  • Day 27: Android 提交审核
    • 打包 AAB + 上传 Google Play Console
    • 提交审核通常需要1-7天
  • Day 28: 缓冲时间
    • 处理审核反馈
    • 准备推广素材

六、产品设计补充建议

6.1 增加的必要功能

1. Onboarding 引导页(首次启动)

为什么需要:

  • 解释 "I got distracted" 按钮的独特价值
  • 降低新用户困惑

设计2-3页滑动:

页面1:
标题: "Focus without guilt"
说明: "This app is different — it won't punish you for losing focus."

页面2:
标题: "Tap when you get distracted"
说明: "We'll gently remind you to come back. No shame, no stress."

页面3:
标题: "Track your progress"
说明: "See how you're improving, one session at a time."
[Get Started]

实现:

  • 使用 SharedPreferences 存储是否首次启动
  • 使用 PageView 实现滑动
  • 开发时间: 1天

2. 空状态提示History 页无数据时)

当前问题: 首次使用时 History 是空的,用户不知道发生了什么

建议设计:

┌─────────────────────────────────┐
│                                 │
│         📊                      │
│                                 │
│   No focus sessions yet         │
│                                 │
│   Start your first session      │
│   to see your progress here!    │
│                                 │
│   [Start Focusing]              │
│                                 │
└─────────────────────────────────┘

3. 后台计时提醒

当前问题: 用户切到其他 App 可能忘记正在计时

建议实现:

  • 进入后台时显示系统通知: "Focus session in progress — 12:34 remaining"
  • 使用 flutter_local_notifications 持续更新
  • 开发时间: 0.5天

4. 计时完成后的行为

当前缺失: 用户看到 Complete 页后,下一步做什么?

建议增加:

  • "Take a 5-min break" 按钮(开始休息倒计时)
  • "Start another session" 按钮(直接开始)
  • "View history" 按钮(查看统计)

6.2 文案优化

当前问题

部分文案过于书面,不够"温柔"

建议修改:

原文案 优化后 理由
"Focus Complete" "Nice work!" 更口语化
"Distractions: 2 times" "Got distracted 2 times — that's okay!" 强化无惩罚感
"Total today: 47 mins" "You've focused for 47 mins today" 更个人化

增加失败场景文案

场景: 用户点击 "Stop" 提前结束

当前: 无提示 建议:

弹窗:
"Want to stop early?
That's totally fine — you still focused for 12 minutes!"

[Yes, stop]  [Keep going]

6.3 成就系统简化MVP 版)

原方案问题

主题皮肤需要大量设计资源 + 广告收益不确定

MVP 替代方案: 文字徽章

// 简单的里程碑系统
Map<int, String> achievements = {
  1: "🌱 First Step",          // 完成第1次
  5: "🔥 Getting Started",     // 完成第5次
  10: "⭐ Steady Focus",       // 完成第10次
  25: "💪 Focus Champion",     // 完成第25次
  50: "🏆 Focus Master",       // 完成第50次
};

显示方式:

  • 完成时弹出简单卡片
  • Settings 页显示已解锁徽章列表
  • 开发时间: 0.5天比主题系统节省2-3天

七、商业化路径(上线后)

7.1 MVP 上线策略(免费 + 无广告)

为什么先不加广告?

  1. iOS 审核通过率更高(广告常被拒)
  2. 用户体验更好,初期口碑传播更快
  3. 先验证产品价值,再考虑变现

V1.0 → V1.1 加广告时机:

  • 下载量 > 1000
  • 日活用户 > 100
  • App Store 评分稳定在 4.5+

7.2 优化后的变现模型

版本 变现方式 说明
V1.0 (MVP) 完全免费 快速获取用户,验证留存
V1.1 激励视频广告 看广告解锁"额外鼓励语"
V1.2 IAP 去广告 $1.99(比原方案便宜,提高转化)
V2.0 Pro 订阅 $0.99/月,含白噪音 + PDF 报告

7.3 核心指标追踪(手动记录)

MVP 阶段前30天:

  • 下载量(每天记录 App Store / Play Store 数据)
  • 留存率: Day1 / Day7 / Day30
  • 完成专注次数: 人均完成数
  • Crash 率(使用 Firebase Crashlytics 免费版)

目标:

  • Day1 留存 > 40%
  • Day7 留存 > 20%
  • 人均完成 > 3次/周

如果达不到: 说明产品体验有问题,需要迭代核心功能


八、应用商店 ASO 素材模板

8.1 App Store 文案

App 名称:

FocusBuddy - Gentle Focus Timer

副标题 (30字符):

Focus without guilt or shame

描述 (英文):

FOCUS WITHOUT GUILT

FocusBuddy is different. It won't punish you for getting distracted.

🌿 TAP "I GOT DISTRACTED" ANYTIME
No shame. No stress. Just a gentle reminder to come back.

💚 BUILT FOR NEURODIVERGENT MINDS
If traditional focus timers make you feel bad, this one's for you.

📊 TRACK YOUR PROGRESS
See how you're improving — without judgment.

✨ PRIVATE & OFFLINE
All your data stays on your device. No cloud sync. No tracking.

---

"Finally, a focus app that doesn't make me hate myself." - Beta tester

Made with care for people who think differently.

关键词 (100字符逗号分隔):

focus,timer,pomodoro,ADHD,productivity,gentle,neurodivergent,study,work,mindful

8.2 Google Play 文案

短描述 (80字):

A focus timer that won't shame you for getting distracted. Track gently.

完整描述:

(同 App Store格式转为 Markdown)

WHAT MAKES IT DIFFERENT?
• Tap "I got distracted" without stopping the timer
• Get gentle encouragement instead of punishment
• See patterns in what pulls you away
• 100% offline and private

WHO IS IT FOR?
Perfect for anyone who struggles with traditional focus apps:
✓ ADHD / ADD
✓ Anxiety
✓ Autistic individuals
✓ Anyone with attention challenges

FREE. NO ADS (for now). NO TRACKING.

Download and start focusing — gently.

九、上线后 30 天行动计划

Week 1: 冷启动(目标: 100 下载)

  • Day 1: 在 r/ADHD 发帖分享(参考产品设计方案
  • Day 3: 在 ProductHunt 首发(周三上线效果最好)
  • Day 5: 发 TikTok 短视频(展示 "I got distracted" 按钮)
  • Day 7: 统计数据,回复所有评论和反馈

Week 2-3: 社区渗透(目标: 500 下载)

  • 在 ADHD 相关 Discord/Slack 分享
  • 联系 3-5 个 ADHD YouTuber提供 Pro 版兑换码)
  • 在 Indie Hackers / Hacker News 分享开发故事

Week 4: 优化迭代

  • 分析用户反馈,提取高频需求
  • 修复 Crash 和严重 Bug
  • 规划 V1.1 功能(根据数据决定)

十、应该删除/推迟的原方案内容

删除(与 MVP 理念冲突)

  1. TopOn 广告聚合 - 过度优化AdMob 够用
  2. Export PDF Report - 用户需求未验证
  3. Body Doubling Lite - 概念模糊,延后到 V2.0

⏸️ 推迟到 V1.1+

  1. 主题皮肤系统 → 简化为文字徽章
  2. 白噪音播放 → 等有收入后再做
  3. 每周趋势图表 → 先用简单列表
  4. 时长滑动条 → 固定25分钟 + 设置页3选项

保留(核心差异化)

  1. "I got distracted" 按钮
  2. 4种分心分类
  3. 鼓励文案库
  4. 无惩罚机制
  5. 100% 离线

总结: MVP 成功的3个关键

1. 功能聚焦

只做最能体现差异化的功能 - "I got distracted" + 鼓励文案

2. 快速上线

4周必须提交审核 - 延期会导致热情消退

3. 数据驱动

上线后看留存率 - 如果 Day7 留存 < 20%,说明产品不成立


接下来的行动:

  1. 确认是否接受 MVP 功能精简建议
  2. 补充 隐私政策 开发者信息
  3. 准备开发者账号iOS $99 + Android $25
  4. 开始 Week 1 开发

Document Status: Ready for Review Next Update: 根据实际开发进度调整里程碑