V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
theoractice
V2EX  ›  程序员

又看到了 OptiKey,想讲个故事

  •  7
     
  •   theoractice · 2015-09-27 17:01:05 +08:00 · 4162 次点击
    这是一个创建于 3345 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道怎么开头,就随便写吧。

    大概一年半以前,由于某个原(mei)因(zi),我每个周末开始往一家特殊儿童教育机构跑,一来是给他们做信息管理系统,二来顺便看(pao)看(pao)妹子。当然哪个是主哪个是辅你们懂的。

    第一天,我的内心差点崩溃

    因为那天我一进门就看到妹子正和一个大汉抱在一起不停晃动。我放下电脑包冲到前面,才发现不对,是妹子抱着一个不停晃动的大汉。等等,为什么旁边还有一个焦虑的男人?
    这时妹子指指大汉给我使个眼色:你先坐,等我把小 A 安顿好啊。我一愣。小 A ? 14 岁?自闭症?这不是他们给我的测试用例么。再看这个大汉身形高大却脸庞稚嫩,甩手晃头却对我视而不见,难道。。。
    一分钟后我明白了,事实确实如此,而旁边那个男人正是小 A 的父亲。喏,这就是我和一个自闭症患者的第一次近距离接触。尽管有所准备,我还是吓了一跳。

    很多程序员会把自闭当作一种缺乏社交孤独生活的自嘲,但有多少人了解真正的自闭症呢。神经系统发育失调,语言障碍,无法自立都只是听上去的概念,成因不明,无法治愈也不足以描绘家长在确诊时的绝望。像小 A 那样的所谓低功能自闭症,体格发育正常却只能在家度过余生。而即使是情况较好的高功能自闭症,也会有奇怪的爱好,反复的语言等和常人不同的地方。默默存在,不为人知,是他们生活的常态。

    来自星星的启示

    这家教育机构是几个家长凑钱成立的,老实说来并不算专业。小 A 由于年龄大,教育效果不明显,后来就没有来过了。特教老师的主要精力都花在学龄前的小孩身上,从拍手踢球教到说话认字。某天我陪妹子夜观天象回来,发现两个孩子(姑且叫他们小 M 和小 P 吧)和另一个老师正坐在我的电脑前面。我偷瞄过去还以为他们在看电影,却发现他们是在专心致志地看屏保。那是 Seumas McNally 的经典作品 Particle Fire 。他们不哭不闹目不转睛地看了一个多小时,老师也耐着心陪他们看了一个多小时。小 M 和小 P 对这个“满天都是小星星”的软件的着迷,给了我第一个 idea 。

    而另一个 idea 来自于孩子们每天要做很久,名字有点古怪的“感觉统合训练”的一个环节,说白了就是盯着一个地方看同时上下左右转头,类似于下面这个视频里的头眼练习,据说做多了能防止晕车:
    http://v.youku.com/v_show/id_XMTk1MzU5NDY0.html

    终于又是一个周末,当我看着小 M 书生一样边念叨边摇头的时候,灵感来了。小 M 和小 P 都是适龄儿童,教他们读写费时费力,要不要试试让他们用这个摇头动作来写字呢?既锻炼前庭功能又熟悉汉字结构不是一举两得么。实现起来也不难,先用 OpenCV 分析头部的运动方向,然后像笔画描红软件那样把对应的汉字笔画徐徐显示出来就行了。一个星期之后做出了第一个 demo ,老师们觉得很神奇,用“头”写字视线必须专注于屏幕,貌似还挺合理。那就试试看吧。

    后来就是不断修改,加上解释和发音方便教学,加上英文方便老师自己的孩子用。。。为了吸引他们,我干脆在程序里山寨了一个 Particle Fire ,每当用头“写”完一个字的时候,就会变出满屏的星星然后再变出下一个字。最后软件大概长这样:

    看上去还可以是吧。说实话没有人能确定这种做法的效果如何,但至少训练进度并没有拉下。这么试了三个月之后,当小 P 的爷爷含着泪告诉我们小 P 在家会写什么什么字了的时候,我心里还是有点触动的,毕竟是做了一件前人没有尝试过的事情,微小的进步也能带来一些成就感。

    头文字的来历

    后来的事情有点意外。单位里的大叔大妈们看到我弄的这个东西之后,七嘴八舌地跟我说这明明就是个颈椎操软件嘛,什么用头写字的不就是米字操嘛,反正你什么字都能写,那写难字错字显得多有文化嘛。想了想干脆就把软件改成了体感颈椎操模式,起了个名叫“头文字”,发到了小众软件论坛上,收到了不少建议。再后来居然连续收到几封对岸同胞的邮件,询问有没有繁体版,我这才发现这个软件不知什么时候被台湾媒体报道,放到了苹果日报的推荐里。既然有需求那就弄一下吧。做繁体版的最大收获就是看到了唐凤等人制作开源词典《萌典》时对版权问题的严肃讨论。反观大陆你抄我我抄你的做法,哎,不说了。

    没有结局的结局

    前几天一个关于 100offer 的帖子里我看到有人这么说:“程序員自己知道背後的故事就好了”。

    真的是这样的么?最近有个国内没人报道的新闻,开源 ALS 辅助软件 OptiKey 在 reddit 上几天内获得了 8000 个赞。然而我半年前开始关注这个项目,就在两个月前它的 star 数还是个位数。纵使冰桶挑战热闹非凡,若不是 OptiKey 作者一朝发帖,谁在乎过他辛辛苦苦三年半的成果?

    这世上需要发声的远不仅仅是渐冻人或者自闭症群体,有些人的生活可以如同烟火般多彩,而有些人只是默默的存在,默默的消失,仅此而已。和大多数自发形成的特殊教育机构类似,我去过的这所学校早已资金不足无法维持,老师们走的走,转行的转行,没有一个还留在这个城市。如今故事里的所有人都成为了往事,现实如此。没有坚持,也没有 happy ending ,希望大家看完之后能对自闭症有一点感性认识,或者记得注意一下自己的颈椎,那就好。

    15 条回复    2015-12-07 23:10:31 +08:00
    theoractice
        1
    theoractice  
    OP
       2015-09-27 17:02:14 +08:00
    发完帖发现谁还在刷票啊,我这个项目居然也 3000+了。。。
    ljbha007
        2
    ljbha007  
       2015-09-27 17:22:40 +08:00
    楼主你真棒 祝你早日追到这个心地善良的妹子
    另外求一下源代码地址
    oott123
        3
    oott123  
       2015-09-27 17:24:45 +08:00 via Android
    支持 LZ ,真希望我也有机会有能力去做一些这样的事情。
    bdbai
        4
    bdbai  
       2015-09-27 17:40:14 +08:00 via iPhone
    @theoractice 预感 100offer 要搞不下去了 #毁气氛#
    DearMark
        5
    DearMark  
       2015-09-27 18:02:52 +08:00 via Android
    现实,感性。
    我看过 V2 里最有深度的帖子。
    RyuZheng
        6
    RyuZheng  
       2015-09-27 18:29:35 +08:00 via Android
    很有爱,程序员就是要有改变世界的想法,把自己心里想的做出来,惠及别人。比如 SS ,又比如楼主这样,支持楼主。
    alexzuo
        7
    alexzuo  
       2015-09-27 21:06:31 +08:00
    必需给楼主点赞啊
    SCaffrey
        8
    SCaffrey  
       2015-09-27 22:56:41 +08:00
    滋磁!
    johnhsm2333
        9
    johnhsm2333  
       2015-09-28 00:42:10 +08:00
    点赞
    baozijun
        10
    baozijun  
       2015-09-28 07:27:57 +08:00 via Android
    楼主棒棒哒
    dunmuma
        11
    dunmuma  
       2015-09-28 10:23:31 +08:00
    @ljbha007 应该是这个吧? http://i.100offer.com/projects/273
    顺便 cc @xiaobetty
    starship
        12
    starship  
       2015-09-28 14:04:02 +08:00
    starship
        13
    starship  
       2015-09-28 14:05:28 +08:00
    为作者点赞,程序员不紧要关注程序,更要关注程序之外的世界。
    xiaobetty
        14
    xiaobetty  
       2015-09-28 15:54:46 +08:00
    @dunmuma 谢谢写出背后的故事,谢谢 @theoractice 带给我们的感动~
    Yien
        15
    Yien  
       2015-12-07 23:10:31 +08:00 via iPhone
    厉害
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2631 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:23 · PVG 12:23 · LAX 20:23 · JFK 23:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.