2016 年 4 月 16 日,又拍云 Open Talk NO.21 期活动落地上海,本期活动主题为“在线教育:技术让知识触手可及”,爱乐奇技术副总裁麦凯臻作了《在线教育的内容研发和技术的迭代创新》的分享,以下是分享实录:
爱乐奇主要是做 3 - 15 岁少儿英语 Pad 端教材,有平台,有教材,算是一家内容和技术相结合的公司。今天我首先要与各位分享爱乐奇的产品内容、架构以及前端技术的演变,然后再说一下相应的研发管理。
产品内容
作为一家线上与线下相结合的英语教材和技术平台、应用提供商,我们拥有自己的内容。
大家可以看到,画面左上角是我们的一整套英语教材,都有实体书,能和老师上课用的数码课件结合得很好。画面右上角的那个小朋友,他在上课的时候可以直接跟互动白板上的课件进行交互。课件里,我们设计了 20 多种互动游戏,老师可以邀请小朋友上台一起玩。
除了课堂上的书与课件之外,我们还有一整套家庭作业系统,比如画面左下角的 iPad 和安卓平板,小朋友可以在这些移动设备,或者 PC 机上完成他们的家庭作业。还有就是右下角的英语测评软件,这个是提供给培训机构的,方便培训机构在小朋友入学或者每个学期结束的时候进行英语水平检测。
我们公司在 2010 年就转型做少儿英语,现在已经与 2000 多家教育机构达成了良好的合作,小朋友在我们平台上做过的题目超过 4 亿道,学习英语的时间超过 7 亿分钟,阅读的英语图书也超过了 800 万次。
系统架构
在产品架构方面,我们有自己的内容研发系统, 这个系统的用户是我们公司内部一支专门做英语教研的团队,他们分别负责研发和编辑,并通过协作将内容发布到我们的云平台上。
我们这个云平台包括很多系统,比如老师们上课时经常用到的课件系统、小朋友回家后做在线练习的作业系统、浏览阅读的图书系统以及玩游戏的娱乐系统等等。
大家可能会很奇怪,为什么有娱乐系统?这是因为我们公司做的是一款寓教于乐的产品,小朋友在做完功课之后都可以得到金贝,而金贝作为我们系统里的虚拟货币,可以用来玩一些平台上的游戏,有些是纯粹娱乐的游戏,有些是学习应用的游戏,小朋友可以在上面一边游戏一边学英语。
此外,我们的产品是支持各个平台的,包括 Android 、 iOS 、 MAC 和 PC 都支持。而中间写“ AWS 北京”的意思是,我们公司在去年 10 月份,就把全部的机房服务器迁到 AWS 北京,不再用物理机房了。用 AWS 北京可以弹性地拿一些资源,比如说服务器不够了我可以再去开,存储资源不够了也可以再去开。我们以前经历过采购机器进行扩容,那个过程是比较漫长的,而且也比较不划算,上了 AWS 北京以后,我们运营成本大大降低,效率也提高了很多。
前端技术演变
我们从 2010 年开始做这个项目到现在,其实经历过一系列前端技术的演变。
一开始,我们的产品只需要支持 PC 端的浏览器。因为我们(的产品)主要是针对 3 到 15 岁小朋友的英语学习应用,所以很重要的一点就是,我们的产品一定要做得很好玩、很卡通化,这样小朋友才容易接受。
2010 年,我们的模式更多像是 Web 的游戏研发模式,我们在平台上有五个小宠物的角色,都很卡通。我们的学习、游戏应用都要跟这些小宠物紧密地结合,要很生动、很好玩。当时的情况下只有 Flash 这个选择,所以就用 ActionScript 来研发基于 Flash 的作业系统、学习应用和娱乐系统。
到了 2014 年的时候,我们发生了一个很大的转变。我是 2010 年回国,当时刚买了一个第一代的 iPad 。从 2014 年开始,明显发现很多家长都有平板,安卓平板的价格也越来越亲民,所以我们就需要将内容迁移到平板上面。
那个时候,我也看过蛮多的不同技术,很多还是不成熟的,我们选了 Action Script,也是原有的一套东西。然后用 Adobe Air 的 SDK,这样写程序就可以跨 MAC 、跨 PC 、跨 Android 和 iOS ,写出的程序也就可以在这些平台上运行。到今天为止,Flash 的东西在 stage 2D 下应用的性能还是比较差,在移动端尤其是在 iOS 上还存在很多限制,因为本身生产出来的 swf 素材文件是带有代码逻辑的,而 iOS 不允许素材里面有代码逻辑。所以,在移动端我们采用了 Starling ,它是基于 Stage 3D 加速的,也可以用来开发 2D 的游戏和界面框架。
去年,有一些做培训机构的客户给我们提了一些需求,表示家长希望小朋友能在手机上做口语练习,然后直接提交作业,让老师能在手机上批改,所以我们就开始围绕这些需求来研发出基于 Html5 适配到手机端的题型。
我们的课件系统在 2012 年发布,那个时候也是用 Adobe Air 做的,而我们现在做的升级已经转向了 Electron 框架,用 JavaScript 、 Node.js 、 Html5 、 Css 来进行跨平台的桌面程序的开发。
那些年,那些坑
在过去的五六年时间里,我们也遇到了一些问题。
首先,关于前端的性能,我们比较看中桢数,做过游戏开发的朋友都知道,这个至少要 24 桢左右。我们还在客户端采集用户信息,比如说用户的 CPU 是多少?内存是多少?我们拿这些数据就知道我们用户的机器的配置,然后我们就买对应的低配置的机器,让 QA 在上面测试我们的应用,确保性能。
到了近两年,在移动端上我们发现不同的平台之间差异非常大,所以要采集很多数据来分析。当时比较主要的问题就是,Flash player/ Adobe air SDK 升级需要详细的测试。例如有一次 Flash Player 上自动更新了,我们当初也没有看到这个新的版本, 而这个版本和网站的 Flash 应用不兼容,用户就打不开我们的版本。 Adobe Air SDK 的升级也是一样的道理要去做兼容性测试。
其次, Adobe Air SDK 跨平台的方案有一些问题。 第一,文本框在不同平台上的事件触发条件不一样;第二, Android 上没有回声消除,做视频应用就会有很大的障碍;第三,跨平台打包比较麻烦;第四,录音在不同设备上有不同问题;然后就是不同平台的性能差异,比如说 Android 和 iOS 用的素材格式不一样,要针对每个不同平台的素材进行处理,然后转化。
内容管理系统
这是我们的内容管理系统。
在左边的三项里面,中间一项是占大头的,也就是内容开发人员的工作,研发和维护课程内容。具体来说,就是要把一本英文书的内容全部进行数字化处理。在这个环节中,我们会针对每一页的内容,把所有章节的内容转入我们的系统,以多种形式呈现出来。比如,我们有这样一个章节,小朋友要跟着画面的伴奏音乐唱歌,这时候内容开发人员就需要让这首歌像 MP3 一样播放,并把具体信息标注出来,录入我们的系统。
内容开发人员把内容都输入以后,我们会有编辑部的同事( QA )来接手,他们负责看这个内容符合不符合要求,比如说我们的开发人员把内容发给 QA ,然后由 QA 人员来对内容进行把关。左边底下的一项是 Manager ,他们负责管理一本书的内容架构与内容发布,以及数据分析、用户权限管理等。
右手边是一个模块图。我们一开始在 2010 年只提了内容管理模块跟素材管理模块,那个时候是比较简单的。但是到 2012 年的时候,我们多了一个素材打包模块,因为 2012 年做的课件,是把一本书的内容全部数字化,而课件都是老师课堂上的内容,需要离线使用,所以课件的成品需要先打包好才能发布出去。
2014 年,当我们需要支持移动端的时候,就在预览模块上做了很大的改变。因为我们用 Adobe Air / Flash 的技术,所以让课程研发员预览的时候,他们都是可以通过 Web 页面预览,不需要在 iOS / 安卓 的设备上预览,这对他们来说很省时间,对我们来说也省了很多工作。
我觉得现在做内容研发面临一个很大的挑战,就是要怎么支持多终端、多平台?我们有手机、有 PC 、有 MAC ,当然也有很多智能电视,比如有小米和乐视 TV 等等。当你进行技术选型的时候就需要考虑,以后一个个平台都要出来了,技术需要很大的改动吗?还有你的素材、音频需要很大的改动吗?我们这五年积累了非常多的美术和音频素材,如果我们每上一个新平台,美术工作人员就要在每个新平台上做新的素材,工作量将会是非常大的。现在我们的技术解决方案是可以用一套的统一素材支持不同的平台。
右上角是 Apache Solr 搜索服务, 让课程内容研发人员能方便地搜索到素材、音频。
我们去年有了一款智能化生成内容模块,比如说这个课本有一个单词叫 apple ,而我们这个系统的历史记录里面已经出过非常多关于 apple 的内容,那么我们这个自动模块就能让课程人员快速找到很好的 apple 内容,让他们应用到好的项目里面。我们要实现的是通过外部的内容使用的数据,过滤找出核心的内容,包括课件内容、英语教学内容等,并能够被反复应用。
智能内容出版
在线教育大家说了很多的创新都是技术方面的,但是我觉得内容方面更是需要创新的。爱乐奇做的事情除了技术以外,也在把出版内容互联网化。当初你们中学大学学的英语教材,应该是 20 、 30 年,或者 30 、 40 年的历史了,为什么一直不怎么变呢?或者不与时俱进呢?我们爱乐奇可以做到在两到三年的时候,就出一个新版本的教材,这样的速度在出版社是做不到的。为什么我们可以做呢?
第一,我们有一个工作流,有协助,内容研发人员做好了就给 QA (编辑), QA 检查完了, manager 就发布,然后我们能收集到外部数据。所谓外部数据是指,这些课件和内容在外面会产生一些学生的学习数据。我们会把这些数据拿回来做分析,比如说有一些错的很多的,很可能是我们出题的问题,或者说我们出这道题跟内容不匹配,这些信息我们拿回来就知道,我们需要做哪方面改进。
第二,在内容方面,因为我们是做数字化的内容,所以非常容易修改或者升级换代。如果是实体书,这个成本是非常大的。
第三,我们有自己的一套版本的管理,比如 1.0 和 2.0 的内容,我们 1.0 归 1.0,2.0 归 2.0,就像我们技术写代码一样,有一个版本。
第四,线下传统企业在跨不过互联网、移动互联网内容数码化的这个坎。大家几年前应该知道,有家企业叫巧虎,做少儿读物的,专门给幼儿园小朋友做读物,他们的 marketing 非常强,但是到今天来说,我们在商场里面已经没有看到他们什么店了,主要是他们的 PC 向互联网转型做不来,他们以前一直有自己的小游戏,但都是一些 Flash 游戏,到移动互联网这一块,用户习惯变了,而他们的技术要升级的时候没赶上。
第五,在素材和打包管理上,不同终端的管理方式不一样。素材要下载下来,有一套加密和解密的机制,但是手机和 Pad 的内存有限,就需要考虑各种解决办法。
第六,内容的保护,这个问题说得更多,大家觉得内容能什么保护吗?单从内容本身来说,是非常难保护的。比如说我们课件里面有很多很多动画,我们有加密素材保护,但是人家真的要破解,肯定能破得了。做教育的都知道,内容是非常非常宝贵的。 如果在座的有小孩可能都知道,微信上经常有一些网页分享,让你点赞,给你牛津英语音频下载链接,但是你下了这个东西,他们更多只能听一听,听完之后没有配套练习,家长还是不知道孩子有没有学会。单单有内容是不够的,你要有一整套东西,要让家长知道这个内容学完了是否被真正的吸收消化。 我们爱乐奇在内容保护方面,有端到端的系统,从内容发布到在线测评、作业系统,他们产生的数据: 一、能帮助老师、家长了解学生的学习效果;二、能帮助培训机构通过数据的反馈提高教研的效率、优化教务的管理;三、能反馈到爱乐奇,从而更好地实现自己内容迭代更新的改进。内容肯定可以被盗版,但是爱乐奇端到端的系统中产生的数据能让家长、老师真正地感知到我们的内容带来的好处。内容是基石, 但是只有加上一整套的带有数据反馈的系统才能让大部分人不再需要盗版。
last说说数据驱动和快速迭代,这两个都是互联网企业应有的重要特性。通过数据驱动,我们可以把内容做得更好,从而驱动学生学习变得更高效,而快速迭代可以让我们快速发布新版本,并在新版本上得到用户反馈,持续改善。
以上就是我今天分享的内容,非常希望能和大家多做交流,谢谢!