在黑暗中绽放程式之光,视障生誓言改造盲用软件

辜腾玉摄影
开发一个软件,往往要写上千至上万行的程式码,开发者光是在屏幕上来回流览、撰写或修改庞大的程式码,就不是一件容易的事,更何况是看不见的盲生,在黑暗中写程式几乎是不可能的任务,但是,詹博丞却做到了,这位看不见屏幕的成功大学资工所学生,不只开发了多项盲用软件,还成为上百人协同开发的新酷音输入法专案开成员之一,还和同学合力整合软硬件,打造出能自动弹奏的吉他。
“我从未忘记当初为何要选资讯做第一志愿,实乃心系盲用软件开发。”一位多重障碍的全盲学生詹博丞曾经在脸书上这么写过,而这个信念也一直在背后支撑着他。他选择资讯工程作为专业领域,因为他相信软件可以帮助有需要的人,也是改善盲人生活与学习品质的一个好办法。他希望靠自己的力量,开发开源的盲人辅助产品,减轻盲人在辅助产品上的开销。
有这个伟大的愿望,是因为詹博丞长期依赖盲人辅助机器,然而,现今辅助机器种类虽然不少,功能却不尽完整,操作上也不够友善,更重要的是,价格都不便宜。詹博丞在学习过程中吃了不少苦头,于是他一直想要改善这样的状况,在请教许多全盲前辈的意见之后,勇敢地选择了资讯工程做为未来的专业领域。
虽然看不到程式码,但坚信动手做就能成功
詹博丞天生罹患点状软骨错生症,不良于行,且听力受损,需靠助听器来辅助。国三时视力急速骤降,最后退化至全盲。这样令人沮丧的状况并没有让詹博丞挫败,反而意志更加坚强。詹博丞数理能力特别强,逻辑好,加上付出比别人还多的努力,在五年前以优异的成绩考取成功学资讯工程系,目前是成功大学资讯工程研究所硕班学生。他在今年7月的开源人年会中,与黄敬群老师一起分享他们开发程式的过程,回想过去这五年来,虽然学习过程比一般学生还来的艰辛,但詹博丞总是正面迎战,连老师都佩服他的耐心与毅力。
被问到如何在看不见的状况下学习编写程式,开发软件,詹博丞说,要成功一定要自己动手,而且要有足够的耐心与决心,最重要的则是要善用身边资源。詹博丞说的很轻松,但我们都知道这并不是件容易的事情。面对上千行甚至更多的程式码,若借由辅助的点字系统逐行搜寻,一次显示一个字元,他不知道要多少倍的时间才能看完。因此,他必须将整个程式码的逻辑先记在脑海中,才能较快找到需要修改的程式码所在位置。另一个很大的难题是缩排,詹博丞必须记住每次缩排的空格数量,后来他还自己动手开发了一个自动排版程式,可以自动帮他缩排。
詹博丞表示,成功大学的资源教室和淡江大学盲生资源中心都给予他很大的协助,加上老师们的照顾,詹博丞靠这些资源建立起这门领域的专业知识。在黄敬群老师、苏文钰教授的带领下,先后参与盲人点字乐谱的开发、新酷音输入法改善、嵌入式系统开发等多项专案。
要看懂别人的程式,不能先被自己的逻辑局限
詹博丞在大二时开始参与数位盲人点字乐谱(Touch Melody)的开发,由苏文裕教授指导,起初与学长姊一起开发,詹博丞可以把握机会向学长姐请教,后来学长姐转到新的研究领域,由詹博丞一人接下整个专案。詹博丞表示,开发这个软件的目的是希望让想学音乐的盲人有弹性的学习方式,也希望协助那些指导全盲学生的老师,透过不同的方式来进行教学。除此之外,更重要的是希望能影响其他开发者,让更多的人愿意投入软件开发,帮助需要的人。
这套系统包括可以储存大量乐谱的数据库学习系统,以及能够显示重点提示、指导乐曲诠释、节拍强弱的辅助系统。可以将一般乐谱转换成盲用点字乐谱,全面中文化界面,再加上中文语音导读以及乐谱播放等辅助功能,帮助视障者学习。詹博丞因为曾就读音乐资优班,对音乐有很大的热忱,他在这个专案上花了四年的时间。詹博丞表示,其实过程中最困难是交接工作,因为他必须看懂别人写的程式,要转换成别人的逻辑来思考,不能被自己的逻辑局限住。
加入大规模OpenSource软件专案,学习业界开发者经验
而新酷音输入法是黄敬群老师带詹博丞一起参与的专案,詹博丞第一次接触到大规模的OpenSource软件开发,由上百位开发者组成新酷音输入法开发论坛,黄敬群老师要求詹博丞必须每周提出进度报告,并贴在社团让其他开发者一起Review。过程中,詹博丞发现其他开发者会对他提出的报告给予回复,让他觉得被接纳、被重视,因此更勇于发问。詹博丞说,这些开发者来自业界,提供的观点与看法与学校学到的相差很多。
黄敬群老师另外开了一门进阶式嵌入系统开发与实作课程,重视实作能力,学生要在一学期之内开发出电子产品的雏形,并且全程使用OpenSource开发工具。不仅如此,所有的作业都要上传至GitHub分享给其他人。詹博丞与其他三位同学共同合作,开发出一台吉他自动演奏机(GuitarBot)。
这台吉他自动演奏机(GuitarBot)由詹博丞负责写程式,其他三位同学负责硬件部分。他们用6颗大型伺服马达压弦,再用6颗小型伺服马达拨弦,他们使用低成本的材料作为素材,用垫板剪成拨弦,用晒衣架的红色塑胶套结合可伸缩的零件作为拨弦的结构。由于詹博丞写的软件,让他们省下许多开销,是他们这项产品的特色。
在这些开发过程,詹博丞自己开发了许多辅助工具,解决写程式时遇到的问题。除了辅助工具之外,他也开发盲人游戏,设计出一款盲用踩地雷。现在,他持续努力就是希望完成他一直以来的梦想,开发出一套完善的盲人辅助系统,并将程式码开放,让盲人在使用电脑上能省去更多障碍,且不需负担庞大的费用。
2014/8/4更正说明:原文提及开发盲人游戏,用点字做七巧板,正确应为“盲用踩地雷”。(内文已更正)
这台吉他自动演奏机(GuitarBot)由詹博丞负责写程式,其他三位同学负责硬件部分。
他们用6颗大型伺服马达压弦,再用6颗小型伺服马达拨弦,使用低成本的材料作为素材,并由詹博丞开发软件,让他们省下许多开销,是这项产品的特色。
