一个业余无线电爱好者的自我迭代——当功能堆砌遇上真实学习痛点,我选择推倒重来。
写在前面
作为一个业余无线电(HAM)爱好者,摩尔斯码(CW)一直是我非常想掌握的技能。市面上的学习工具要么太老旧,要么不够贴合中文用户的学习习惯,于是我自己动手做了一个在线学习平台。
第一版做出来后,功能确实很丰富,但随着自己深入学习和收集用户反馈,我发现了一个核心问题:对新手来说,功能太多反而成了障碍。
于是,我开始了第二版的开发。这篇文章,就是这段旅程的记录。
第一版:大而全的"瑞士军刀"
🎯 设计初衷
第一版的目标很宏大——我想做一个从零基础到能上机通联的完整学习平台。事实证明,这个目标确实太打了,我实现甚至超额完成部分功能,但是效果却不是我想要的效果。
📦 功能全览
打开第一版(在线体验),你会看到一个包含 10 个功能模块 的完整系统:
| 模块 | 功能说明 |
|---|---|
| 🗺️ 学习路径 | 6 阶段完整学习路线,从认识字符到上台实战 |
| 📚 资料中心 | 摩尔斯码字符表、Q 简语表、通联语句库 |
| 🎓 学习练习 | Koch 法听力训练,支持 Farnsworth 间隔 |
| 🎯 趣味游戏 | 游戏化练习,巩固字符记忆 |
| ✍️ 抄报练习 | 从单字符到短文的渐进式抄报训练 |
| ✉️ 发送 | 软件电键发报练习,支持自动键/直键模式 |
| 📻 QSO 模拟 | 模拟真实业余电台通联流程 |
| 🔤 文本翻译 | 文本与摩尔斯码互译工具 |
| 📊 统计 | 学习数据追踪与分析 |
| ⚙️ 配置 | 速度、音调、间隔等个性化设置 |
📋 六阶段学习路径
第一版的核心是精心设计的 6 阶段学习路径:
阶段1: 认识字符 → 阶段2: 建立声音感知 → 阶段3: 抄报基础训练
↓
阶段6: 上台实战 ← 阶段5: 模拟QSO通联 ← 阶段4: 发报基础训练
每个阶段都有详细的目标说明、学习任务、小贴士和对应的练习方式推荐。此外还附带了 FAQ、学习资源推荐、CW 频段速查表、上机前检查清单、CW 频段礼仪等大量参考资料。
✅ 第一版的优点
王婆卖瓜,其实第一版在"完整性"上做得很好:
- 覆盖面广:从纯新手到准备上机,全流程覆盖
- 资料丰富:Q 简语、通联格式、频段信息一应俱全
- 功能多样:听、说、读、写、练、玩,多维度学习
- 路径清晰:6 阶段设计给学习者一个明确的"地图"
⚠️但是。。。 问题来了:新手的第一道坎
“我该从哪开始?”
随着自己和身边朋友的使用,一个尴尬的问题浮现了:
功能越多,选择越难。
一个完全零基础的新手打开网站,看到 10 个功能按钮、6 个学习阶段、一堆专业术语(QSO、Farnsworth、WPM……),第一反应往往是:
- “这些我都要学吗?”
- “Koch 法是什么?Farnsworth 又是什么?”
- “我只想先听听摩尔斯码长什么样……”
核心矛盾
我逐渐意识到第一版存在几个深层问题:
1. 认知负荷过重
新手还没建立起对摩尔斯码的基本感知,就被大量的功能选项和术语淹没了。心理学上叫"选择瘫痪"——选项越多,越难做出决策。
2. 缺乏即时反馈的正向循环
Koch 方法的核心是"每次只学 2 个字符,达到 90% 正确率再解锁下一个"。但第一版虽然支持 Koch 法,用户仍然可以随意切换到任何模块,跳过这个循序渐进的过程。
3. “资料堆砌"不等于"有效学习”
FAQ、频段速查表、上机检查清单……这些内容对有经验的人很有价值,但对第一天接触摩尔斯码的人来说,完全是噪音。
4. 移动端体验不佳
第一版是为桌面端设计的,功能模块多导致导航复杂,在手机上使用体验不够友好。
一句话总结
第一版像一本 500 页的教科书——内容很全,但新手翻开第一页就想合上。
💡 第二版:回归本质,专注 Koch 法
设计哲学的转变
想清楚问题后,第二版的设计理念变得非常简单:
不给你选择,只给你当下最需要的东西。
这其实就是 Koch 方法的精髓——循序渐进,不留退路。
🔬 什么是 Koch 方法?
Koch 方法是由德国心理学家 Ludwig Koch 在 1930 年代提出的一种摩尔斯码教学方法,被公认为最高效的入门方式。其核心原则:
- 从 2 个字符开始(通常是 K 和 M),而不是先背完整的码表
- 以全速播放字符(15-20 WPM),但拉大字符间距(Farnsworth 法)
- 达到 90% 正确率才能解锁下一个新字符
- 绝不数点划,而是建立"声音→字符"的直接条件反射
- 每天短时高频练习,比偶尔长时间训练更有效
这种方法的优势在于:你从一开始就以"正确的方式"听码,避免了日后需要"改口音"的痛苦。
🎨 第二版的核心设计
打开第二版(在线体验),你会立刻感受到不同:
极简首页——没有密密麻麻的功能按钮,只有一个核心入口:
CQ CQ 摩尔斯码学习平台
科技化学习界面
[G1 核心训练]
[ 进入当前训练 ]
没有选择困难。打开就能练。
🧠 智能训练算法:字符猎人
第二版目前的核心模块是 “G1 字符猎人”——一个听码选字符的训练模式。但它背后有一套精心设计的算法:
候选池机制
已解锁字符 ≤ 6 个 → 全量训练(所有已学字符都可能出现)
已解锁字符 > 6 个 → 固定 6 字符池,按以下策略构成:
├── 最新新增字符(单轮至少曝光 3 次)
├── 薄弱回流字符(近期高频错误项)
└── 随机补齐(已掌握字符的复习)
这意味着你每次练习的 6 个候选字符不是随机的,而是有策略地针对你的薄弱环节。
严格的进阶条件
同一字符组最近 5 轮需连续达标:每轮准确率 ≥ 90%,且错项数 ≤ 1,才解锁新字符。
这不是"做几道题就过关"的宽松标准,而是要求你在连续多轮中都保持高水平表现,确保真正掌握而非侥幸通过。
薄弱字符回流
优先回流最近 3 轮高频错项,不足再用历史薄弱项补齐;回流字符单轮至少曝光 2 次。
做错的字符不会就这么过去了——算法会记住你的薄弱项,在后续练习中反复出现,直到你真正掌握。这其实就是**间隔重复(Spaced Repetition)**的思想。
🎮 练习体验
进入训练后,界面非常干净:
- 速度可调:15-30 WPM,默认 20 WPM
- 先听再选:播放摩尔斯码声音,从候选字符中选择正确答案
- 即时反馈:做错立刻提示,不限制重播次数
- 自动汇总:系统自动记录薄弱字符,融入后续训练
核心提示只有三句话:
- 先听再选,不要在脑中数点划。
- 每题可重播一次,不限制重播次数。
- 做错后会立即反馈,并自动汇总薄弱字符。
没有多余的信息干扰你的注意力。
📊 V1 vs V2 对比
| 维度 | V1(第一版) | V2(第二版) |
|---|---|---|
| 设计理念 | 大而全,功能驱动 | 小而美,学习驱动 |
| 功能数量 | 10+ 模块 | 目前 1 个核心模块MVP,其余开发中 |
| 新手引导 | 6 阶段路径 + 大量文档 | 打开即练,零配置 |
| 学习方法 | 支持多种,用户自选 | 专注 Koch 法 |
| 智能程度 | 基础统计 | 候选池 + 进阶条件 + 回流算法 |
| 界面风格 | 桌面端为主,信息密集 | 移动优先,极简清爽 |
| 适合人群 | 有一定基础的学习者 | 零基础新手 |
| 开发状态 | 已完成 | 开发中,边写边测 |
🚧 目前进展与未来计划
已完成
- ✅ G1 核心训练模块(字符猎人)
- ✅ Koch 方法渐进式字符解锁
- ✅ 智能候选池算法(新增 + 薄弱回流 + 随机补齐)
- ✅ 严格进阶条件(5 轮连续达标)
- ✅ 薄弱字符追踪与回流复测
- ✅ 速度调节(15-30 WPM)
- ✅ 移动端适配
开发中 / 计划中
- 🔲 更多训练模式(抄报练习、发报练习等)
- 🔲 学习数据统计面板
- 🔲 Farnsworth 间隔设置
- 🔲 音调/频率自定义
- 🔲 学习进度云同步
- 🔲 成就系统与打卡激励
- 🔲 V1 中的优质内容(Q 简语、通联语句等)将以"解锁奖励"的形式逐步开放
开发哲学
第二版采用 “边写边测边用” 的敏捷开发方式:
先把最核心的训练功能(MVP)做好上线,自己每天用、找问题、改迭代,而不是关起门来把所有功能做完再发布。
这也是为什么目前只有一个模块——但这个模块已经足够一个零基础新手开始学习了。进阶模块待这个模块成熟后持续开发。
🎬 视频介绍
如果你更喜欢看视频了解,我录了一个简单的介绍视频,聊聊第二版的设计思路和目前的进展:
💭 一些思考
"少即是多"不是老生常谈
在工具型产品中,"少即是多"已经被说烂了。但只有当你真正面对用户的使用困境时,才会深刻理解这句话。第一版花了很多时间做的 FAQ、频段速查表、上机检查清单……这些内容本身没有错,但它们出现在了错误的时间——新手第一天不需要知道 SOS 的规范,也不需要知道 80 米段的频率范围。
正确的学习顺序很重要
Koch 方法之所以有效,是因为它尊重了人类学习的规律:少量→掌握→增量→掌握→……。第二版的产品设计也遵循同样的逻辑——先把一个训练模式做到极致,再考虑扩展。
做给自己用的工具
第二版首先是我自己每天在用的工具。这种"dogfooding"(吃自己的狗粮)的开发方式确保了每个功能都是真正有用的,而不是"我觉得可能有用"。
🔗 相关链接
- 第一版(完整功能版):https://codevoice.cn/embed?id=12
- 第二版(Koch 法专注版,开发中):https://codevoice.cn/embed?id=13
- B站视频介绍:开发第二版莫尔斯码学习软件,边学边改
如果你也是业余无线电爱好者,或者对摩尔斯码感兴趣,欢迎试用并给我反馈。第二版还在持续开发中,你的每一个建议都可能影响下一个版本的走向。
73 de 码语星河 📡
