機器戰警 2014

悲劇。大悲劇。

可悲的不是人如何變成殺人機器,可悲的不是如何變成妻子與兒女眼中的怪物,不是身體與心靈的異化,不是如何失去自由,不是如何失去對於自己的主控權。可悲的是,這是一部講述產品如何上線的悲劇。

故事是這樣的—在一個貪腐橫行的國家中,惡德商人為了牟取暴利,企圖迴避法規,讓政府用納稅人繳納的稅金購買該公司的電子系統產品,取代原本政府雇員的工作(這邊說的當然是警察,不然還能是什麼?),於是一邊以「方便」、「效率」等口號操縱媒體製造輿論,一邊嘗試用政治力改變法規,另一方面提出完全惡搞的產品企劃—機器戰警(當然是機器戰警了,不然還能是什麼?)。

工程人員面對行銷壓力與不合理的產品時程,只能不斷使用 workaround,明知產品還不穩定,硬是要讓產品上線,但惡德商人在產品上線時完全不關心系統是否穩定,是否通過完整測試,是否還有任何的系統內部問題,只關心外型是白色還是黑色。最後,系統崩潰了,完全不受控制,惡德商人卻只想著如何斷尾求生、掩埋證據,並且實施惡性裁員。

話說我們其實更關心的,其實是電影裡頭沒有說到的部分:被機器取代的警察會受到怎樣的資遣待遇呢?一人一盒蒟篛?機器戰警每次在打倒罪犯的時候,會不會對人民重複扣款呢?

還有什麼可以比這種產品上線的悲劇更悲劇的呢?大概就只有,大過年的幹嘛來看這種情節寫實到完全沒辦法讓人開心起來的電影,還有,這一代機器戰警的配槍,居然不是經典的貝瑞塔 M93R。

你為什麼不該在你的 iOS 軟體專案中使用 Storyboard

Storyboard 是蘋果從 iOS 5 起在 Xcode 開發工具中增加的新功能。

一直以來,無論是 Mac OS X 或是 iOS,都可以將應用程式所需要的介面呈現放在 nib 或是 xib 檔案中。我們可以用介面設計工具 Interface Builder(Xcode 4 整合到 Xcode 中),使用視覺化方式編輯 nib 或 xib 檔案,在程式執行時讓 runtime 將檔案中的 UI 定義轉換成對應的 Objective-C 物件。

因為之前有人問我為什麼有些 UIView subclass 在建立時會呼叫 initWithCoder:,而不是 initWithFrame:,其實並不難懂,這邊簡單解釋一下:nib 檔案是將 Objective-C 物件 serialize 成 binary data 的格式,所以用 nib 建立 UI,其實可以想成就是把 serialize 過的 data 再轉回物件;Objective-C 中負責處理物件/serialized data 相互轉換的物件叫做 NSCoder,所以你定義在 nib 裡頭的 view 在被建立時,呼叫到的就是 initWithCoder: 了,這套物件與資料轉換的機制,同時也是 Mac OS X 與 iOS 上實作 copy/paste 的基礎。而 xib 檔則是用 XML 格式表示 nib 檔的內容,在現在的開發流程中,平時我們會編輯 xib 檔案,但 xib 檔案會在 compile time 時被編譯成 nib 檔。

Storyboard 是這種視覺化開發方式的進一步發展。

在 iOS 5 之前,如果應用程式中有許多畫面,負責每個畫面的是各自的 view controller,在每個 view controller 中除了可以用程式碼撰寫建立 UI 物件外(實作 loadView: 這個 method),另一種方式則是讓每個 view controller 有各自對應的 nib 或 xib 檔案;Storyboard 則是將應用程式中原本有多個 nib 或 xib 檔案,合併成一個巨大的 XML,不但可以一次看到所有的畫面設計,也可以看到每個畫面之間透過線條串連起來的關係。或許可以這麼說:Storyboard 除了是一套畫面的設計工具外,也是一套說明在時間中畫面如何變化的敘述工具。

不過,在你的軟體開發專案中,建議不要使用 Storyboard。

Continue reading

麥克魯漢

若干年之後回來看麥克魯漢的書,可以非常確定小時候一點都沒有讀懂,而能不能夠有所體會一些,則是要先打破一些成見。

我在這邊先替換一些用語—麥克魯漢認為所謂的媒體或是媒介,是人的延伸,人的各種感官的延伸,但麥氏所稱的人的延伸,其實比較接近中文裡「器物」或「工具」的意思;於是,我讀到的意思是,貫穿在《認識媒體》或《媒體即訊息》這些書的核心觀念是—人並不是工具的主宰,相反地,被工具所主宰。

人為了各種需求而創造各種工具,人以為可以透過工具理解進而控制世界,但人事實上卻被自己所創造的工具所控制—不同的工具延伸不同的感官,當某種感官的延伸特別突出,就會造就不同心理、不同性格、不同世界觀的人,而不同性格的人就會組成不同的社會。我們以為工具是中立的,只端看人怎麼使用,但工具的存在本身,就會影響人。

「媒體即訊息」(Media is message)或什麼「媒體即按摩(Media is massage)」,就在於一種媒體、或一種工具,就是一種感官刺激,而刺激了那種感官所帶來的效果,麥氏認為會比媒體上承載什麼內容,影響更大—不管你在報紙上面看到的是好新聞還是壞新聞,在這個當下,你的心理就已經是用「報紙」的角度來看所謂的好壞—至於媒體/工具/器物刺激感官的方式,就是所謂「冷媒體」與「熱媒體」之說。

(岔題。話說之前想到一個低級笑話:為什麼 Media is massage 呢?因為—裡頭都有 Happy Ending…。)

Continue reading