他为儿子做了款小程序,解决了小朋友学算数的难题 | 晓组织 #1

小程序

 知晓程序注:

「晓组织」是知晓程序推出的全新栏目。

每周,我们都会邀请优秀的小程序开发者,从产品/开发/运营等角度,分享他的小程序实战经验。如果你想成为「晓组织」的一员,请发送邮件至 [email protected] 给我们投稿,献上你的投名状。

第一篇文章,来自「心算练习」的开发者程杰。要是你想做小程序,但还没想好做什么,不妨学习一下程杰的经验,从解决身边人的问题,开始自己的小程序之路。


文 | 程杰

我是程杰,软件程序员,计算机书《大话设计模式》和《大话数据结构》的作者。

我的好朋友安澜洪,长年在时尚媒体负责移动部的产品、设计和整个团队的管理工作。

我们两人花了两个月时间,制作一款叫「心算练习」的微信小程序。

「心算练习」是一款口算、心算、速算的训练软件,适合小学一至三年级和学龄前大班孩子使用。它以微信小程序为载体,省却安装和注册过程。

我们希望帮助您的孩子通过刻意练习,锻炼出又准又快的数学计算能力。

为儿子「定制」一款小程序

制作这样一款小程序,源于我辅导自己儿子数学的经历。

我的儿子在上幼儿园和小学一二年级的时候,时常会因为口算不熟练而造成算术题出错或者过慢的问题。

比如刚开始学习类似 5 + 7、8 + 6、13 – 7 等计算,总是需要借助扳手指才能完成,对于 34 + ?= 100、?+ 29 = 100 这样的凑整问题,也不能快速地给出答案。

我发现孩子计算能力薄弱后,购买了一些口算练习本、听算磁带等让孩子不断练习。

提升效果确实是有的,但也发现了一些问题:首先,这些练习材料题目都是固定的;然后,它们尽管比较全面,但却没有针对我孩子的具体情况出题。

比如有些题目我的孩子已经非常熟练不需要练习了,可是它依然有好多页等着要完成。而有些不熟练的题目,尽管可能只是一小部分,却因做过就不能再反复练习。

偶尔被我发现这样的情况,我会手写出一些类似的题目让孩子做,但是手写出题,在数量上和质量上都很难达到可以让孩子熟练掌握的效果。这样的结果就是,即使花了大量的时间在口算练习上,依然还是事倍功半。

如何解决这个问题呢?我想到了借助软件来达到改善目的。我找了许多 app 试用后,发现针对巩固计算能力的 app 虽然很多,但存在着各种各样的不足,特别是针对错答题和慢答题的强化练习,几乎没有涉及。

去年我阅读了一本书《刻意练习:如何从新手到大师》,图书作者是美国佛罗里达州立大学心理学家 Anders Ericsson,他认为:专家级水平是可以逐步练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成。这些小任务必须是受训者正好不会做,但是又正好可以学习掌握的。完成这种练习,要求受训者的思想高度集中,这就与那些例行公事般的或者带有娱乐色彩的练习完全不同。

我读完此书有一种茅塞顿开之感。每个孩子都需要掌握数学加减乘除的基本计算方法,对一些简单题目也需要做到迅速给出结果,但每个孩子一定有各自不同的困惑与不熟练的地方。

如果可以针对这些不足进行强化,刻意练习,不就可以达到事半功倍的效果了吗?

我本人就是从事软件开发行业。既然找不到合适的,那就自己开发吧。当我把想法告诉了好朋友安澜洪后,他完全支持我。于是我们商量后决定,好好做一款可以满足数学计算刻意练习需要的软件。

零负担的「小」程序

首先,我们要做的需求并非是每个人必需。要求用户去相关平台安装下载一个 app,代价太大,也不容易形成经常打开使用的习惯。

然后,我们也不希望练习数学计算能力成为孩子的负担。每天做 10 分钟,坚持一段时间,计算能力自然就提高了。这符合微信小程序「用完即走」的理念。

最后,小程序非常小,小到感觉不到下载安装和更新。对用户来讲可以比较容易打开和使用,也不需要登录注册,少了很多传统 app 使用上的麻烦。这样用户可以更加专注于数学计算的功能上。

所以我们选择了微信小程序作为我们开发的起始点。

这些坑,我们帮你踩过了

由于我们是第一次开发微信小程序,加上微信小程序本身也在发展和完善。这当中确实遇到了不少的困难和麻烦。目前绝大部分困难我们都已经克服了,这里列举几个花的时间比较多或者比较重要的点。

比如我们的答题时界面是不可以下拉拖动页面的。在小程序开发工具的模拟器上没有问题,但到了真机上,就发生了可以拖拽的下拉回弹。我研究很久,最终解决问题是将页面设置成 scroll-view,并且 scroll-x=“true” 的情况,这样就可以避免了上下拉动。

再比如在模拟器上,JS 的数组 sort 字符串排序并没有问题,但到了我的 iPhone 真机上,却没有排序成功。

后来才知道是因为 iOS、Android 和电脑模拟器三端的 JS 脚本执行环境各不相同的。或许这是微信小程序暂时的缺陷,但我们也不能等着微信团队改进再去实现排序功能。

于是,我们就重写了一个简单的数组对象排序算法,解决了这个问题。虽然有点重复造轮子的嫌疑,但具体情况就得有具体办法。

还有像 iOS 8.x 并不支持 CSS 的 display:flex 功能,会造成排版混乱。由于没有相关手机,开始我们都不知道这种情况,是小程序上线后,用户反馈才了解到存在这个现象。

后来经过研究终于明白是在发布时,勾选「开启上传代码时样式文件自动补全」,可解决这个问题。唉!影响了前期大量的 iOS 8 的用户使用,很是遗憾。

两个老朋友,两个月时间,一个小程序

我和安澜洪是十七年的好朋友。

我们共事过 4 家公司,也算是合作最长久的同事。今年春节过后,我们一同离开公司,准备做一点自己喜欢的事情。我们不能像乔布斯、比尔盖茨他们那样有车库可以选择,所以我们选择在图书馆和咖啡店作为创业办公地点。

经过两个多月的努力,「心算练习」小程序诞生了。

我擅长出点子和前后端的技术开发,安澜洪擅长产品和设计,我们互补的能力正好可以去完整地实现一个小型的软件。

由于多年的经验积累,使得我们在保证基本功能实现的前提下,对软件的使用体验和视觉效果格外重视, 因此,「心算练习」这个产品不敢说多优秀,但在 UI 与交互上,确实花了不少的心思。

小脑袋歇一歇

我们的产品有很多细节都经过深思熟虑。由于篇幅有限,这里举一个答题时的暂停设置页面的设计细节分享给大家。

考虑到小朋友认字有限,增加了拼音注解。并且对拼音中的「a」用了规范的字母显示(「啊」的书写方式)。

音效的开关可以满足用户不同的环境需要。有对、错等音效会更有趣,但个别环境需要禁音。

计算 8 + 9 时或许孩子可以直接输入 1 再输入 7 得到答案,但是如果计算 27 + 59 时,孩子就希望可以先输入个位 6 再输入十位 8 的输入方式,这符合他们的做题习惯。

我们现在已经有了相当多的关于儿童教育类的产品点子在等着实现,「心算练习」也在开发 2.0 版。我们相信可以做出精品的儿童教育类产品。

一个遗憾又有趣的故事

由于「知晓程序」的推荐,上线后不久,我们小程序的使用用户就快要突破 10000 了。

我突发奇想,写了一个显示用户总数的网页,打算用手机自拍个视频做个纪念。可没想到正好在 10000 时由于节电保护电脑黑屏了。唉!虽然是一个小遗憾,但也算是很有趣的。

关注「知晓程序」公众号,在微信后台回复「效率」,获取更多效率工具相关小程序推荐。

分享
扫一扫分享到微信
登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

本篇来自栏目

解锁订阅模式,获得更多专属优质内容
爱范儿 App 下载二维码

爱范儿 App

爱范儿,让未来触手可及

爱范儿
APPSO
董车会
玩物志
爱范儿 公众号二维码

关注明日产品的数字潮牌