【开发者故事】对话莱特英语|多端开发的轻与重:让用户少一步,要多走多少步?
本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:
【开发者故事】对话莱特英语|多端开发的轻与重:让用户少一步,要多走多少步?–华为开发者话题 | 华为开发者联盟
等电梯的30秒,想掏手机背两个单词。解锁、找App、点词书、等加载……电梯到了。算了。
“莱特英语学习背单词”(以下简称“莱特英语”)团队想消灭的,就是这种“算了”的瞬间:手表抬腕就能背词,没网也能学,回家再同步;两个人手机碰一下,马上就能进同一个学习小组。

这些体验听起来都很轻,轻到用户只会觉得“少了一步”。 但用户少一步,开发者又要多走哪几步?采访中,团队反复提到一个很重的词:数据没到。
“最大的坑不是某个接口不会用,而是两边都显示成功,数据却没到。”这正是多设备产品的难处:用户看到的是“抬腕就能背词”“碰一下就能组队”;开发者要守住的,是另一端不能丢的状态、不能沉默的失败,以及一条必须从头到尾跑通的链路。
带着这些问题,我们和“莱特英语”团队聊了聊:如何丝滑解锁多端体验,这些“轻”功能又是怎么一步步落地的?
Q1 先聊聊你们团队吧,大家之前是做什么的,怎么走到一起的呢?当初为什么会选择做英语学习这个方向?也请介绍一下“莱特英语”的面向人群与核心功能。
答: 我们公司是青岛嘉铭文化传播有限公司,团队一直在语言学习方向,成员多来自语言学习或教育产品,做客户端、内容和运营的都有。大家走到一起是因为一个共同问题:怎么让用户每天真的把词背下来,而不是下载完就放着。
选英语是因为需求最大、最刚需。但一开始我们就把词库、记忆算法、学习计划、词典做成可复用底座,现在覆盖9个语种。产品以英语为主,面向从零基础到备考人群:四六级、考研、雅思托福、专四专八,也有利用通勤和课间学英语的上班族。目前应用能提供莱特大词典、AI口语、单词游戏、随身听、手表刷词、跳操背单词、碰一碰组队等服务。

产品学习主链路
Q2 最早决定入局鸿蒙的时候,有没有过什么顾虑? 依托HarmonyOS特性,你们解锁了哪些差异化体验?
答:最早的顾虑主要有两个:一是鸿蒙设备之间的差异大,二是核心学习体验要重做,担心投入大、最后只是“能跑”,而不是“好用”。后来我们发现,鸿蒙的价值不只是多一个渠道,而是能把手机、平板、智慧屏、手表这些设备连起来。
我们围绕这个做了几件事:跳操背单词,手机、平板和智慧屏用系统相机采画面、AR Engine 做人体骨骼点识别与跟踪,判断动作以及动作答题是否到位,手表用Wear Engine 回传心率和手势;碰一碰组队,用Share Kit 的碰一碰能力(harmonyShare ),手机贴一下,邀请就直接递到对方设备;手表背词,通过Wear Engine 的点对点通道同步词书和学习进度,抬腕就能利用碎片时间学。
对用户来说,最实际的就是“少一步”:不用掏手机、不用扫码、不用先加好友。这些体验单看都很小,但合起来,学习就不再只发生在“坐下来打开手机”那一刻。

用户反馈截图
对开发者这边,提效也很直观:以前给一块新形态设备添加新功能时,大部分都需按端重写一遍,排期一般按周或者月算;现在业务和状态只维护一份,加上DevEco CodeGenie 的加持,所有平台的新功能开发时所见即所得,很快就能在真机上进行验证。
Q3 “跳操背单词”创新场景打通了手机、手表、电视、平板多终端。这个创意是怎么来的?开发过程中最有意思或最头疼的一个技术细节是什么?
答:这个创意来自一个很普通的场景:有一些单词是需要周期性复习从而增强记忆的,我们看到很多人喜欢跟着运动博主直播跳操健身,于是就想把“动起来的十几分钟”也变成碎片的学习和复习时间。后来就收敛成三个阶段:先教动作,再在动作里背词,最后用稳心率的阶段做主动回忆和释义选择。

产品界面演示
最有意思的技术细节是第三阶段的“抬手选 A/B”:我们没有让手表自己跑一套复杂识别,而是用系统自带的智慧手势焦点在选项之间移动,手表只负责上报选择,稳定又省电。最头疼的是多端同步:任何一端掉线或者重连,进度都不能乱。团队花了大把时间做状态对齐与恢复,这个问题我们后面会详细展开。

跳操背单词多端场景

跳操详情页(鸿蒙模拟器截图)
Q4 另一个亮点功能“碰一碰一键组队”落地后,效果如何?开发过程中最有挑战的环节是哪个?
答:“碰一碰一键组队”把“建组、入组”从线上流程变成线下动作:一个人建组,另一个人手机碰一下就能进。上线后路径短了:以前要加好友、建群、发链接、等对方点开,现在线下碰一下就行,特别适合一起上课、自习。这个功能通过Share Kit 的碰一碰能力实现:一端建好组之后,把组队链接打包成可分享的数据,通过harmonyShare 监听两台设备贴近,对方一碰就收到邀请、直接进组队页——不用扫码、不用加好友,也不用等链接。
开发中最有挑战的是冷启动和状态保持:被邀请的人可能还没打开App,邀请也要能顺利接住;发起方页面被系统分享面板切走再回来,组队状态也不能丢。我们做了不少状态校验和恢复,保证用户看到的和系统实际状态一致。

碰一碰一键组队(含真实建组页面)
Q5 手表端最大的突破是“ 不掏手机也能学”。你们运用了哪些能力来实现?手表端背单词的交互做了哪些针对小屏的适配?
答:先说一个我们最常听到的用法:早高峰地铁上单手扶杆,抬腕就能把今天要复习的词过一遍;课间十分钟站着也能刷两组。手表端“不掏手机也能学”靠的是三件事:第一,把词书和学习计划同步到手表,手表可以离线学;第二,学习记录先存在手表上,回到手机后再同步;第三,通过Wear Engine 在手机和手表之间建一条点对点通道,按包名加证书指纹做鉴权,让两端保持连接和状态同步。
小屏适配我们主要按“少信息、少操作、大焦点”来做:一屏一个词,单词、音标、释义分三层,字号和点击区域优先;卡片是一个大焦点框,可以用手势移动、点按确认;左右手佩戴可以配置;跳操背词答题默认选中 A,减少一次操作;两个选项在手表和手机上的顺序保持一致,避免看错。交互上尽量借系统的力,而不是自己造:选项之间靠系统的手势焦点移动,手表只负责上报最后选了哪个;答对答错用Sensor Service Kit 的振动做反馈,不用盯着屏幕也知道结果。

手表端学习场景(含手表界面)
Q6 从手机端到手表端,从单设备到多设备协同,开发过程中踩过最大的坑是什么?有没有遇到过“手机端好好的、手表端就是跑不起来”的情况?如果重来一次,哪个技术决策你们会做得不一样?
答:最大的坑不是某个接口不会用,而是“两边都显示成功,数据却没到”。最典型的一次是手表同步:手机端看起来正常,手表端一直停在同步页;最后发现是设备配置和两端的约定不一致。它不报错,只看手机永远查不出来。
还有一个是学习记录回传:两端的约定没对齐,手表就会一直等,数据看起来像丢了。这类问题让我们意识到,跨设备功能不能只看单端日志,必须把整条链路的状态串起来看。
如果重来一次,我们会把三件事提前:先把设备差异摸清楚,先把两端的约定和失败反馈定下来,先让每个环节都能看到状态和失败原因。先保证问题能定位,再谈功能。
Q7 “莱特英语”接下来在鸿蒙生态里还有什么规划?对于想入局鸿蒙生态的开发者,如果只给一条最实在的建议,会是什么?
答:接下来我们会继续围绕鸿蒙的多设备能力做深,把已经落地的体验打磨好,比如多端协同、手表学习、碰一碰这些场景。对想入局鸿蒙的开发者,我们的感受是:门槛不在写页面,而在设备差异和真机验证。如果只给一条建议:先做一个端到端的闭环,从登录到一个核心功能,再到一个系统能力,在真机上跑通,再扩平台;不要一开始就追求全平台。
本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
- 目前还没评论,等你发挥!

起点课堂会员权益



