圖片來源: 

辜騰玉攝影

開發一個軟體,往往要寫上千至上萬行的程式碼,開發者光是在螢幕上來回流覽、撰寫或修改龐大的程式碼,就不是一件容易的事,更何況是看不見的盲生,在黑暗中寫程式幾乎是不可能的任務,但是,詹博丞卻做到了,這位看不見螢幕的成功大學資工所學生,不只開發了多項盲用軟體,還成為上百人協同開發的新酷音輸入法專案開成員之一,還和同學合力整合軟硬體,打造出能自動彈奏的吉他

「我從未忘記當初為何要選資訊做第一志願,實乃心繫盲用軟體開發。」一位多重障礙的全盲學生詹博丞曾經在臉書上這麼寫過,而這個信念也一直在背後支撐著他。他選擇資訊工程作為專業領域,因為他相信軟體可以幫助有需要的人,也是改善盲人生活與學習品質的一個好辦法。他希望靠自己的力量,開發開源的盲人輔助產品,減輕盲人在輔助產品上的開銷。

有這個偉大的願望,是因為詹博丞長期依賴盲人輔助機器,然而,現今輔助機器種類雖然不少,功能卻不盡完整,操作上也不夠友善,更重要的是,價格都不便宜。詹博丞在學習過程中吃了不少苦頭,於是他一直想要改善這樣的狀況,在請教許多全盲前輩的意見之後,勇敢地選擇了資訊工程做為未來的專業領域。

雖然看不到程式碼,但堅信動手做就能成功

詹博丞天生罹患點狀軟骨錯生症,不良於行,且聽力受損,需靠助聽器來輔助。國三時視力急速驟降,最後退化至全盲。這樣令人沮喪的狀況並沒有讓詹博丞挫敗,反而意志更加堅強。詹博丞數理能力特別強,邏輯好,加上付出比別人還多的努力,在五年前以優異的成績考取成功學資訊工程系,目前是成功大學資訊工程研究所碩班學生。他在今年7月的開源人年會中,與黃敬群老師一起分享他們開發程式的過程,回想過去這五年來,雖然學習過程比一般學生還來的艱辛,但詹博丞總是正面迎戰,連老師都佩服他的耐心與毅力。

被問到如何在看不見的狀況下學習編寫程式,開發軟體,詹博丞說,要成功一定要自己動手,而且要有足夠的耐心與決心,最重要的則是要善用身邊資源。詹博丞說的很輕鬆,但我們都知道這並不是件容易的事情。面對上千行甚至更多的程式碼,若藉由輔助的點字系統逐行搜尋,一次顯示一個字元,他不知道要多少倍的時間才能看完。因此,他必須將整個程式碼的邏輯先記在腦海中,才能較快找到需要修改的程式碼所在位置。另一個很大的難題是縮排,詹博丞必須記住每次縮排的空格數量,後來他還自己動手開發了一個自動排版程式,可以自動幫他縮排。

詹博丞表示,成功大學的資源教室和淡江大學盲生資源中心都給予他很大的協助,加上老師們的照顧,詹博丞靠這些資源建立起這門領域的專業知識。在黃敬群老師、蘇文鈺教授的帶領下,先後參與盲人點字樂譜的開發、新酷音輸入法改善、嵌入式系統開發等多項專案。

要看懂別人的程式,不能先被自己的邏輯侷限

詹博丞在大二時開始參與數位盲人點字樂譜(Touch Melody)的開發,由蘇文裕教授指導,起初與學長姊一起開發,詹博丞可以把握機會向學長姐請教,後來學長姐轉到新的研究領域,由詹博丞一人接下整個專案。詹博丞表示,開發這個軟體的目的是希望讓想學音樂的盲人有彈性的學習方式,也希望協助那些指導全盲學生的老師,透過不同的方式來進行教學。除此之外,更重要的是希望能影響其他開發者,讓更多的人願意投入軟體開發,幫助需要的人。

這套系統包括可以儲存大量樂譜的資料庫學習系統,以及能夠顯示重點提示、指導樂曲詮釋、節拍強弱的輔助系統。可以將一般樂譜轉換成盲用點字樂譜,全面中文化介面,再加上中文語音導讀以及樂譜播放等輔助功能,幫助視障者學習。詹博丞因為曾就讀音樂資優班,對音樂有很大的熱忱,他在這個專案上花了四年的時間。詹博丞表示,其實過程中最困難是交接工作,因為他必須看懂別人寫的程式,要轉換成別人的邏輯來思考,不能被自己的邏輯侷限住。

加入大規模OpenSource軟體專案,學習業界開發者經驗

而新酷音輸入法是黃敬群老師帶詹博丞一起參與的專案,詹博丞第一次接觸到大規模的OpenSource軟體開發,由上百位開發者組成新酷音輸入法開發論壇,黃敬群老師要求詹博丞必須每周提出進度報告,並貼在社團讓其他開發者一起Review。過程中,詹博丞發現其他開發者會對他提出的報告給予回覆,讓他覺得被接納、被重視,因此更勇於發問。詹博丞說,這些開發者來自業界,提供的觀點與看法與學校學到的相差很多。

黃敬群老師另外開了一門進階式嵌入系統開發與實作課程,重視實作能力,學生要在一學期之內開發出電子產品的雛形,並且全程使用OpenSource開發工具。不僅如此,所有的作業都要上傳至GitHub分享給其他人。詹博丞與其他三位同學共同合作,開發出一臺吉他自動演奏機(GuitarBot)。

這臺吉他自動演奏機(GuitarBot)由詹博丞負責寫程式,其他三位同學負責硬體部分。他們用6顆大型伺服馬達壓弦,再用6顆小型伺服馬達撥弦,他們使用低成本的材料作為素材,用墊板剪成撥弦,用曬衣架的紅色塑膠套結合可伸縮的零件作為撥弦的結構。由於詹博丞寫的軟體,讓他們省下許多開銷,是他們這項產品的特色。

在這些開發過程,詹博丞自己開發了許多輔助工具,解決寫程式時遇到的問題。除了輔助工具之外,他也開發盲人遊戲,設計出一款盲用踩地雷。現在,他持續努力就是希望完成他一直以來的夢想,開發出一套完善的盲人輔助系統,並將程式碼開放,讓盲人在使用電腦上能省去更多障礙,且不需負擔龐大的費用。

2014/8/4更正說明:原文提及開發盲人遊戲,用點字做七巧板,正確應為「盲用踩地雷」。(內文已更正)

這臺吉他自動演奏機(GuitarBot)由詹博丞負責寫程式,其他三位同學負責硬體部分。
他們用6顆大型伺服馬達壓弦,再用6顆小型伺服馬達撥弦,使用低成本的材料作為素材,並由詹博丞開發軟體,讓他們省下許多開銷,是這項產品的特色。

 


Advertisement

更多 iThome相關內容