Search
Close this search box.

Tonyq:無酬為北市府製作預算視覺化網站,只為推動「正確」的資訊

12017574_10207896397633530_2195992413826416728_o

《TO》導讀:還記得上週臉書上都是大家狂轉的「北市府預算視覺化」的訊息與連結,TO 也有親身試用分享了《柯 P 放大絕:北市預算圖表化,一眼看穿教育局年預算可換 2 萬坪帝寶!》。網站在各界引起了一股旋風,也讓大家開始思考更多拉近政策與民眾的可能方案。

面對這次爆炸性的成功,網站製作人 Tonyq 也在自己的臉書上即時分享流量,與他對於這次嘗試的若干心得。以下為 Tonyq 臉書上分享全文;已獲作者授權

註:小標為 TO 加上的。

來寫點今天的感想。

首先過程我一直小心翼翼的在想怎麼把 credit 留給中央總預算專案。讓付出者獲得他該有的榮譽是重要的

網站的右上角有清楚標示,置底有清楚的感謝。對於本日台北市府的首創,我們的解釋是由府方來做是首創。

這故事就是當年的那個 Y! Hackathon ,因為我當年也是參加者,我還很有印象。

專案 Credit 該給 clkao 跟過程所有參與貢獻的夥伴們,這次我也做了一些東西,應該也能貢獻些東西回 main stream 。等我整理完就來處理這段。

  • 社群沒人跳下來做我來做!Tonyq 決定跳坑自己動手做

當初想整合這個專案的是資訊局覺得要站在前人的肩膀上,我本來有點像是從看戲的不小心站得比較中間一點。說實在話我自己也很意外。

中間還是有些心路歷程的。

預算公告預算書時候還沒有 machine readable ,我在旁邊看社群有沒有要跳下來接手,因為我實在是太忙了。我手上有兩個顧問案,自己公司的開發案,還有我自己平常的演講事務。

但看了三天我決定自己來當沒有人,因為一來我覺得社群提出的困難不算是真正的障礙,只是比較高的門檻。那天我手癢去回了我覺得「其實 parse 應該也沒那麼困難」,但寫了這樣的話不動手做感覺就很嘲諷跟嘴砲,想想算了跳坑,順便好玩直播直接展示過程來展示裡面的細節。證明一下沒有太難。

當晚把資料轉機器可讀,驗算數據,發現只錯一筆,報 bug 待修正。先人工修正後把資料釋出到社群跟回饋到 upper stream 。

當時本來是以為作完要接回總預算專案會容易一點,應該就會有社群接手。但過了一天社群的回應沒有什麼反應。

根據我對社群的認識,就是我沒接手大概要等到下一個跳坑就很碰運氣了。所以社群也不是萬靈丹,有時候也是要看看狀況。

自己看過總預算專案之後才知道為什麼門檻會這麼高。

  • 從 2012 駭客松構想到今天的實現,中間有技術代溝也有一些意料之外的障礙

首先總預算專案畢竟是一個 hackathon 作品,他有很多人民參與的想像。所以需要伺服器跟複雜架構底下的編譯環境,不幸的是連這環境都相當複雜。更不用說交織前後端,我自認在前後端都有一定歷練,但讀懂結構跟架構也花了我一點時間。

而且還有當時版本帶來的影響,比方說他是 bootstrap 2 ,比方說他因為相容性問題限制 node 只能在 0.10。比方說裡面有 angular + d3 在不同 life cycle 底下的複雜競合關係,所以我的策略是順著石頭過河。

裡面在這次讓我最痛苦的是光 mouse over 一個 budget 就會發 ajax 像發不用錢一樣,在 concurrent 兩千人的時候根本就是對伺服器的摧殘,當然我相信當初應該沒想到會撐這麼大的量。(我也沒算到,說實話。)

另外在某個未知的情況會因為沒拿到 budget id 出 server exception 。

今天事實上是靠 deploy tool 不斷重啟撐住的。XDDD

當然,以 2012 年跟 hackathon project 的角度來看這無疑是程度相當強悍的作品,但放在 2015 已經開始有代溝了。

這些是社群自己參與過程的一些平常不會有人寫的脈絡,但大抵幸運的沒有太大障礙,只是也不是說了成功就能成功的美好想像。

  • 資料該如何呈現?泡泡圖、鳥瞰圖,我們儘量滿足大家的需求

另一個角度是資料概念面也有衝突,總預算案經歷多年演進已經有數年資料,呈現上大多以歷史呈現為主,連輸入資料都要求要兩個年份。

我們一開始在這裡卡關,因為我們當時沒有前一年份的資料。只用去年的金額差異不確定是不是語意上一致的。

後來認真進去看才發現他只是為了生 diff ,想想我乾脆兩個年份都塞同一年,就會剛好差異是 0,頂多頁面藏起差異跟歷年資料表的部份就好了。

所以清清清,砍砍砍,最後又經歷一些資料面的清理(像我們最後是有顯示差異的)。

特別值得一提的是我加入了北市敬老金這個單位,是希望大家瞭解發一次七億敬老金的預算對這個國家的財政說實在話已經不是加減做的問題了,而是嚴肅的資源分配跟排擠了。

然後做完泡泡圖之後跑去看鳥瞰圖,發現他資料是寫死在原始碼而且格式不同,花了點力氣看完轉換格式。轉檔,比預期快,大概只用了半小時就上線了。

後面大概陸續都有一些各種討論,然後我還發現 treemap 的算式會讓一些格子即使是點進去都看不到字 (bug),所以就還要修。還有最一開始版本億之類的估算是無條件捨去,就會變成 5.9 億畫面只剩顯示 5 億,所以我改成呈現兩位小數點後捨去。

然後一直有些人在批評泡泡圖不好懂,不過說實在話泡泡圖的用途,主要是多點與其金額關係迅速對照。

給那些能快速依照金額關係快速 review 抽樣的人用的,對於想一一條列的人其實就不適合,這就是為什麼有鳥瞰圖的存在。

我對覺得要一張圖打完所有需要的意見,其實完全徹底的不認同。雖然我自己後來也是乾脆的把鳥瞰圖設為預設,但泡泡圖還是有他能詮釋的空間。

另外因為有些人想看看人事費,所以我有幫忙把最基本的行政費科目標紅圈圈。

另外還有一個資料面很大的衝突,中央預算是沒有「異動說明」的。所以他們當初的介面當然不會留有能放文字的區塊,這點我倒是煞費苦心。

原本文字擠成一團,我把項目 (1., 2., 3., (1) (2) (3) ) 抽出來換行,先讓架構清楚。然後再針對關鍵字增列、減列 上色。最後是我看到一長串數字要算幾個零就頭痛 ,把所有 ooo, ooo, ooo 元出現的時候都後面括號加註 (約 ooo 億),這樣就不用自己算小數點了。

但說實在話我一直覺得擠在那個小小的框看,一方面很難做到手機版的友善閱讀,另一方面效能也不好,所以本來想改的,不過時間不夠作罷。

即使如此,看來看去這兩張表之後,我覺得有個缺憾就是沒有表格!

鳥瞰圖很顯然雖然清楚但能呈現的資訊太少。

後來靈機一動今天早上在鳥瞰圖的下方加入預算表格,讓鳥瞰圖同時變成表格的 filter 。這也算是我對中央總預算專案做出概念性的創新 (?)。

直到這時候,我覺得這個系統對我來說,真的能完全替代預算表。

  • 延續 3 年前計劃倡議者的理念,不為獲利這一切都是為了推動正確的資訊

早上記者會其實是北市府籌備的,我本來是想說做完先讓北市評估他們的用途,而他們選擇記者會發表,我從善如流的參加,跟選舉時的老朋友們都好久不見了。XDD

致詞時我仍提到,重點不是北市是第一個,而是藉由我們的實驗讓大家體會看看這是不是一件好事,我也希望各縣市能跟進。

我在此可以承諾只要有公開格式內容能對應的預算書 (無論是 excel 或 csv ,至少能用文字解讀的),我們都能為他在已經完成的視覺化基礎上完成縣市預算視覺化。

而且比照北市府是政府提供公開資料,民間無酬的提供技術跟平台資源的作法。

因為我相信,比起獲利,推動正確的資訊作為更為重要。

事實上成本也沒有想像中高,我估計以商業角度來看,我用了三天完成,應該一般商業專案我來報價,頂多十五萬就能處理好。

其實資訊系統在一種基於歷史專案,基於已有的基礎上,基於內部業務單位對資料的支持跟良好的資訊素養前提,是可以便宜、高效、高動能的運作的。

他不是也不應該是龐大的齒輪,一次要壓身家打造的偉大機器,而是迅速迭代的許多小型而精細的資訊系統。

這幾年來我做了很多對社會來講,算是爆紅程度不一的資訊系統,像是當年的「FB 廣告社團檢查器」,三個月四十萬不重複人次使用。去年的「跳針留言小幫手」(每日兩千五百人次使用)。塵爆的處理,今年風災的停水停電地圖,還有許多許多數不清的小專案小工具。

有些人總喜歡說人生你可能每個人能有個五分鐘上台的時間能一夕爆紅。對我來說這樣的時間已經夠多次了。有巧合也有運氣,多參與總是有機會碰到真正很有價值的專案的。只有要做不做,要做就好好做,不做就拉倒。

有些事情多少是機緣巧合,這些專案對於我來說都不是商業,我自己有我的本業專案,這些都是興趣,我也沒打算靠這賺錢。我只希望能藉由打造資訊工具影響人的生活往更好的方向發展。

現在的政府對我來說他的資訊化程度還在一個百廢待舉的階段,需要民間多多伸出手協助他們完成資訊素養的建立跟迭代,即使這是免費服務,府內也需要耗費一定行政成本處理資料問題,回應問題,而且因為免費這樣的合作關係更難以維持,需要更多理念上的共同點。

這些其實是我們花錢買不到的東西,當我們花錢買到的只是廠商沒有辦法貼近業務面(有時候也不是廠商的問題,是雙方頻率沒接上),輔以這種官開資料民間接手的玩法就很重要。

重要的資訊核心建設政府當然應該自建,但自建之餘保留外部參與空間並不衝突。這是資訊系統的奧妙之處。

寫這麼多,大概是對我自己交代為什麼我覺得這些事情是有意義的,為什麼我跳下去做實質的運作。

雖然有件事情是我今天真的覺得很辛酸的,這個網站三年前就有另一群人做好了,但當時的我們不瞭解他的價值,政府也不願意合作讓民間瞭解。

直到三年後我們藉由選舉跟倡議陸續推動價值的轉換,看起來好像我們又往前一步。

但對我來說,對的事情就是對的,多希望三年前我們就能對這件事情做出他該有的評價。而不用因為他是柯文哲或因為我們時至今日才終於認同他的價值。

我覺得是時候讓時代繼續轉動了。

這個專案真的是非常小的一個專案,估計今天九萬多人看過,不是很大的事情。最多時候伺服器有紀錄到 2300 人同時在站上。

但概念對我或部份倡議者而言,或許是意味深遠的。於是讓我們為最原始的倡議者與路上的節點們致敬,以及未來承繼我們努力繼續下去的未來某些不可預知的節點舉杯。

「謝謝。」