「敗口罩」開發過程揭密!微軟MVP熱心設計 意外爆紅

▲「敗口罩開發者陳葵懋。(圖/陳葵懋提供)

記者邱倢芯/臺北報導

隨着新冠肺炎(COVID-19)的疫情增溫,臺灣人對於口罩的需求也日益增長;不少民衆問「口罩哪裡買?」讓網路上出現許多口罩數量的搜尋管道,而在LINE官方帳號羣組上一夕爆紅的「敗口罩」也因而誕生。《ETtoday新聞雲》記者這次也找到了「敗口罩」開發者陳葵懋,請他分享開發「敗口罩」的過程與當中的一些插曲

有人笑稱,新冠肺炎在臺灣所引起口罩之亂,意外地開啓了全臺灣最大的「黑客鬆」,有許多IT技術人士都紛紛加入了口罩地圖的開發,以提供民衆「哪裡還有口罩」的資訊,而陳葵懋也是其中一員。

從事於商業應用系統軟體設計與開發的陳葵懋,同時也是微軟MVP(最有價值專業人士),這次的「敗口罩」聊天機器人的開發,他就是利用微軟Azure服務上的Chatbot Application開發平臺基礎,開發出了在LINE上供大家詢問的「敗口罩」。

陳葵懋表示,產生開發「敗口罩」想法的時間點要回推到還在超商搶口罩的時期,當時剛好網路上有人架設了互助回報數量的平臺,並且提供資料可以串接,因此就想說來寫個應用方便自已跟朋友查詢。

▼「哪間藥局還有口罩?」已經成爲民衆必問的問題 。(圖/《ETtoday新聞雲》資料照)

「敗口罩」第一版花4小時完成 但僅活了12小時不過,臺灣的通訊軟體比比皆是,舉凡像是Telegram、Facebook Messenger都是臺灣人常用的平臺,爲何會使用LINE作爲「敗口罩」的資訊提供平臺?對此,陳葵懋解釋,會選擇用Linebot的方式,是因爲考慮到手機便利性,若架設網站在手機上瀏覽不便,且需要記網址,若寫APP需要等待平臺上架審覈時間,系統更新上也不便利。

因此就想說利用直接藉由Chatbot的形態是最簡單快速的,也是因爲Line是大家很熟悉的軟體,在臺灣用Line通訊的使用者還是比Telegram、Facebook Messenger來的多,開發者只需要着重於資料的串接,不用再花時間設計使用介面,可以用最少的時間,快速撰寫出需要的功能,使用者也不用過多的學習,自然就會操作了。

再者,使用者一開始的目標很明確就是要能查周遭口罩販售點,因此功能儘可能簡單、方便使用爲主,過於複雜的使用者介面反而不好用。

「敗口罩」的第一版(超商版)僅花了4小時完成,(從Open Data 資料整理到完成部署到Azure上),只不過沒想到當時在完成後,當天晚上就宣佈改由健保藥局才能販售,就這樣很「短命」的Linebot只活了12小時。

原本打算那就這樣了。」陳葵懋表示,後來有朋友私訊,看能不能改爲藥局版本,畢竟必須是健保藥局才能販售,不是所有藥局都可以,後來想想也好,就這樣給予了這支Linebot新生命。

▼超商版的「敗口罩」僅僅存活了12小時。(圖/記者邱倢芯攝)

Azure雲端服務反應迅速、開發成本也較低陳葵懋指出,目前這支Linebot是掛載在微軟Azure雲端服務上,雲端服務的優勢在於快速反應;舉例來說,藥局開賣當天接近9點左右,因使用人數多,一度因系統繁忙導致迴應速度受到影響,在當下馬上進行升級調整,服務馬上就恢復正常運作,這就是雲端服務的優勢。

另外,微軟Azure服務的Chatbot Application具有支援跨平臺的優勢,撰寫一個Chatbot核心邏輯,就可以透過簡單的設定以零程式碼的方式串接多種知名的通訊渠道,例如可以同時支援Line及Facebook,以企業的角度來看會讓開發人員省事不少,此外現行Chatbot開發面對對話的管理還是有其難度,微軟的Bot Framework框架可以針對不同的對話情境安排一系列的流程,有助於提供更好的使用者體驗。目前也計劃整合Azure AI雲端服務- QnA Maker,可以提供使用者獲取正確防疫訊息

另一方面,「敗口罩」開發成本也相當低,先前有傳出另外一名使用Google地圖與Place API作爲基礎的開發者,在服務上線6小時後收到了一張60萬的Google帳單,嚇壞了不少人;而「敗口罩」的服務是建基於Azure雲端服務上,因此陳葵懋只要負擔Azure Web Service的費用即可,再加上陳葵懋是微軟MVP,微軟還贊助了部分費用,因此「敗口罩」的最終開發成本僅有幾千元。

▼「敗口罩」除了可以查詢哪裡還有口罩之外,也會發訊息提醒民衆不要過度囤積口罩。(圖/記者邱倢芯攝)

「敗口罩」一度被認作釣魚帳號在「敗口罩」上線後便急速爆紅,不過樹大招風,當時一度傳出「敗口罩」是釣魚帳號,還鬧上了新聞版面,不過很快地就有媒體平臺及部落客提供澄清說明。

「原本我以爲只是小事情,但沒想到連續2天愈來愈多朋友私訊我。」陳葵懋表示,原本以爲透過媒體、部落客澄清後誤會就平息了,但澄清趕不上謠言的發酵,後來陳葵懋主動於「敗口罩」Linebot上貼文澄清假訊息,才平息了釣魚帳號的風波。

另一方面,有許多民衆可能都會抱怨,平臺上的口罩數量似乎與現實不相符,跑了好幾家顯示有口罩的藥局,最後都買不到。對此,陳葵懋也解釋,目前各種平臺拿到的數據資料來源,都是健保署的開放資料來源,所以其實數據大家應該都差不多(視取得資料更新頻率,會有少許不同)。

而目前很多人反應口罩數量與實際藥局情況不同的情況,大多數是因爲藥局端很多采用「先發號碼牌後取貨」的方式,導致必須等實際領到號碼牌的民衆有做刷健保卡取貨時,健保署端的數據纔會扣除,這也就導致了部份資料顯示有口罩數量,但實際跑去藥局卻說賣光了的原因。

這部份目前還沒有一個有效的解決方式,不過在經過大家反應後,政府端已開始着手調查各藥局的開賣方式,並預計提供資訊於健保署端開放資料內,屆時「敗口罩」也會顯示相關資訊,提供大家更有用的參考依據,目前已先行提供臺北市藥局資訊。

▼大多數藥局採用「先發號碼牌後取貨」的方式,因而產生平臺上的數據與現實不符的狀況。(圖/《ETtoday新聞雲》資料照)

資訊科技將成爲未來防疫要角陳葵懋認爲,這一次的開發口罩地圖經驗,提供了未來面對突發事件時,資訊科技能伴演的角色,做爲一個開發者,能用手中的鍵盤爲這次的防疫做出貢獻,是很榮幸的一件事,在民間其實存在着很多熱血的技術人,平時也許大家都各自忙着,但遇到需要幫忙的地方,這些人動起來的速度絕對是不輸人的,許多人半夜都是在討論着如何優化,有哪些地方可以再做的更好。

不過陳葵懋也坦言,這次最重要的還是數據能快速的提供,這部份就得依靠政府部門的幫忙,口罩實名制聽似簡單,但如何能在現有的資料架構,面對時間壓力快速應對,這裡面的複雜度絕對是很高的。

不只是「敗口罩」,其它平臺也共同展現了很好的成果,面對這種突發事件,若採取過去老舊做法,由政府部門一手包辦,可能光是系統招標之類的程序限制,恐怕就緩不濟急了,這一次公部門負責資料端的提供,而科技應用則發揮創意,快速開發出應用,民衆馬上有好的工具可以解決問題,陳葵懋認爲是很好的一次經驗。

「敗口罩」日後轉型退場都是可能選擇雖然目前疫情仍持續延燒,不過當陳葵懋被問到,在這波疫情過後,「敗口罩」該何去何從時,並沒有特別的想法;他指出,持續運作下去或是隨着口罩需求及疫情趨緩慢慢退場,都是可能選項,畢竟「敗口罩」不是一個以產品出現的應用,開發及運作單純是靠個人業餘時間進行,人力及運作成本都是考量因素。

若是運作下去,轉型就會是必要的,從單一需求轉成日常需求,或是相關訊息的一個散發頻道,都是很好的方向;陳葵懋指出,目前比較有想法的是,面對很多的網路假消息,例如衛生紙2.0之亂,能提供正確訊息澄清的一個管道,或許是不錯的方向。