2009年8月6日氣象局發布莫拉克颱風警報,兩天後的晚上7點,氣象局臨時發布高屏地區雨量將達2,500毫米,3小時後,氣象局緊急追加宣布,嘉義和高雄的總雨量也將達到2,200毫米,這數字相當於臺灣平地一年的全部降雨量,新聞和網路大量傳出南部淹水災情。
8月8日深夜11點32分,網友Billypan透過Plurk號召人力開發災情通報網站。任職於Pixnet的程式設計師鄭伊廷(網路代號XDite)透過朋友輾轉知道這件事,她決定用最短時間打造一個災情支援網。
鄭伊廷說:「盡快上線是當時最重要的事。」所以,她直接改造過去開發的現成網站,先提供回報災情的留言板和Google Map地圖上的最新災情輪播功能。鄭伊廷只用了15分鐘修改程式碼,再花45分鐘將網站部署到美國的雲端平臺上。一個小時後,在凌晨1點3分時,她所打造的莫拉克颱風災情支援網上線,開始提供各地網友發布最新的災情資訊。
第一版的災情支援網功能很單純,著重於傳遞各地災情,讓民眾發出求救資訊,雖然鄭伊廷也提供網友回報災情的後續處理資訊,但這項回報功能並不明顯。隨著訊息越來越多,她發現,回報機制越來越重要,這功能才能減少其他人重複處理的情況。
所以,鄭伊廷也開始調整網站功能,取消了原本的地圖輪播機制,在版面上強調回報功能,讓網友更方便更新每一筆災情資訊的後續處理狀況,並且增加了分類功能,讓民眾更方便檢視不同類型的資訊。她進一步請知名BBS站PTT上的Emergency版版主幫忙尋找5位志工,負責過濾無效文章和處理錯誤分類。
因為災情支援網是鄭伊廷一個人獨立開發,所以,她盡可能地使用免費的第三方外掛服務,再將這些服務嵌入支援網,減少重複開發的負擔。例如透過Google Sites來整理災情志工的招募資訊。透過Google文件的共享編輯功能,讓不同網友可以共同編輯招募內容,再將招募文件發布成HTML檔,以iFrame的方式嵌入Google Sites。
XDite盡可能地運用第三方服務,來加快莫拉克颱風災情支援網的開發速度。
鄭伊廷解釋這麼做的優點,一方面可透過Google文件來分擔流量,不受Google Sites的每月流量限制的影響,另一方面也可以避免自行開發內容管理平臺和帳號控管的負擔。後來,Emergency版版主希望災情網提供志工管理系統時,鄭伊廷就直接運用線上活動報名平臺Registrano來登記,再由站務志工調派人力。
此外,她還利用Google Friend Connect服務建立站務留言板,只需填完設定資訊,再複製JavaScript和CSS內容,就可以快速完成站內留言板,一行程式碼都不用寫。
為了讓更多人知道災情支援網,鄭伊廷在網站首頁做了一個Plurk推文按鈕,可讓網友將支援網的網址發布到Plurk中分享。鄭伊廷說:「從過去的經驗中得知,增加Plurk推文按鈕後,可以讓網站流量增加三倍,流量成長速度比調整網站SEO更快。」透過這些推廣機制,災情支援網每日瀏覽數快速增加,最高時曾創下單日40萬次的瀏覽數,後期每日也都有5萬次的瀏覽數。
因為民眾非常關心災情,許多大型救災網站都因流量超載而中斷服務,但鄭伊廷的災情支援網沒有中斷。
早在開發之初,除了盡快上線外,鄭伊廷也考慮到網站的擴充性,她指出:「一方面網站未來的規模未知,如果租用實體機器,當伺服器無法負荷時,就必須中斷服務來搬遷網站,非常麻煩,所以,我直接將網站放上雲端。另一方面,將擴充性問題交給雲端平臺業者,讓我可以專注於擅長的開發工作,不需要擔心網站效能調校的問題。」
所以,鄭伊廷將網站放到雲端服務平臺中,利用國外主機代管業者Heroku的虛擬專屬主機(VPS)來建置網站。鄭伊廷採用的代管服務,除了支援RoR語言,還可以動態調整網站擴充性。只要透過網站管理介面的調整功能,就可以增加需要的虛擬專屬主機節點(Node),開啟的節點越多,可以承載的流量也越大,當然,費用也越高。
最初上線時,災情支援網只租用了一臺512MB的VPS,鄭伊廷表示,每天大約可承載1~2萬個瀏覽數量,後來流量增加後,開始增加租用的節點,每個節點可以承載10~15萬個瀏覽數。在8月11日流量最高峰時,災情支援網調用了6個節點,所以,才沒有被流量衝垮而斷線。事後結算8月份的網站代管費用,主機加上臨時擴充的節點,總共花了50.2美元,約臺幣1,650元。
雲端平臺解決了伺服器的擴充問題,但是,網友仍然抱怨災情支援網的開啟速度很慢,鄭伊廷進一步用YSlow for Firebug外掛工具來檢測網頁程式的執行效率。她發現影響瀏覽品質的關鍵是網頁靜態檔案。雖然災情支援網的HTML程式碼只有19KB,但是,程式引用的JavaScript框架程式碼卻有150KB,拖慢了使用者下載網頁的速度。
所以,鄭伊廷向任職的Pixnet求助,由Pixnet贊助CDN(Content Distribution Network)服務來發布這些靜態網頁的內容,而不是透過災情支援網的伺服器發布,達到分攤流量,加快了存取速度的效果。
鄭伊廷大量利用第三方外掛程式或線上服務,來減少開發負擔,縮短網站上線時間,後續再逐步擴充新功能,並拿掉不需要的機制。並且透過雲端平臺來解決網站擴充性的問題,讓自己專注在開發工作,也善用CDN服務和除錯工具來調校網站效能。
當網站使用人數越來越多,知名度越來越高,也開始出現搗蛋分子,開始在網站上發布與災情無關的干擾訊息。支援網原本由站務志工手動刪除這些無效資訊,後來搗蛋分子進一步使用程式機器人大量發文,鄭伊廷為了避免志工疲於應付,網站後期工作,反而是開發各種文章管理機制。
這些後臺管理機制包括了關鍵字過濾機制、IP黑名單阻擋,有一度還管制發文時間的間隔,限制15分鐘內只能發文一次,甚至有段時間使用CAPTCHA圖像驗證機制,後來因驗證機制干擾了真正災民的求助才取消。最後,鄭伊廷建立檢舉制度,只要任一則文章超過三個人檢舉就自動下架,集眾人力量來解決無效資訊的問題。
災情支援網在9月1日零時關閉了需要人力處理的雙向留言服務,功成身退。但是,鄭伊廷表示,會繼續保留現有內容供民眾查詢。
回顧過去3周的網路救災經驗,鄭伊廷表示,透過單一窗口的災情回報方式,雖然可以提高正確性,但卻容易發生瓶頸。當訊息量暴增時,單一窗口很容易大排長龍,回報效率反而不彰。她寧可建立一個任何人都可以回報的災情平臺,讓大量網路鄉民的人力發揮效果,來加速互助通報的效率。在3周內,莫拉克颱風災情支援網記錄了4千多筆災情和支援記錄,統整了2千4百多名救災志工的人力,也讓數萬個網路鄉民可以發揮自己的力量。文⊙王宏仁
熱門新聞
2025-01-24
2025-01-26
2025-01-26
2025-01-24
2025-01-24
2025-01-24