最近做了一个小工具,叫 GlimpseWords,是一个放在 Mac 菜单栏里的应用。
它做的事情很简单:在你使用电脑的时候,展示单词,让你在不知不觉中完成词汇积累。
这篇文章不太想从“推荐工具”的角度写,而是想聊聊这个产品是怎么产生的,以及在实现过程中踩过的一些坑。
为什么会做这个东西?
一开始其实是一个很常见的问题:背单词很难坚持。
不是方法不够多,而是大多数方法都需要你“主动去做”。
比如打开 App、开始学习、完成任务,这些都需要额外的意志力。
但现实是,只要一忙,这件事就很容易被放弃。
所以我在想:有没有一种方式,可以把“学习”这件事融入日常,而不是额外抽时间?
于是就有了这个想法:
👉 把单词放到菜单栏里
让它成为你使用电脑过程中的“背景信息”。
为什么选择菜单栏?
这个点其实是整个产品的关键。
相比弹窗、通知、桌面组件,菜单栏有几个优势:
- 一直存在,但不会打扰
- 用户天然会忽略它(反而降低干扰)
- 适合做低频但长期的曝光
本质上,它更像是一种“被动输入”的载体。
技术实现思路
简单说一下实现层面的一些东西(给对开发感兴趣的同学参考)。
1. 菜单栏 App
Mac 菜单栏应用本质上是:
- 使用 NSStatusBar 创建状态项
- 自定义 NSStatusItem 的 view
- 动态更新展示内容
核心逻辑就是:
- 定时刷新单词
- 更新菜单栏显示
- 点击后展示详情面板
2. 单词数据结构
单词数据大概包含:
- word
- meaning
- phonetic
- example
本地做了一层缓存,避免频繁请求。
3. 展示策略
这里其实有一个设计点:
👉 不追求“信息完整”,而是“可被快速感知”
比如:
- 菜单栏只展示单词
- 详情页再展示完整信息
4. 一些踩过的坑
(1)刷新频率
一开始设得比较频繁,结果体验不好:
- 用户还没看清就切换了
- 反而增加负担
后面改成更低频,体验反而更自然。
(2)信息密度
菜单栏空间非常有限:
- 字太长会截断
- 信息太多会混乱
所以最终选择“极简展示”。
(3)用户注意力
这个产品的一个核心前提是:
👉 用户不会专门去看它
所以很多设计都要围绕这个点展开。
这个产品适合谁?
从目前来看,更适合:
- 长时间使用 Mac 的人
- 想提升词汇量,但不想专门学习的人
如果你希望短期快速提升,那这种方式可能不适合。
一点感受
做这个产品的过程中,有一个比较大的感受是:
很多时候,问题不是“方法不够好”,而是“成本太高”。
如果一件事需要你持续付出额外精力,它就很难长期坚持。
所以这次更多是在尝试:
👉 能不能通过降低成本,让事情自然发生
最后
这个项目目前还在持续优化中。
如果你对这种“无感学习”的方式感兴趣,欢迎试试看,也欢迎交流一些想法。