「败口罩」开发过程揭密!微软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之乱,能提供正确讯息澄清的一个管道,或许是不错的方向。