反思与关键概念 — 把信心记在进度旁边

项目内容
本周目标反思关键概念,把信心记在进度旁边
本周简介收束七个关键概念,并把信心与进度并排记录——因为不敢开口的学生还没做完这个单元

本周为什么做这件事

画布的 Value Propositions 那一格写着:confidence is measured alongside progress,因为一个不愿意开口尝试的学生,无论答对答错,都还没有做完它。

这句话是本单元真正的判据。过去两周我们一直在推概念和英语;如果这周只收概念不收信心,那么这个单元最后会塌回”孩子能定义 resilience,但不会用它解释身边真实的决定”——也就是画布一开始就说没做完的那种状态。

三件事

1. 关键概念收束 七个关键概念逐一落到这个单元上,每个都要能反向回指:它是靠哪条探究线索建立起来的?靠哪段泛读文本?靠哪个易混概念的拆解?

2. 反思环节(Reflection) 不是复述知识点,而是让学生说出一个他原本以为、现在改了的判断。这是 PYP 反思的实质,也是唯一能暴露”概念真的动了”还是”概念只是被讲过”的证据。

3. 信心与进度并排 这两列必须同时存在、同时更新。缺了信心那列,进度就是假的;缺了进度那列,信心就是自我感觉。

完成的样子

  • 七个关键概念 × (探究线索 / 泛读文本 / 易混拆解) 三向可回指
  • 每个概念一段学生原话的”我原本以为 → 现在”
  • 进度列与信心列并排出现,任何一个环节缺任一列就算未完成

给 W44 的交接:W44 要把这个单元打包成可售卖的学习包,爸妈看到的就是这两列的并排结果。如果这两列读起来像一份成绩单而不是一个学习者,这周的活就白干了。

10-19 · reading.im 说明书 · 怎么读 × 怎么存

给孩子的说明书:怎么读 · 五件工具,五圈动作
完成

前两份说明讲的是这个单元是什么、答案怎么自己找出来。今天这份讲你手上这台机器怎么用——它不是一个播放器,是一套帮你把书读进去的工具。

暖色手绘插画:一个孩子盘腿坐在床上的暖黄色台灯下,手里捧着平板,屏幕是一本古埃及故事书和一枚播放按钮;脖子挂着大耳机,旁边坐着一个小机器人伙伴,床头柜上摞着绘本和一杯水
平板里那本古埃及故事书,就是你的第 19 篇——戴上耳机,点一下播放。

先认一下这个圈

你的单元是一圈一圈转的:预读扫描 → 泛读 → 找一找 → 理一理 → 反思关键概念。App 不会替你转这个圈,但它在每一圈上留了一处机关。认全这五处,你就知道什么时候用哪个。

圈你要做的动作App 在这一步给你什么这一圈留下什么
预读扫描还没开始读,先听个开头封面右上角那个 BenBen 小头像,点一下就有中文开场知道这篇大概讲什么
泛读别管难词,先把整篇过一遍设置里的自动播放 + 自动翻页耳朵先过一遍
泛读读不懂时,先用中文弄懂左上角 EN/CN 圆标:点一下换中文讲解,长按进中文讲故事中文里站稳的理解
找一找不懂的词、句子,当场问清楚选中文字 → 图中间浮出的 BenBen 小圆标(意思 / 其他意思 / 语法)意思 + 语法
找一找查过的词,收进自己的本子解释卡片上的 Add word to notebook你标过的生词表
找一找整页有疑问,直接问 BenBen右下角的问号圆标答案落回这一页
理一理把两件很像的事分开,找那条分界线这一步没有按钮。App 只负责把原文和页码留在那儿一句带「还是」的问句,和它指的那一页
反思说出「我本来以为……后来……」这一步也没有按钮:你说,Benben 记一句你原话
反思顺便说出你有多确定跟进度并排记在一起,缺一个另一个就不算数信心

① 泛读:让它自己读,你只管听

先把自动播放和自动翻页都打开。它会一页一页念下去,你不用动手,眼睛跟着看就行。这是磨耳朵——一天十分钟,耳朵会先记住这些句子的声音,比你先背下中文意思更管用。

② 中文先行:先用母语把它装进去

左上角那个 EN/CN 小圆标,点一下就换成中文讲解。长按大概半秒,会进入「中文讲故事」模式:整个故事用中文从头讲一遍给你听。这比逐句翻译有用得多,因为它把整篇连起来了。

这里有一件事要讲清楚:中文不是英文的替代品。中文是你思考的地方,英文是你交付的地方。先用中文把这篇讲的内容弄懂,再回头用英文读同一段——顺序反了,英文就只是背下来的句子,不是你的。

③ 选中就懂:把「不懂」变成「查一下」

看到一个词或一句话不懂,按住选中它,图的中间会浮出一个小圆标(上面是 BenBen 的头像)。点它,下面弹出一张解释卡片:

  • 这个词是什么意思——用中文讲
  • Other meanings——它还有哪些别的意思
  • Grammar analysis——它在这句话里的语法是什么样子,也能出声讲给你听

第三项是别处很少给的:知道意思,和知道它为什么在这句话里长成那样,是两件事。语法跟进补的就是后面这一件。

④ 把生词收进你自己的本子

解释卡片下面有一个 Add word to notebook——点一下,这个词就进了你自己的生词本。你的生词本是一张可勾选的清单:学过了就打勾,没学完的先留着。

为什么值得你自己动手标:难词不标出来,就永远只是「刚才那个词我不认识」,过三天你连它长什么样都忘了。标下来,它才变成一个你能一项一项攻掉的东西。标的时候顺手再问一句「它在这一页是什么意思」——这比抄十遍都管用。

⑤ 卡住了就当场问,答案落回这一页

右下角有个问号圆标。点它,说出你的问题——它在听(红点),在想(转圈),然后回答落回你正在读的这一页。

这一条最重要,因为它对应探究里最贵的那一步:问题在原地问,答案在原地答。合上书去问,等于把问题本身丢掉了。

每天的三个固定动作

  • 睡前十分钟磨耳朵:打开自动播放和自动翻页,躺着听一遍
  • 读的时候随手标:不懂就选,选了就查,查了就收进本子
  • 读完说三句:这篇讲什么?我本来以为什么?哪一句让我改了想法?在第几页看到的?

读完以后,你只要能说出「我在第几页看到这句话」,这一篇就算读懂了。说不出来,就再回去翻一次——那不是你笨,是还没翻到那一页。

画布对应
Customer Relationships(AI Tutor)
为什么落在这一格:客户关系格问的是「孩子怎么和这个产品相处」。这一版把相处方式写成五件工具、对应单元里的五个动作,而不是五个界面按钮——每件工具都挂在一个探究动作上:泛读用自动播放,找一找用选中知意和当下问答,理一理用中文故事模式。
这一格怎么用:导师辅导时别问「这个功能你会用吗」,问「这一圈你走到哪了、留下了什么证据」。生词表和第几页,是这一格唯一能记进进度的两样东西——因为它们都是孩子自己留下的,不是老师替他写的。
Value Propositions(English Growth)
为什么落在这一格:中文先行、英文交付的顺序,是这一格在产品里的落点。先用中文把整篇弄懂(长按进中文讲故事),再用英文交付同一个理解——两半分家的塌陷,往往就是这两步顺序颠倒造成的。
这一格怎么用:验收看两栏是不是同时在动:英文有没有真的用出去(讲得出、讲得顺),中文有没有真的先站稳(讲得出内容)。只亮一栏,这一圈就要重跑。
Value Propositions(UOI Mastery)
为什么落在这一格:单元那一半的落点就是反思——孩子说出一句「我本来以为……后来……」,并把这句话和进度并排记着。缺了信心那列,进度是假的;缺了进度那列,信心是自我感觉。这周的目标是收束概念,判据却落在这两列上。
这一格怎么用:导师只确认一件事:那句「我原本以为 → 现在」是不是孩子自己说的,并和它指的那一页的进度记在一起。两个都不在,这个单元就还没做完。
Key Activities(UOI Learning Design)
为什么落在这一格:学习设计被翻译成产品动作,就是说明书里那五圈——预读扫描、泛读、找一找、理一理、反思。App 不替孩子转这个圈,但它在每一圈上留了一处机关;孩子自己走完一圈,证据才留得下来。
这一格怎么用:验收一份内容时,不看功能清单,看五圈各留下了什么证据:听完的页数、标过的词、那句原话、它指的那一页。留不下证据的环节,说明它还只是一颗按钮,不是学习设计的一部分。
给爸妈的说明书:怎么用 · 三件事
完成

这份说明写给刚拿到新单元的爸妈。你要知道的只有三件事:内容怎么来、怎么收钱、怎么把阅读变成习惯,另外还有一件五分钟能做完的事——把它装到孩子的主屏幕上。

暖色手绘插画:清晨的厨房餐桌,一双手捧着平板,屏幕上是下载进度环和一排彩色故事卡片;桌上放着咖啡、书包、饭盒和一只苹果,晨光从窗户照进来
上学前的十分钟,把这一周的故事下载好——路上、车上、课间,随时能读。

① 新的单元,内容怎么来

学校给了一份新单元的 PDF,或者你想让孩子读某个主题(火山、木马、法老的猫)——不用学任何后台,在微信群里告诉 Benben 就行。两条路:

  • 最快:发一份 PDF——它当天进孩子的「泛读书架」,打开就能读;孩子喜欢,再让 Benben 把它转成精读版(配图 + 朗读)
  • 常规:给一个主题或一个网址——生成管线把它做成一篇完整的故事:分页正文、Lovart 配图、英文朗读、中文讲述。一般隔天上线,做完 Benben 会在群里说一声

新内容会自动出现在孩子所在单元的书架里——哪些孩子能看到,由单元的级别和孩子的 level 决定,不需要你做任何设置。你只负责提需求;写、画、录、发,都是 Benben 的活。

多少钱

现在是内部试用,免费到 2026 年底。之后的收费方式我们还没定死,方向是两条:按单元买学习包(一个单元一份,含有内容、导读和练习),或者按学期订阅(家里几个孩子都能用)。学校和班级统一授权在更后面。

所以如果你在考虑这件事,现在是最划算的时候——先把一个完整单元跑完,看看这套东西对你家孩子到底有没有用,再决定要不要买后面的。

② 怎么把「读」变成习惯

大多数阅读习惯毁在两件事上:一是要求太高,第二是每次都要大人陪着。你手上的这个 App 恰好能避开这两件——它把「教」那一段吃掉了,留给爸妈的只有「听」。

具体这么用:

  • 给阅读一个固定的位置——睡前十分钟。打开自动播放和自动翻页,躺着听一遍就行。耳朵先记住这些句子的声音,这一步不需要孩子专注,是那种「再难也做得到」的事。习惯是从最容易的那一步长出来的。
  • 让它小到不可能失败——一个单元就十来篇,有限、看得见终点。每读完一篇,卡片上多一颗 ✓。孩子需要的是一个能划掉的清单,不是一句「多读点」。
  • 把「难」交给 App——她卡在一个词上,选中就能查到意思和语法;整页有疑问,右下角直接问,答案落回这一页。她不需要等你蹲在旁边念——这是你能减掉的最大一份负担。
  • 让标记是她自己的——生词本上的每一行都是她自己标的、自己打勾的。清单被清空的那一刻,比大人催十遍都管用。
  • 把「读完」变成一件能说出口的事——饭桌上花两分钟,听她讲三句:讲了什么、原来以为什么、哪一句让她改了想法、在第几页看到的。不检查、不打分,只是听。

还有三件不要做的事:不要检查她记住了多少;不要在她读的时候教(那是 BenBen 的活);不要把阅读变成要签字的任务。

最后说一个我们内部用来验收的判据:爸妈看完之后的第一反应,应该是「这个替我省事了」,而不是「这个我可以自己教」。如果你的反应是后者,说明你正在把自己变成第二个老师——那不是这个产品想要的。

③ 全屏、离线,和一个固定设备

「全屏阅读」不用在 App 里找按钮——把它装成 App 就自带全屏。做法是五分钟的一次性设置:

  1. 用 Safari 打开 reading.im 的网址(Chrome 加不了主屏幕)
  2. 点底部的分享按钮(方框加向上箭头)→ 往下滑,点「添加到主屏幕」
  3. 以后孩子从这个图标进——没有地址栏、没有浏览器按钮,整块屏幕都是故事;不容易误关,存储也更稳

再补两件事:

  • Wi-Fi 下点故事卡片的 ⬇,整篇故事(图片 + 朗读音频)就存进了 iPad,断网也能读——飞机上、高铁上、回老家都不用网。阅读页底部有剩余空间提示,删掉读完的旧包即可释放空间
  • 一个孩子一个账号——账号邮箱的前缀就是孩子的名字,也决定孩子能看到哪些单元。进度跟着账号走,但目前不跨设备,所以建议一个孩子固定一台设备

遇到问题

微信群里说一句「谁 + 哪一篇 + 什么设备」,Benben 会上门修。不用截图技巧,随手一拍就行。

画布对应
Customer Segments(Parents)
为什么落在这一格:爸妈这一格这周的问题是「怎么参与而不添乱」。所以这份说明书把「教」整段交给 App,爸妈的动作只剩下固定时间、饭桌听故事、忍住不检查——三件都是不需要专业能力的事。判据也写进去了:爸妈第一反应要是「这个我可以自己教」,就是致命的失败模式。
这一格怎么用:试用家庭跑下来,问三个问题就够了——内容够不够、孩子自己愿不愿意打开、爸妈有没有真的少花时间。第三个问题的答案比前两个都重要。
Revenue Streams(Selling)
为什么落在这一格:收费格子写着两条路——按单元的学习包,和面向家庭的学期订阅。这份说明书第一次把「免费到 2026 年底」和一个单元能不能被完整交付挂在了一起:先用一个完整单元检验假设,再谈钱。
这一格怎么用:定价之前要拿到的是「一个单元走完,爸妈还愿不愿意买下一个单元」这个答案,不是「爸妈觉得值不值」。价格是结果,不是前提。
Channels(bearlabs Apps)
为什么落在这一格:主屏幕图标是 reading.im 在这台 iPad 上的门牌——渠道这一格第一次有了具体的、可截图的门牌号,而且它同时就是「全屏阅读」的开关。
说明书第三页:内容从哪来 · 一个真实例子
完成

前两页讲怎么读和怎么存。第三页讲更前面的那个问题:内容从哪来。

暖色照片:Benben 坐在午后洒进金色阳光的家居书房里,面前木桌上打开着一台笔记本电脑,我们看到的是它干净的银色外壳背面;他一只手抱着一小摞彩色童书,另一只手放在笔记本键盘上;桌上摊着一本打开的笔记本,上面放着一支黄色铅笔,旁边还有一盆绿植和一只喝了一半的马克杯
内容就是这样进来的:一个单元名、一份 PDF,然后一条一条去找。

这次真的做了一遍

孩子的新单元是 IB PYP Unit 2「How We Organize Ourselves」:岛屿生存、资源管理、社区怎么组织起来。适用 G3,8–9 岁。

  1. 读单元:从 PDF 里抽出中心概念、三条探究线索,以及老师列在末尾的参考链接。
  2. 翻成小学词汇:每条线索变成一条英文查询,统一带 for kids 尾巴——查概念,不查书名。
  3. 开一个真浏览器去搜:逐条搜、逐条记。不是调一个搜索接口,理由在下面的坑里。
  4. 过两道闸门:一是站点白名单(国家地理儿童版、Kiddle、Ducksters、BBC Bitesize……);二是正文必须真的能读完——每条都打开、量字数、扫付费墙。

结果:14 条,五个类别,铺满三条探究线索

官方绘本系列 1 条、生存技能 6 条、真实故事 3 条、文学与寓言 3 条、兴趣拓展 1 条。三条线索各有归属:「挑战与变化」归技能类,「角色与责任」归真实故事,「合作与创造力」归文学与寓言。

暖色手绘插画:洒满阳光的木桌窗边,一排五本彩色童书立着,旁边平放着一台平板,屏幕上是六张带绿色对勾的文章小卡片;桌上还有一张小岛地图、一个指南针、一卷麻绳、一叠系着丝带的小卡片和一杯热可可
选完之后是这样一包:能读全文、能离线、能进孩子的书架。
暖色照片:Benben 坐在沙发上,双手竖着举一台 iPad 正对镜头;屏幕上就是这个单元真实的书架页——深色背景,标题写着 How We Organize Ourselves,右上角是 STORIES,下面是十张故事卡,每张都带封面图和页数
这不是示意图,是真的那一页:十个故事,每篇的封面和页数都在。
画布对应
Key Activities(UOI Learning Design)
为什么落在这一格:上一条记录讲的是「内容生产变成随叫随到的服务」,这一条补的是更前面的一环——选材。服务再快,源头是垃圾,就只是更快地把垃圾发给更多孩子。
这一格怎么用:每条内容入库前都要过站点白名单和免费全文两道闸门,被挡下的记进账本。账本是这一格的仪表盘:它显示的不是产出量,是拒绝了多少。
Key Activities
为什么落在这一格:找、验、生成是一条可以重复跑的动作,不是一次性的人工挑拣。这条动作本身就是关键活动。

10-20 · reading.im 上线前 · 黑板后面那五天

一张地图:这五天做了什么
完成

孩子打开 reading.im,看到的第一屏不是一堆按钮,是一块黑板。

reading.im 首页的深色界面:顶部是 I'm Reading 字样和四个小图标,下面写着 Pick a unit to start reading.,再下面是一块钉在软木板上的 2026 年月历——10 月格子里是神庙图标和 Ancient Heritage,11 月格子里是握手图标和 How We Organize Ourselves,其余月份是空格子
一年十二格,已经挂上去的单元占住自己的格子。10 月是 Ancient Heritage,11 月是 How We Organize Ourselves。

黑板背后是 10 月 16 日到 20 日的五个工作日。团队没有先做界面,是先把"孩子读得到的东西"一样一样备齐:两个单元、29 篇故事,每一篇都配齐封面、逐页插画、英文朗读、中文讲述和一张能勾的生词表。这五天铺的,就是从"点开图标"到"自己读完一篇"之间的那段路。

这一段现在到哪一步孩子和爸妈能拿到什么
内容的地基已完成内容有统一格式,往后再加一个新单元不用从头重做一遍
阅读器已完成点开就是能读的一页一页,不是文件列表
账号已完成一次登录,reading.im 和 benben.im 都认
装到平板、断网读测试中装到主屏幕像 App 一样全屏;出门前下好,飞机上也能读
装满内容进行中两个单元、29 篇,全部配齐插画、英文朗读和中文讲述
每篇先读一遍进行中BenBen 自己先读一遍,问题在那一页标出来

下面两条讲的都是已经能用的东西,不是计划。现在还是内部试用,免费到 2026 年底——想先带一个孩子把一个单元从头走完,是最划算的时候。

画布对应
Key Resources(AI + Vibe Coding)
为什么落在这一格:这一格问的是「靠什么把东西做出来」。五天 74 个提交、1709 个内容文件、503MB 媒体——这个量级不是人一个一个敲出来的,是 agent 连续会话加上这套 Vibe Coding 的产物。资源格在这里第一次不是「预算」,是「产能」。
这一格怎么用:评估排期的时候,把这一格当成可复用的产能来算,而不是当成一次性的人工。产能的代价是复核成本——所以下面每一条都以提交为准,不以文档牌子为准。
孩子打开就能读,爸妈能带着走
完成

这一段做的是"从点开图标到读完一篇"之间的每一段路。站在孩子的角度是三步:打开、读、带走;站在爸妈的角度,这三步都不用大人插手——最多最后听他说两句。

一 · 打开:点一下就进去,不用人教

手机上的 Ancient Heritage 单元页:深色界面,顶部导航栏中间是神庙图标和单元名,下面按 2 MAGAZINES、19 STORIES、1 BOOKS、1 REFERENCES 分段,每个故事是一张带封面缩略图的小卡,十九张封面在手机上排成五排
在手机上打开一个单元:一屏一屏的封面墙,每张点进去就是一篇。

点开一个单元,摆在眼前的就是全部:故事、杂志、绘本、老师给的参考 PDF,每张卡上有封面和页数——不用问"我该点哪个"。页面上出现的东西也只有孩子该看的那些:BenBen 的头像、词典、提问的入口。

账号这一层也做省了:reading.im 和 benben.im 是同一套登录,一次登录两边都认,孩子不用多记一个账号。

登录页:背景是夕阳下的金字塔工地,工人和妇人在石块间劳作,正中浮着一张深色卡片,上面是橙色的 reading.im 字样、Sign in to read、Email 和 Password 两个输入框以及一个浅橙色的 Sign in 按钮
一个账号,两个地方都认。

二 · 读:像在读书,不像在做题

手机上的封面页:深色底上一张庞贝火山喷发的插画占满整屏,左上角是 EN 圆标,右上角是 BenBen 的小头像,底部一排控制按钮(翻页、波形、耳机、字号)
手机上的封面:左上角 EN 一点就换中文,右上角的小头像是 BenBen——他先替孩子把这篇的开头讲一遍。
手机上的阅读内页:上半屏是庞贝古城考古的插画,下半屏是大号英文正文,页面下方是 3 / 8 的页码和左右翻页箭头,最底下是一条音频播放条,带播放按钮、进度、时长和音量
手机上是图在上、字在下,一屏一篇,字够大,底下能听。英文是大号字,读给孩子听,不是读给成年人看。

读的时候卡住,也不用喊大人。选中一个词,意思、它还有哪些意思、它在这句话里的语法,一起给出来;整页有疑问,右下角问一句,答案落回这一页,孩子不用把书合上跑去问人。

三 · 带走:出门、断网、飞机上,都还能读

iPad 视口下的阅读内页:左边是庞贝街道的插画,右边是大号英文正文,页码 5 / 8,底部是一条播放条
1024×768 的 iPad 视口。慢的问题只有在这个尺寸上才看得出来。

这周最实的一次返工就发生在这台 iPad 上:打开很慢。原因是取内容绕了远路——每一张插画、每一段录音都要跑一趟别的地方去拿,孩子点了图标要干等。做法是把整套内容搬到离孩子更近的地方,慢的问题就没了。

搬完之后,一批"像个产品"的事也一起补上了:出门前把一周的故事下好,飞机上、高铁上、回老家都能读;装到主屏幕,打开就是全屏,没有地址栏,也没有浏览器按钮;下过的东西会向系统申请保留,不会被悄悄清掉;断网时顶上只挂一条安静的横幅,不弹窗吓人;整节、整单元都能一次下完。

进度这件事也定了:一个孩子一个进度,记在他自己那台设备上,家里两个孩子各记各的,不会混在一起。

画布对应
Key Activities(UOI Learning Design)
为什么落在这一格:学习设计落在产品里,就是这一格的意思。泛读在哪一页发生、找一找长什么样、理一理留下什么、反思怎么被记下来——四个动作各有各的机关,缺一个,这一圈就转不下去。
这一格怎么用:验收内容时不看功能清单,看五圈各留下了什么证据。留不下证据的那一圈,说明它还只是页面上的一颗按钮,不是学习设计的一部分。
Value Propositions(English Growth)
为什么落在这一格:英文这一半的落点全在阅读器里:中文和英文一键切换、选词查意思和语法、整页提问、故事朗读。四件事指向同一件事——先在中文里站稳,再用英文交付同一个理解。
这一格怎么用:英文的验收不是「读了几页」,是孩子能不能用英文把这一篇讲出来。讲得出内容、也讲得顺,两个条件缺一不可;只会翻页不叫英语长了。
Channels(bearlabs Apps)
为什么落在这一格:渠道格问的是「东西怎么递到用户手上」。reading.im 递过去的方式有三种:浏览器、装到主屏幕、提前下好带走。三种都在这一格,而且只有真机上验过才算数。
这一格怎么用:每次部署后固定三步:iPad 真机打开一个单元、下载一个单元、拔网再读三页。桌面浏览器替不了 iPad 的存储限制,那一步不能省。
Customer Segments(Parents)
为什么落在这一格:这一格是给爸妈的:孩子读的时候是 BenBen 陪读,爸妈要做的只是"打开、放他读、听两句"——教的那一段被产品吃掉了。爸妈那一格问的是「这个替我省事了没有」,离线包是最直接的一笔:出门前十分钟把一周下好,之后不用管网络。
这一格怎么用:试用家庭跑下来只问一句:下载过一次之后,你有没有再担心过网这件事。担心还在,说明包做得不够整。
29 篇故事,每篇都过了审
完成

最后两件事:把内容装满,然后每一篇都审过一遍。

两个单元,29 篇,全部配齐

Ancient Heritage 单元页的深色界面:顶部导航栏中间写着单元名,下面依次是 2 MAGAZINES(两本杂志,5 期和 1 期)、19 STORIES(十九张故事卡,每张带封面图、标题和页数)、1 BOOKS(A Day in Pompeii,1 章)和 1 REFERENCES(一份 PDF)四段
Ancient Heritage:19 篇故事、2 本杂志、1 本书、1 份参考 PDF,一页里全齐。
Stories 板式列表页:深色界面,顶部导航栏中间写着 Stories,下面是一整面大封面卡片墙,Ancient Heritage 的十九篇故事按四列排开,每张卡片是整页插画加标题和页数,右上角写着 19 STORIES
同一个单元有两种看法:单元页是一排小卡,一屏扫完;点进 Stories 是一整面封面墙,先看个够,再挑想读的那一篇。
How We Organize Ourselves 单元页:顶部导航栏中间是握手图标和单元名,下面是 10 STORIES 段,十张故事卡排成两行,每张带封面图、标题和页数,标题包括 Four Children Survive in Amazon Jungle for 40 Days、Apollo 13: A 'Successful Failure' in Space History、The Bundle of Sticks 等
这一单元改过一次名:原来叫 survival,太窄;老师给的名字是 How We Organize Ourselves。

每一篇都带齐五样:封面、逐页插画、英文朗读、中文讲述、还有一张能勾掉的生词表。插画是这一篇自己的,不是从别处套来的;朗读和中文讲述也是一篇一篇配的——有些是真实故事,有些是寓言,讲法本来就该不一样。

来源这一关也没松。选材只从少数几个站里挑,每一篇都要打开看一遍、量一量正文有多长、确认整篇真的能读完才收;收不下来的记在账本上——那本账本比"做了多少篇"更能说明这套做法靠不靠谱。

每一篇,都审过一遍才给孩子

审阅模式的深色界面:顶部有 REVIEW 标记和单元与故事的路径,左栏是庞贝故事第一页的插画和英文正文,右栏是中文讲述的插画,下方是 REVIEW THIS PAGE 面板、三个打标按钮、EN feedback 与 中文讲述反馈两个输入框,以及 Save 和 Save & Next 按钮
BenBen 自己的审阅页面:读到第 2 页,英文在左、中文在右,问题在下面那一栏标出来。

内容不是一次做完的,所以要有第二条路:做完了,先审一遍再给孩子。BenBen 有一把自己的审阅页面,别人看不见。左边英文、右边中文,一页一页翻:哪一页的录音不对、哪一页的朗读念错字、哪一页的图画偏题,就在那一页打一个标。英文那边写一句,中文讲述那边写一句,看完这一页直接翻到下一页。

这一版还在原型阶段:保存按钮只在本地的开发环境里真的存得住,部署出去的版本会明说"这个部署不保存"。写在明面上,用的人才不会白按一次保存。

10-20 那天还顺手修了:封面上多了一枚生词表角标,点开是整篇的词表——词、释义、它第一次出现的位置;右上角还多了一个批注入口,只有 BenBen 账号看得到。

画布对应
Customer Segments(IB PYP Students)
为什么落在这一格:这一格是孩子。29 篇内容、每一页插画、每一段朗读和中文讲述,最终对准的是一个 G3 孩子的注意力。内容体量不是成就,是这一格的一个刻度——它得刚好多到能撑起一个单元,又刚好少到孩子愿意读完。
这一格怎么用:每单元验收两件事:孩子在没有大人陪的情况下能不能自己打开并读完一篇;读完他能不能说出这一篇在讲什么。做不到第一件是内容没做对,做不到第二件是单元设计没做对。
Key Partners(PYP Teachers)
为什么落在这一格:老师给的是单元、是主题、是参考链接;reading.im 把这些变成孩子能读的故事。这个接缝是这一格真正的活儿——老师的语言和孩子的话之间,隔着一整套生成与校验。
这一格怎么用:每接一个单元,留一份「老师给了什么 → 我们做了什么 → 挡下了什么」的对照表。这张表也是下一位老师愿意把单元交给我们时,他要看的东西。
Customer Relationships(AI Tutor)
为什么落在这一格:这一格问的是「孩子怎么和这个产品相处」。审阅模式是同一段关系在大人身上的那一半——孩子读的时候是 BenBen 陪读,BenBen 读的时候是这套页面在陪。孩子的体验要靠大人的体验来兜底,这是同一格的两面。
这一格怎么用:每篇内容上线前走一遍审阅。审阅不是走过场,是把「这一篇到底能不能给孩子读」变成一个能回答的问题。三个旗标哪个被打过,就说明这条管线的哪一段还要再修。
Key Partners(AI Stack)
为什么落在这一格:这一格是 AI 栈。审阅模式是它的一部分:音频和朗读是合成的,插画是生成的,那就有可能生成得不响、念错字、图画偏题。审阅就是给这套栈配的一双眼睛。
这一格怎么用:这一格的验收跟着审阅走:合成得不对,旗标一打,问题就定位到「哪一段生成」上。栈的每个环节都要有人能指认它有没有出错。
对账:看板上的绿,和代码里的绿
完成

今天的活不新,也不炫:把 reading.im「每个孩子一页」这个项目的进度,从头到尾对了一遍代码。

bearlabs.net 项目页上的 Task Board 板块:标题下面是一条进度条,写着 5 of 21 done、24%,右边一个蓝色的 Start 16 remaining 按钮;再下面是阶段分组「09:30 · Per-kid page」和「13:00 · Provisioning」,两栏里的任务前面都是空心的方框
对完之后的看板:21 条里 5 条绿了,16 条还在。空心的方框是没开始的,不是忘了勾。

先说最扎眼的一条。项目的验证说明里写着"两条进度测试全绿",我实跑了一遍:15 过、2 跳、2 红,红的两条正是它。而且上一次留档的跑批(10-18)也是红的——所以那句"绿",至少错了两天。

但红的不是功能,是断言。我把应用跑起来自己看:读了一页,进度确实记在这个孩子名下(reading:progress:<kid> 里躺着 page 5),单元页那道进度条也画出来了。断的是测试在找已经不在的老东西——10-20 那天,卡片上的页码文字换成了进度条,故事页也改成了"先问再续",测试还在找那几个字。

所以该修的是断言,不是把功能改回去。这一条比"全绿"本身更值得写下来:红灯要分清是产品坏了,还是尺子旧了。分不清的时候,为了让报表好看,是很容易有人去改一个本来正确的功能的。

还有更重要的一半:一行都还没写

这个项目在 10-20 改了主意。原来是"按等级筛单元",现在改成"每个孩子自己一页,也可以借别人的那一页"。这一版,代码里一行都还没有:

  • 名单(config/kids.json)里只有等级,没有每个孩子自己的单元清单;
  • build-index 还在按等级筛,所以两个孩子的页面现在长得一模一样;
  • 孩子那一页取不到的时候,它会掉回全局目录——没登记的账号打开就能看见全部单元;
  • 网格只取两个单元,黑板还写死着 10 月和 11 月,第三个单元没有地方放;
  • 进度要跟着孩子走(换台设备就续上),这一块连接口都还没有。

剩下的活按先后排在这里:

优先做什么落在哪
P0给每个孩子的名单加显式单元清单(自己的 / 借来的),等级退回做兜底reading.im 的 config/kids.json
P0build-index 按名单生成每个人的那一页,没名单才按等级筛scripts/build-index.mts
P0关掉全局兜底:孩子那一页取不到就报错,不掉回全部单元src/routes/index.tsx
P0重写两条进度测试的断言:认进度条,认"先问再续"testing/e2e/reading-im/progress.spec.ts
P1网格按名单顺序排,标出"自己的"和"借来的",第三个单元也有位置src/lib/home-units.ts 与黑板
P1上传脚本不再写死孩子名单,加一个孩子不用改代码walkingweekend 的上传脚本
P1建号时把孩子的编号和进度密钥一起写上,邮箱前缀只当开发时的方便账号管理
P1进度文件在孩子这边加密,密钥只跟着账号走,服务器存的是密文reading.im 的进度存储
P1benben.im 上开一个进度接口,读写都走它,路径由登录态决定benben.im 的 API
P1本地进度当快路径、文件当准;按条合并,读完的不会被改回没读完reading.im 的同步层
P1镜像脚本跳过进度目录,别把每个孩子的密文拷进发布包pull-mirror
P2人工验收:一台 iPad 两个账号、同一账号两台浏览器、第三个孩子从零开通真机

这一串里最要紧的一条,是这个项目真正要交出去的东西:一个孩子的进度,得跟着这个孩子走。今天离它还差一整层,但现在至少知道差在哪、差多少了——知道自己欠在哪里,本身就是今天最值得记下来的产出。

画布对应
Key Resources(AI + Vibe Coding)
为什么落在这一格:这一格问的是「靠什么把东西做出来」。今天做的恰恰是它的另一半——产能出来的代码,得有人回头逐条核对过,否则看板上的绿只是文档的绿。上周那条写着「每一条都以提交为准,不以文档牌子为准」,今天把这句话落到了实处。
这一格怎么用:产能越高,核对越不能省。一个 agent 会话一天能产出几十个提交,验收的门槛就得跟着上移——不是"跑一遍测试",而是"逐条对着代码问一遍"。
Customer Segments(Parents)
为什么落在这一格:这一格是爸妈。家里两个孩子共用一台 iPad,各自一页、各自的进度——这是他们真正在意的细节,也是今天盘出来还欠着的那一块。
这一格怎么用:这一格的验收只看两件事:两个孩子打开的是不是各自那一页;孩子在另一台设备上接着读,进度在不在。这两条今天都还没过,所以先别急着说它做好了。

10-21 · reading.im 的眼睛和门 · 看得清,也问得出

把 reading.im 的眼睛调了一遍 · 看得清、点得准、删得掉
完成

孩子打开一本故事,正文里有些词被标成了“生词”——就是难一点、值得查一查的那些。它们不是死的黑字,是可以点开的:点一下,右边就浮出这个词是什么意思。这套动作今天从头调了一遍,因为有几天它别扭得让人不想用。

iPad 上的一页故事:左边是一幅古代中国市集的插画——牵着牛的、挑担子的、赶车的都有;右边是英文正文,标题写着 Life as a Farmer,下面一段讲农民的日子;正文下方是 1/10 的页码和左右两个翻页箭头,最下面一条播放条
孩子看到的那一页:左边是画,右边是字。字里的生词可以点开,点了,右边就浮出意思。

第一件事是看得见。生词按钮上的字淡得像没写,孩子得眯着眼才找得到它在哪儿。一个看不清的按钮,孩子当然不会去点——他只会觉得“这页没什么好玩的”。

第二件事是认得出。选中的词、右边浮出来的意思、正文里被划亮的那一句,以前是三种颜色。现在统一成同一种暖黄:眼睛扫过去就知道“我选的就是它”,不用再在页面里找“到底是哪个黄”。

第三件事是读得下去。意思那一栏以前的字号和行距都跟正文不一样,读起来像从别的文章里搬过来的一段。现在它和正文用同样的大小和行距:字大一点、行距松一点,孩子从正文跳到词义,眼睛不用重新适应。

还有两个小毛病一起收了:长按一个词想删掉它,删完它还站在原地——现在真的会消失;宽屏看书的时候,图片按自己有多高摆,不再被裁掉半张。

光标也改了。以前指着图片是一个放大镜,像是在说“点我会放大”;现在是一只手,说的是“点我”。图片上的提示箭头也分了两边:电脑上是往外的,手机上是往里的——因为两个屏幕上,点一下图本来就不是同一件事。

说到底就一件事:眼睛要调的从来不是一处。底色和字色得一起动,只动一边,字还是看不清。

画布对应
Customer Segments(IB PYP Students)
为什么落在这一格:这一格是孩子。今天做的每一件事都是给孩子看的:字看得清、点了有反应、删了会消失。孩子看不懂、点不动的界面,内容做得再好也到不了他手上。
这一格怎么用:这一格的验收从来不是“功能有没有”,是“孩子有没有真的用起来”。以后每次改阅读界面,都拿这一条过一遍:孩子第一眼看过去,找得到吗?点得动吗?
Customer Relationships(AI Tutor)
为什么落在这一格:这一格问的是「孩子怎么和这个产品相处」。点开一个生词、问一句、看一段讲解,都是这一格的具体动作。今天做的不是新功能,是让这些动作不再别扭——不别扭,孩子才会一直用它。
这一格怎么用:这一格每天都在被用,所以它的验收也得每天在看:有没有哪一步,是要大人搭把手才走得下去的?多一步,这个关系就薄一分。
今天修的都是“门” · 问一句能答,机器人能被听见
完成

reading.im 里可以对着正在读的这一页问一句,问完有答案。今天修的其实是好几扇门——问题都在门口,不在屋里。

宽屏上的一页故事:左边是古代市集的插画,鼠标停在画上时,右下角冒出一个圆形按钮,里面是一个对话气泡的小图标;右边是 Life as a Farmer 的英文正文,下方是 1/10 的页码和翻页箭头,最下面一条播放条
鼠标停在画上,右下角冒出一个小气泡——那就是「对着这一页问一句」。

第一扇门:线上有一阵子一直报一句话,the answer failed to load(答案没能加载出来)。看着像 AI 答不上来,其实话根本没进门:浏览器要往另一个地方递话之前,会先打个招呼问一句“我能过去吗”,那边的门没开这个招呼,话就被挡在门外,回来一句“没加载出来”。今天这扇门开了,同一句提问,答案正常回来。

第二扇门更隐蔽。家里那台会读书的小机器人,它的麦克风好久没被叫到了:它那条路上被套了一层“要登录”的壳,一开口问就被拦下来。而程序很聪明——见机器人答不上来,就悄悄改用电脑的麦克风接着用。所以没有人发现机器人哑了,因为它看起来一直在工作。今天把它自己的约定还了回去:这条路本来就不该要登录。真机实测,机器人的声音被采到了,也被转成了字。

第三件事是给这些门上规矩。今天补了一道测试:reading.im 问话要用到的每一个接口,都必须能接住浏览器那声招呼;而且这份清单要和前端实际在用的那份对得上——这样第三个接口再掉链子的时候,会在测试里先炸,而不是等孩子问了一句才炸。

顺带说一句今天的暗线:bearlabs.net 这个站自己也被一个括号绊了一跤——一句散文里的括号写漏了,整站的构建就垮了,那个页面也跟着点不开。今天这件事也补上了:一个括号,值一次全站重建;以后这类问题会在上线前就被拦下来,而不是等整站重建完才发现。

画布对应
Key Partners(AI Stack)
为什么落在这一格:这一格是 AI 栈。今天修的两扇门都在栈的门口:一扇是浏览器和后端之间的,一扇是机器人和后端之间的。栈里每一段都能算对,但门不开,孩子那边就是一片安静。
这一格怎么用:这一格不能只看“接口通不通”,要问“从孩子那边能不能一次就通”。今天加的那道测试,就是把这句问话写成了每次都必须过的检查。
Value Propositions(English Growth)
为什么落在这一格:这一格是“孩子真的用英语长了点本事”。机器人的麦克风和那句“问一句”,是这一格最直接的抓手——孩子开口问,机器接住,这一下才是练习;接不住,练习就断了,而断掉的时候没有人会通知我们。
这一格怎么用:这一格今天多了一条硬指标:家里的机器人必须真的被叫到。屏幕上的答案对了不算数,房间里的那个声音也得被听见。

10-22 · 两扇门、一张名单 · reading.im 的下一站

书没有搬家,只是多了一扇门
完成

今天做的头一件事,是给 reading.im 找一个新地址。听着像搬家,其实不是——一册书都没动过。

书一直放在同一面架子上。架子的后面有一间工作间:管书的人在那儿上架、改名字、把不要的撤下来;架子前面是给孩子看书的地方。今天动的只是前面——它有了一扇自己的门,而门后头,还是同一面架子、同一批书。

一棵树,两个名字,中间不用来回搬一次,也不用担心两边搬岔了:孩子打开门看到的就是管书的人刚放上去的那一本。

暖色手绘插画:一面木墙上开着两扇门。左边那扇门里是一间工作间——摞到齐胸的牛皮纸档案盒、挂在墙上的写字板、一盏小台灯、桌上一支笔筒,那是传文件、管内容的后台;右边那扇门里是一间小小的阅读角——地上的坐垫、靠着墙的平板、挂在钉子上的耳机、一盆小绿植,那是给孩子的前台。两扇门之间的墙上只有一层木架,架子上摆着同一排书。灯光是暖黄的,墙外的阴影是蓝紫色的。
两扇门,一层架子:后面管书,前面给人读,架子上是同一批书。

孩子这一侧什么都没变:还是那个地址,打开就是书。

倒是后面那间工作间,今天补了三道锁。有人想从后门绕进去——溜出该待的目录、把自己改成能执行的东西、拿别处的钥匙硬闯——四条试探全被挡了回来;正经上架还是通的。锁门不能把门自己堵死,这一条今天一起验过。

另外还做了一份"能直接装"的包,送到那台机器上。包里是应用本身,加上一张写好的单子:放哪儿、怎么开、叫什么名字,全写在里面,到了不用现场想。

这个包的名字里带着做它的时间,所以下一个包出来的时候,谁都不用记这是哪一版——取最新的那一个就行。

包落在那台机器上一个只有机器自己能打开的目录里。里面写的是这台机器上的路径,不该躺在一个谁都能列出来的目录中。

出包之后,公开的那扇门自己更新了——这一版已经上到线上,孩子打开就是新的。故事没有多一份,也没有少一份。

顺带把"从门里怎么出来"这件事也理了一遍。手机上现在只有一个按钮,就是往上一级:在故事里,它带你去故事那一页;在第一层,它就是回首页。以前它被涂成了"你就在这儿"的样子,可它明明是往外走的路标,涂成当前位置,等于反过来说话。现在它就是干干净净一个图标,点一下回到上面那一层。桌面上还是四个按钮——首页、故事、杂志、书——一个都没少。

画布对应
Key Partners(AI Stack)
为什么落在这一格:这一格问的是内容从哪儿来、后台在哪儿、孩子从哪儿进。今天把这条链路拆成了三个各自站得住的东西:一份树、一个后台、一扇门。三样都得先自己站得住,故事才走得通。
这一格怎么用:这一格不能只看"地址换了没有"。要看的是:换的时候孩子有没有察觉、后台还在不在、上架的路还是不是唯一那条。今天三条都过了。
Channels(bearlabs Apps)
为什么落在这一格:这一格问的是产品怎么到读者手里。今天多做了一步:不是把应用丢到线上就算完,而是打成一份能直接装的包,连同那台机器该怎么读它,一起送过去。包名上带时间,是为了下一个包能被认出来,而不是靠记。
这一格怎么用:这一格以后每交一次包都要过一遍:装的人拿到手,需要自己判断的事是不是一件都没有了?装完之后,两个门面是不是还在读同一份外壳——拷贝的东西越多,漂得越快。
reading.im 有自己的门牌了
完成

reading.im 以前是"借住"在门户那边的:孩子的账号和大人用的账号住同一栋楼,用的是同一把钥匙。今天它搬出来了——自己的门牌、自己的钥匙、自己的柜子。

听着只是搬了个地址,其实是一件事:以后改这一边的规矩,不会碰到另一边。今天动的是账号和存进度的那张桌子;回答孩子问题的那一头还留在老地方,没动——那部分不归这次动。

顺带把建那张桌子的说明书改成可以重复贴的:贴第二遍也不会因为重名撞车。因为它是手工贴进去的,不是机器推的——所以必须经得起手抖。

画布对应
Key Partners(AI Stack)
为什么落在这一格:这一格是 AI 栈。账号这件事,原来 reading.im 和门户是共用一个地方的——孩子的账号和大人用的账号住在一起。今天 reading.im 搬出去了,有了自己的门、自己的钥匙。栈里的每一段都开始各站各的。
这一格怎么用:这一格不能只看"能不能登录"。要看的是:孩子的账号和大人用的账号是不是真的分开了——分开了,以后改一个项目的规则才不会碰到另一个。
Customer Segments(Parents)
为什么落在这一格:这一格是爸妈。爸妈是这套东西真正的主人——账号是他开的,两个孩子的书架是他写的,孩子换设备以后还想看见什么,也是他说了算。
这一格怎么用:这一格要问的是:爸妈今天能不能不管在哪个设备上登录,都看见同一份东西——孩子的书架、孩子的进度、孩子读到第几页。
名单上的书架 · 两个孩子,两份首页
完成

今天把那张名单当真了。以前两个孩子打开首页,看到的是同一份目录——像进了一间公共图书馆,谁都能看见全部的书架。现在每个孩子有一份自己的名单:哪些是自己的,哪个是借的。

顺序也听名单的:先写哪个,就先看到哪个。借来的那一格会挂一个小标签,写着"这是 Chen 的"——一眼就知道那本书不是自己的,用完要还。

名单上写了、东西却还没备齐的时候,页面不会把整间图书馆推给孩子,它会老实说"还没准备好"。这个洞今天特意堵上了:以前只要程序卡住一下,整份目录就摊开在所有人眼前——不在名单上的账号也看得见全部单元。

名单现在有三个人:Mei、Chen,还有 Benben。大人也有一份自己的书架——两个单元都算自己的,因为大人要看得见全部,不然没法陪读。

两个孩子的真账号也开好了:各自绑上自己的名字,各发一把自己的进度钥匙。密码只显示一次,爸妈把地址和密码改掉就行。

首页上那行小字也换了个说法。以前写"Brown 的清单——2 个单元",像一份报表的抬头;现在写"2 Units for Brown",同一件事,读起来是一句人话。

黑板也重画了一遍。每一格里原来是一个圆盘,盘里是那个单元的图案,名字压在下面、鼠标移上去才看得见——在手机上等于看不见。现在格子里就是单元的名字,摆在中间,一眼就认得出来;空着的月份还是那个虚线圆盘,因为那正是"这里还没有"的意思。

月份后面那个小标记也换了。原来是一个房子(是自己的单元)或一个交换的箭头(是借的),说的是"谁的",可孩子看不懂那个箭头;现在放的是这个单元自己的图案,说的是"哪一个"。借来的单元,名字下面会直接把"从谁那儿借的"写出来,不藏了。

暖色手绘插画:两个孩子并排坐在地毯上,各自捧着一台平板。左边穿橙色毛衣的女孩看着一屏高高的书架,其中一本书上系着小纸标签;右边穿蓝色毛衣的男孩看着另一架更矮的书,另一本书也系着标签。两人中间立着一块小木牌
名字写在名单上:各看各的书,借来的那本系着标签。
画布对应
Value Propositions(AI-Curious Kids)
为什么落在这一格:这一格是"孩子真的好奇"。同一个内容库,对两个孩子应该是两份不同的首页——各看各的单元,借来的要标明。今天两份首页真的分开了。
这一格怎么用:这一格不能靠"内容够不够多"来证明。看得全不等于看得进去——一个孩子面前摆着不属于他的单元,他会走神,而不是好奇。
Value Propositions(English Growth)
为什么落在这一格:这一格是"英语真的长了点本事"。今天这件事是跟着孩子走的,不是跟着设备走的——换一台设备,进度还在。
这一格怎么用:这一格不能只看单设备上的页码。要看的是:换一台设备、换一个浏览器,进度还在不在,而且不会把另一个孩子的进度盖掉。
进度跟着孩子走 · 读起来也顺手了
完成

"读到第 5 页"这件事,以前只记在这台设备上。孩子在 iPad 上读到第 5 页,换到电脑上来,还是第 1 页——进度跟着机器走,没跟着人走。

现在进度记在孩子自己名下,跟着账号走。

但它存的地方谁都看不了:文件是锁着的,钥匙在孩子的设备上,跟着登录一起走。连替它存文件的那台机器都读不懂——它只会原样收着。别人就算在目录里翻到它,也只看到一个打不开的包。

两台设备同时读怎么办:以新的那一份为准。有一条例外——读完了就是读完了,不会因为某台机器上的记录旧了,又变回"没读完"。

今天还有一件事差点出事:进度文件要放在书架里专门放进度的那一格里,而树上有一份"什么才算内容"的约定,验收的人是按它来查的。差点把每个孩子的进度当成野文件发到网上——现在约定里多了一种:存在,但永远不发布,下载整棵树的时候也不进那个目录。

存和取都只认一个入口,文件的名字由账号算出来,孩子那边连碰都碰不到。这个入口今天真的上线了,线上跑通了一遍:写进去,再读回来,是同一份。

还没做完的:两个账号现在还是占位地址(mei@reading.im、chen@reading.im),爸妈要改成真实邮箱并改密码;最后还需要两个孩子、两台设备一起验收一次。

暖色手绘插画:夜晚的房间里,穿橙色毛衣的女孩坐在地毯上捧着平板,屏上是一页故事。旁边的小木桌上摊着一台笔记本电脑,屏上是同一页故事的同一个位置。一条发着暖光的丝带从平板飘向笔记本,中间飘着一只小信封,信封上挂着一把小铜锁。桌上有一杯冒热气的可可和一盆小植物,一只橘猫趴着打盹,窗外是深蓝的夜空和几颗星
进度跟着孩子走:一个书签从平板飘到电脑,中间那只信封上了锁。

今天还有三件事,是孩子拿着手机才会碰到的。

第一件是按钮看不见。故事页上有一个"+"和一个问号,在电脑上它们藏着,等鼠标移上去才出来——因为不想要一堆按钮压在那张画上。手机没有鼠标,于是孩子看到的就是一张画,什么都没有。现在手机上它们一直在那儿,电脑上还是等鼠标。

第二件是声音不出来。点一个词,卡片出来了,解释也在,可就是没声。查下来是三件事叠在一起:手机只肯在孩子碰过屏幕之后才出声,而这张卡的声音要等答案回来才播,那一下早就过去了;声音是整段跟着答案一起送过来的,手机对这么一大坨音频最没辙;再加上偶尔是网络的事。所以现在是:孩子点词的那一下先把手机叫醒,播放的时候换成手机认得的方式,自己再试两遍——都还不行,卡片才开口,而且只说一句很短的话:"点一下听"。那个播放按钮就在旁边,一按就好。

第三件是中文讲故事的:长按左上角那个语言圆标进"中文讲故事",现在这个模式会自己把"自动朗读"和"自动翻页"都勾上——这两个开关本来就是给"躺着听"准备的,进了这个模式还让人去找,就是白让人找。退出去也不替你取消,你要留就留着。

还有问答卡片里的那块白底板,去掉了。卡片本身就是一张浅色的纸,底下还透着那幅画,再套一个白盒子等于两层底子。现在提问和回答直接写在卡片上,画还在四周透出来。

顺带把提问那一行的颜色重新挑了一遍。原来那个棕色,其实是这两行里更弱的一个——亮的地方勉强能看,黑的地方几乎看不见,比旁边回答的黑色差了一截。换成同样深的暖色之后,它和黑色一样稳当,看着却还是暖的:孩子的话是暖的,老师的话是本色的。

画布对应
Value Propositions(English Growth)
为什么落在这一格:这一格是"英语真的长了点本事"。这一格以前只能靠单设备的页码来证明,现在它靠的是:换个设备、换个浏览器,进度还在,而且不会把另一个孩子的进度盖掉。
这一格怎么用:这一格要拿两台设备来看,一台旧的一台新的。旧的先写、新的后写,最后落在新的一半上;读完的那一个,永远是读完。
Customer Segments(Parents)
为什么落在这一格:这一格是爸妈。进度是爸妈最想看见的那个数——"他今天读到哪儿了"。它以前住在机器上,爸妈换台设备就问不到;现在它跟着账号走。
这一格怎么用:这一格要问的是:爸妈今天能不能不管在哪个设备上打开,都看见孩子读到第几页,而不用先弄清楚"我的进度到底存哪了"。
Customer Relationships(AI Tutor)
为什么落在这一格:这一格是孩子怎么和这个产品相处。今天动的是这一格里最贴身的两件事:那一问(问号)和那一答(卡片上的声音)。答案在纸上不算数——孩子要听见它,那才算有人接住了他。
这一格怎么用:这一格的验收要在手机上看。电脑上鼠标能把藏起来的东西唤出来,手机上没有鼠标——凡是要等一次悬停才出现的东西,在孩子手里就是不存在。

10-23 · 黑板会开门 · 进度条可以拖了

黑板会开门 · 卡片说清楚是哪一年
完成

黑板原来是十二个格子,每格里一个圆盘,盘上是这个月的名字。今晚这十二个格子改了脾气:整个月就是门。

把鼠标停在一个月上,两秒钟,这个单元就整块压上来——不是一张小卡片,是一整块板盖住了整块板。左上是月和它的小标记,右上是年份,底下是它的名字,写成粉笔字。

一张打开的木框黑板卡片:左上角是粉笔写的 Oct 和一座小小的神庙图案,右上角是粉笔写的 2026,中间满铺一张博物馆里的插画——一个男人和一个女孩子站在一件青铜大瓮旁边,女孩子手里捧着一只木头小鸟,左边还有一位白发老太太,背景里有人坐在长椅上翻报纸;画面下方是粉笔写的 Ancient Heritage。卡片底下露出木框的边缘和深色的桌面。
停在 Oct 上两秒钟,整个单元盖住整块黑板:月份在左上年份在右,名字在脚下。

这个盖法先试过透明的版本,后来否掉了:透明的卡片底下还看得见原来的黑板,于是孩子面前摆着两块板。一张要说清楚一件事的卡片,应该是盖住,而不是透过去——它说的是"你现在在这里"。

年份是一个数字,全站只有这一个:黑板标题上的 2026,和卡片右上角那个 2026,是同一个数字。一张卡片不说自己属于哪一年,它就没法被信任——尤其在故事已经堆了好几年的情况下。

单元的小标记也只出现一次:窄屏上它在卡片角落里,宽屏上它站在月份旁边。以前两处都出现,看久了总有一个像贴错了。

还有一处小事:手机的格子改成了正方形。手机宽度的三分之一只有 82 像素,一个格子里要塞月份、名字和一个圆盘,本来就挤;现在方方正正,月份写在上面,圆盘缩到下面去,两个不再打架。

画布对应
Value Propositions(AI-Curious Kids)
为什么落在这一格:这一格是"孩子真的好奇"。好奇心长在看得懂的东西上:一个写着月份的格子只是一个标签,一个能推开的门才是一个邀请——孩子知道推一下会发生什么,才会推。
这一格怎么用:这一格的验收是那个两秒钟:够长,不至于误碰;够短,不至于让人觉得黑板坏了。两条都要守住。
进度条终于可以拖了 · 读完的故事会往后退一步
完成

故事卡片底下那条进度线,以前只能看,不能碰。它画着"你读到哪儿了",可孩子有办法读完一整本书而应用不知道——他念出声、跟大人一起读、或者干脆翻到最后一页。一条只能看的线,说不出这些事。

所以它现在是个能拖的东西:手指按住,故事跟着手指走;松手的时候才写一次,所以拖一遍不会把进度改上三十遍。旁边的数字也跟着变——从 0/10 到 5/10 到 10/10。以前写的是"共 10 页",那说的是故事有多长,不是人走到哪儿了。

手机上的两张故事卡片。左边一张是古代中国市集的插画,标题 Daily Life in Ancient China,下面一枚小圆头像、一条橙色的进度条(大约填了一半)和 5/10;右边一张是古埃及金字塔的插画,标题 Ancient Egypt,下面同样的圆头像、一条空的灰进度条和 0/24。两张卡片底下都是深棕色的底。
进度条住在卡片自己那一行里:左边那本读到 5/10,右边那本还没开始。

卡片的顺序也改了:正在读的那本排在最前面,没动过的按原来的顺序排在中间,读完的沉到最后。理由很简单——一个孩子回到单元页,最想找的是他昨天停下来的那一本,不是上个月读完的那十本。

读完的故事会往后退一步:它的画、它的字,都退到五分之一的亮度,指针移过去再回来。但它那条进度线不跟着退——那条线是孩子自己走过的路的记录,是一张读完的卡片上唯一还有话可说的东西。孩子永远逃不出大人的透明度,所以要退的是墨,不是卡片。

画布对应
Value Propositions(English Growth)
为什么落在这一格:这一格是"英语真的长了点本事"。以前这条格子只能靠孩子自己记得读到哪儿来证明;今天这条线是孩子自己动的,它记下来的就是孩子真实的进度。
这一格怎么用:这一格的验收要在孩子的手指上做,不是在鼠标上。拖一遍只写一次、松手才落账、拖到哪条线都不开故事——这三条少一条,这条线就只是装饰。
Value Propositions(AI-Curious Kids)
为什么落在这一格:这一格是"孩子真的好奇"。一个孩子回来先找得到昨天那本书,才谈得上继续读下去;读完了的书退到后面去,不是惩罚,是把位置让给还没读完的那本。
这一格怎么用:这一格要看的是顺序,不是数量:正在读的排第一,读完的排最后,中间不动。顺序对了,孩子打开这一页就知道从哪儿接着走。
说清楚的话 · 和一个小小的边距
完成

孩子问一句,等不到答案。以前所有等不到都长得一样:"出了点问题"。今天分开了四种:网断了、麦克风被拒绝了、什么都没听清、问题本身没送出去——每一种都直接说它自己,也告诉孩子现在能做什么。

接住问题的那一头也补了一刀:有一段录音,一个引擎不肯收,就换另一个引擎再试一次;有一段根本不是音频的,在送出去之前就挡住了。

还有一句"再说一次":以前一道问过的题要重讲一遍,孩子得把话再说一遍;现在服务器记得住答过什么,点一下就能再听一次。

最后是一个小到不好意思单开一段的改动:小卡片里那张画的左右边不一样宽。右边宽了四像素,因为那段留白是给平板上的名字准备的;到了手机上没有名字,那张画就偏了。现在两边一样,都是薄薄的一条边。

一屏小卡片:十张野营主题的插画排在四列上——海龟爬过沙滩、帐篷支在树林里、码头边的旧木棚、两个人搭营火、走在山谷里的背包客、蹲在溪边洗东西的姑娘、停在冰面上的老船、树林里的帆布帐、三个人搭帐篷、一大一小两个孩子坐在草地上。每张画四周都留着同样宽的一圈深色边框。
十张小卡片,每张画的左右留一样宽,边框不再歪。

这种毛病不会有人来报——它不碍事,不点也不坏。但孩子每天要在这一屏上划很多次,一格一格歪着的东西,看久了是硌人的。

画布对应
Customer Relationships(AI Tutor)
为什么落在这一格:这一格是孩子怎么和这个产品相处。一句"出了点问题"和一句"网断了",接住的感觉完全不同:前者把孩子一个人留在门外,后者告诉他门在哪。
这一格怎么用:这一格的验收是失败的时候:失败的样子必须和成功的样子一样被认真写下来。说不清楚原因的失败,是这个产品对用户最不尊重的一种。

10-24 · 让孩子真的用一次 · reading.im 模拟使用测试的问题清单

用孩子的账号把 reading.im 走一遍 · 十个问题摆上桌
完成

这周做的每一件事都是从代码那头看的:改一处、跑一遍闸、推上去。今天反过来——借一个真浏览器,用一个孩子账号从登录开始,把 reading.im 真的用一遍。

走的是首页 → 单元 → 故事 → 选词 → 提问 → 离线下载。账号是 guest,因为它本来就是给测试留的那个。

走着走着发现一件不太好看的事:主要问题不在我们的代码,在源站。reading.im/reading/ 底下那些静态文件,慢的时候会慢到几十秒,快的时候两毫秒,中间还夹着完全连不上的。

代码这边自己的毛病只有两个,都不小:把整本故事下载到本地离线读这件事,实际上不可用;提问只有一个入口,那个入口一旦卡住就再也回不来。

级别问题现象与证据定位对孩子的影响
P0内容源极慢,还会中途卡死同一份 24KB 的单元索引连测三次:7.7 秒 / 16.4 秒 / 60 秒超时(只收到 4KB);浏览器里同一个文件 75.5 秒;CDN 头显示缓存命中,照样慢源站回源链路,不是应用代码杂志页一直停在"Loading…";首页三张单元图要 40–45 秒;故事页第一次能点要 26 秒
P0离线下载实际上不可用点"Download for offline reading",按钮变成"Downloading…"就再也不变:两分钟内故事包缓存 0 条,九分钟后只有 3–4 条(应该约 126 个文件);"downloading N/M" 的进度一次都没出现;下载中按钮被禁用,没有取消src/lib/offline.ts 的 downloadPack 串行下载,进度只在单个文件完成后才报孩子点了像没反应,也不知道要等多久,更停不下来
P1提问只有语音,没有文字兜底机器人语音接口回 {"path":"pc"}(没有机器人),于是改走麦克风;权限弹窗没人回应时,问号按钮一直停在"Listening",没有超时、没有取消、没有报错,再点也没反应;整页 0 个输入框src/reader/pages.tsx 的 handleAskClick:状态不是 idle 就直接返回,按钮只在"思考中"才禁用,看着能点其实点了没用麦克风不可用、被拒绝、或弹窗被忽略的孩子,完全没法提问
P1续读弹窗写"page 16 of 0"打开读过一半的故事:"You stopped reading at page 16 of 0."——这本书其实有 31 页;等一分钟还是 0src/routes/$unit.stories.$slug.tsx 的 lastPage 取自异步的单元索引,索引没到就是 0孩子看到"0 页",会以为这本书是空的
P2每次打开都报 React #418全程 24 次"服务端渲染的 HTML 和客户端不一致",每次进站必现预渲染的 HTML 和客户端渲染对不上,React 把整棵树丢掉重画每次进站多一次整页重画
P2首页先闪一句"你还没有阅读单元"冷启动抓包:第 5 秒渲染"No units on this list yet",第 8 秒才拿到单元列表src/routes/index.tsx 没有 loading 态,列表没到就先按空列表渲染孩子第一眼看到的是"你没有单元"
P2CDN 健康灯误报探测用的是 HEAD 请求,而这个源对 HEAD 经常挂着不回应(curl 28 秒无响应),浏览器里常被 10 秒超时掐掉(全程 30 次)src/hooks/use-cdn-health.ts内容明明好着,灯却灭了
P3"Add words" 按钮在电脑上找不到按钮只有 title 没有 aria-label(别的图标按钮都有);电脑上默认 opacity-0,只有鼠标移上去才显形;点下去图标还是那个加号,看不出模式变了src/reader/highlight.tsx生词本是唯一的入口,却几乎没人找得到;点了也看不出发生了什么
P3地震单元的杂志和书是空的页面写"No magazines in this unit yet.";索引里这一单元 magazines=0、books=0(ancient-heritage 有 1 本杂志)内容还没铺,不是代码问题首页三个单元里有一个点进去是空的
✅审阅页对不是编辑的人关得死访客访问 /stories/…/review 被弹回故事页权限收口是对的没有越权

这十条里只有两条是我们代码自己的事:下载和提问。其余的要么在源站那一侧,要么是别的工具的默认行为。

暖色手绘插画:一个孩子盘腿坐在地毯上,双手捧着一台平板,屏幕上是阅读应用的故事页——深色背景上一段英文正文,右上角一行小字页码,屏幕右侧一个泛着暖光的圆形问号按钮,屏幕一角有一个转了很久还没转完的加载进度圈;平板旁边蹲着一只圆头圆眼的小机器人伙伴,歪着脑袋盯着那个进度圈看;矮桌上一杯热可可、一本翻开的笔记本和一支铅笔,左边的台灯洒下暖黄的光,窗外是傍晚
故事还在、问号还亮着,只是那个圈一直转不完——今天在 reading.im 上看到的就是这一幕。

修的顺序也就照这个来:先修源站——它一变慢,杂志页、首页的图片、续读弹窗上的数字、下载的进度,全都跟着好;再把下载改成并行、进度照实报、并且能取消;然后给提问留一条文字的路,哪怕只是"打字问一句",也比只有一个麦克风靠谱;最后是首页那个空态,和 React #418——那个得拿非压缩的构建去定位是哪儿对不上。

画布对应
Customer Relationships(AI Tutor)
为什么落在这一格:这一格是孩子怎么和这个产品相处。今天撞到的两件事都在这一格里:一个问号把人卡在门外,一个"下载"按钮让人不知道自己在等什么。一个产品对孩子最不尊重的样子不是坏掉,是不吭声。
这一格怎么用:这一格的验收是失败的样子:每个会卡住的地方都要有一条说得清的路——不能提问就打字问,不能下载就告诉还要多久、并且能取消。一句"出了点问题"是不够的,孩子得知道自己该往哪儿走。
Value Propositions(English Growth)
为什么落在这一格:这一格是"英语真的长了点本事"。今天走通了选词讲解这一段:拖一个词,解释带着故事里的用法和例句一起回来——这是这一格最实在的样子。同一段路也说明,选词、提问、下载这三件事得一起走通,才算一个孩子真把一本书读进去了。
这一格怎么用:这一格要拿一个真账号从头走一遍,而不是从代码看。说得通的故事页是这一格的底线;说不通的地方,再多注释也补不上。
确认没坏的那些 · 也值得写下来
完成

走坏的时候也走了一遍好的,不然这张清单会显得比实际更糟。

登录是通的:guest 这个账号进去,首页写着"3 Units for Friend",每个单元标着"Borrowed · Brown"。故事页的正文、插图和声音都在——翻到第 16 页,声音 33 秒。选词讲解也通:鼠标拖住一个词,BenBen 的小圆标浮出来,点一下,中文释义、这个词在这篇故事里的用法、还有一句例句,一样不缺。

左上角那个语言圆标点一下,"正在用中文讲解"变成"Explaining in English",再点回来。上一页下一页、播放静音,都在。编辑审阅页对不是审阅人的账号是关着的——这条没坏,而且是刻意关的。

还有一个好消息是:这套东西的骨架是对的。选词、讲解、提问、下载,四个入口都在,也都通到后端。今天撞到的多半是路上有几段年久失修的路,而不是路本身没修。

画布对应
Channels(bearlabs.net Apps)
为什么落在这一格:这一格是产品自己长什么样。今天做的事其实就是这一格的一个新动作:先把产品摆到一个孩子面前,用一个真账号走一遍,再决定下一刀砍在哪儿。
这一格怎么用:这一格的验收不能只靠闸。闸能说测试过了,说不了"孩子点得下去"。走一遍的人才是这一格的证据。

10-25 · 让等待看得见 · reading.im 的下载,和那条会堵的路

下载这件事,今天看得见了 · 进度、停止,和一个不甩锅的决定
完成

昨天我贴了一张很扎心的图:一个孩子抱着平板,屏幕上的圈一直转,转不完。那张图是真的,那是我昨天在 reading.im 上看到的东西。今天该换一张了——同一个傍晚,同一个孩子,屏幕上终于有一条会走的进度线,旁边还有一个能按的 STOP。

先说给孩子们。点那个下载按钮之后,屏幕上会出现一行字:downloading 3/12 · 2.0 MB。3 是已经拿到的,12 是这一篇一共要拿的文件数(一页一张图、一段一段声音,一篇下来几十上百个),2.0 MB 是已经稳稳躺进你平板里的量。你不用再对着一根不动的圈猜它是不是坏了——它要么在走,要么你能看见它停。

还有一个你大概用得上的本事:再按一次那个按钮,下载就停了。不是关掉页面那种停,是真的停。已经下好的那些还留在平板上,不会被扔掉;下次再点,它会接着上次的地方往下走。

说给爸妈,按要紧程度排三条。第一,孩子现在能自己决定"还要不要继续等"——这件事比"要等多久"更要紧。昨天那种按下去就没有回音、也没法拉回来的按钮,才是真正让人不安的地方。第二,昨天那个"九分钟只下到 3 个文件"的情况不会再有了:现在一次同时拿 6 个,而且一个文件坏掉不会再把整本书拖下水。只有故事自己的那份数据不行——缺了它故事根本打不开,这个我们不敢假装没事。第三,有些故事本来就是纯文字的,某一页没有插画不算错误,现在也不会再被当成错误。

所以如果你家孩子平板上留着昨天那个下了一半的包——不用管它,也不用删。下次点下载,已经下好的不会重下,它会接着往下走。在它下完之前,那个故事不会显示"离线可读",这是故意的:我们宁可让你看见它还没好,也不想假装好了。

还有一件得说清楚:它现在在哪儿。新版本已经发到试点用的那个地址(reading-im-spa.pages.dev)。reading.im 这个地址暂时还是旧的——它读的是我们自己家里那台机器上的一份文件包,我们还没有把新包送过去的通道。所以你在 reading.im 上还没看到进度条,不是你看错了,是它还没换。

暖色水彩插画:晚上,母亲从身后搂着坐在地上的孩子,两人一起看靠在矮桌上的平板;平板屏幕上是阅读页,右上方一条蓝色的下载进度线大约走了四分之一,旁边有一个写着 STOP 的小圆按钮;屏幕右侧坐着 BenBen——圆头、两只深色椭圆眼睛、头侧一个圆形耳罩的小机器人,正抬起一只小手指着那条进度线;矮桌上一杯热可可、一本翻开的笔记本和一支铅笔,左边台灯洒下暖黄的光,窗外是深蓝色的黄昏
进度线走了一截,右边还有一个能按的 STOP——今天在 reading.im 上看到的就是这一幕。
画布对应
Customer Relationships(AI Tutor)
为什么落在这一格:这一格是孩子怎么和这个产品相处。昨天撞到的两件事都在这一格里:一个问号把人卡在门外,一个下载按钮让人不知道自己在等什么。今天先把下载这一半拆掉了——按钮从"按下去就没有回音"变成"看得见进度、还能喊停"。一个产品对孩子最不尊重的样子不是坏掉,是不吭声。
这一格怎么用:这一格的验收是失败的样子:每个会卡住的地方都要有一条说得清的路。这一格今天赢了一小步,提问那一半还欠着——麦克风是唯一的入口,它要是卡住,还是没有第二条路。
Customer Segments(Parents)
为什么落在这一格:这一格是买单的人。爸妈最在意两件事:孩子用得下去吗,出了问题我看得懂吗。进度条和取消按钮解决的是第二件——爸妈不用再猜"是不是卡住了",屏幕上有数字,数字也能停。
这一格怎么用:这一格要拿爸妈真会问的那句话去验:"这东西卡住了吗?"产品要能用一句话回答,并且给出下一步。今天下载这一句能答了。
慢的那条路 · 不是代码的锅,我们把它查清楚了
完成

昨天那份清单里最吓人的一条,是"同一个文件有时要等几十秒"。先说人话版:慢的不是这个应用,是我们自己那台放在家里的机器,到 Cloudflare 边缘之间的一段路。那段路是家里宽带出去的一段,会堵——堵的时候孩子在等的就是它。用我们写代码的人的口气说,结论对我们有点难堪:问题不在 reading.im 的代码,在那条路上(那台机器是跑内容的,不是孩子的平板)。

证据是同一份文件在不同时间的同一张脸。10-24 傍晚七点,它 0.15 秒就出来;10-25 凌晨四点,它要 25 到 40 秒,十次里有三次干脆连不上;今天早上四点四十五,它又是 0.58 到 0.70 秒,十次十次都到。同一份文件、同一套缓存规则、同一个边缘——变的只有那条路堵没堵。

我们能改的那一半改了:给缓存规则加上了 serve_stale,边缘现在手里有副本就先回答,副本刷新放到后台去做。内容规则本来十分钟过期一次,以前每次过期都有一个孩子被那条路绑住,现在没有了。

还有一件事得说清楚,免得以后有人再往里钻:Cloudflare 那个 response_buffering 开关改不了,而且不是权限问题——加了 Zone Settings → Edit 权限之后,另外两个设置都改得动,就它不行,因为这个 zone 挂在 Free 套餐上,Cloudflare 直接把它标成不可编辑。它就算能改,也只是换个送数据的方式,不改变要等多久。真正决定孩子等多久的,还是那条路。

所以给爸妈一句实话:昨天那种慢,不是"孩子用得多了才会慢",是那条链路偶尔会堵。我们这一侧能做的已经做了;剩下的要么等那条路自己通,要么把内容搬到离孩子更近的地方去——后者是下一步,还没做。

画布对应
Channels(bearlabs.net Apps)
为什么落在这一格:这一格是产品自己怎么到达读者手里。今天做的诊断就是这一格的一个新动作:不看代码,去量"孩子点一下之后,东西多久到他手上"。量出来的结论是这一格自己的问题——不是产品做得不好,是路有一段会堵。
这一格怎么用:这一格的验收要有两条链:源站直接拿,和经过边缘拿。两条都要量,因为昨天那一晚它们不是一回事。哪天只量其中一条,就会把责任判错地方——我们昨天就差点判错。
还没做完的 · 三件老实说的事
进行中

昨天那十条里,今天关掉了两条:下载,以及慢的那条路的成因。还欠着的,老实列一下。

第一,提问还是只有一个入口——麦克风。孩子点问号,浏览器要麦克风权限;权限弹窗没人管的时候,那个问号会一直停在"Listening",没有超时、没有取消、没有报错,再点也没反应。对没有麦克风、被爸妈拒绝过权限、或者干脆不理那个弹窗的孩子,提问这条路是断的。改法已经想清楚了:给麦克风一个超时、给同一个按钮第二次点击一个含义、再留一条能打字的兜底。这条还没动手。

第二,首页冷启动会先闪一句"你还没有阅读单元",两秒后单元卡片才到。空列表和"还没加载出来"在界面上长得一模一样,孩子会先看见前者。

第三,每次打开页面都会报一次 React #418(服务端渲染出来的 HTML 和客户端对不上)。它现在只是多画一次页面,不影响能不能读,但它是那种"不查就会一直长"的问题。要查它得拿一个非压缩的生产构建来对,这个我还没做。

给爸妈的版本是:这三件都不影响今天读故事,但第一件影响"用得下去"——它跟下载是同一类问题,都是孩子被卡在一个不给路的地方。所以它排在下一个。

画布对应
Customer Relationships(AI Tutor)
为什么落在这一格:这一格是孩子怎么和产品相处。提问这个入口还没修好,它和昨天那个下载按钮是同一类毛病:看着能点,点了不给路。今天先把下载这一半拆了,提问这一半还欠着——这一格还没做完。
这一格怎么用:这一格要一条一条数还欠着的出口。今天关掉一条(下载),还欠一条(提问)。两条都是"卡住的人没有第二条路",这个清单不该比零长。
Customer Segments(IB PYP Students)
为什么落在这一格:这一格是真正在读的那些孩子。他们身上最容易出问题的不是"读不了",是"读了半天不知道自己读到哪儿了"——续读弹窗写"page 16 of 0"就是这一格的伤口,一本书明明有 31 页。
这一格怎么用:这一格要拿真实的一本书去数页数,不能拿单元索引去猜。索引还没到就显示 0,等于告诉孩子"你没读过"。

Benben

benben space
一个 IB PYP 单元有两半:英语和单元领域。两半必须一起往前走,把它们留在同一处的,是那个导师——同一个导师要同时管住中心概念、探究线索、七个关键概念,和从这些文本里长出来的学术英语。底下是一条探究循环:预读扫描、泛读、找一找、理一理,最后回到关键概念上反思;每一圈都为了把孩子往上挪一级。

这一周走到最后一步:七个关键概念逐条收束,反思旁边还要并排记下信心——不敢开口尝试的学生,答对答错都还没做完这个单元。