在工具應用選擇上,為什麼我相信這種哲學?

在工具應用選擇上,為什麼我相信這種哲學?

在工具應用選擇上,為什麼我相信這種哲學?

我們今天說的是 Unix哲學

Unix ……獨角獸還是日料?

也許很多小夥伴已經非常清楚 Unix 是什麼,不過這裡請允許我略提一下身邊關於Unix 名稱的有趣經歷。
我向一些朋友提起 Unix 時,有時會產生兩種耐人尋味的意見:

  • 誰不喜歡 「獨角獸」 呢,是吧?(unicorn,發音也接近 unix)
  • 「海膽」很貴,但很好吃~ (uni, 日料,書面上粗心看很像 unix)


事實上, Unix 是 「祖父級別」的 操作系統名稱, 遠在 我們目前主流的 macOS / Windows / Linux(包括安卓)系統之前就已經誕生。而且 Unix 深深的影響了我們當代系統的發展。比如說,

  • macOS,我們現在蘋果電腦上的 macOS, 本身就是基於Unix 的一個版本,蘋果因此經常驕傲的說,我們比微X的系統更安全穩固。
  • Linux
    , 其創始人 Linus 參照當時的 小型類Unix 系統 (Minix)搗鼓了一個 類似的系統,起名為Linus的 Minix, 即 Linux 。(對,人家起名就是這麼任性)
  • Windows 雖然沒有直接來自Unix,但是 Unix 發展的計算機語言(也是很多工科生的噩夢,例如 C語言)以及操作系統思想(管道,進程,信號)深深影響著 Windows (尤其是早期的)發展。微軟甚至還自己搞過一個純粹的 Unix 系統 Xenix,後來發現還是 Windows 來錢快,於是放棄了。
在工具應用選擇上,為什麼我相信這種哲學?

雖然 Unix 不是「獨角獸」,這點也許大家有些失望, 但 Unix 和獨角獸有個共同的潛在含義,那就是「獨一無二」(Unique),很多業內人士 稱 Unix 為 Unique System,凸顯 Unix 獨特的地位。而關於「海膽」,Unix 更有一些巧合,海膽不是人人愛吃的,我遇到的一些歐美人甚至覺得「噁心」(gross),但喜歡日料的食客卻讚不絕口。這點 和Unix的情況 也差不多,有人視之為珍品,有人卻覺得 Unix 繁瑣噁心,根本不值一提。
而這一切的「好惡」背後,我相信都和 Unix 的哲學有關,這個哲學本身也備受爭議,而且(很可能)並非是一個「普世正確」的理念,儘管如此,我覺得這個哲學還是深深影響了 一代甚至幾代人,至少在效率應用的選擇上,即使放到今天,這些理念仍舊很有啟發性。


哲學?聽起來就很無聊?

「哲學」雖然聽起來很深奧,但是換種提法:「方法論」,「原則」,「理念」,「畢業即失業」…… 可能就容易被理解些。

但請允許我還是使用「哲學」一詞,不是因為裝X,而是因為「Unix哲學」本身就是一個固定搭配了。按照這個搭配,大家如有興趣可以從海內外網站搜索到無數的內容和意見,推特上直到2個小時前,還有人在討論「Unix哲學」(Unix philosophy)。


Unix哲學,有很多種衍生版本,和我這裡話題有關的,簡單來說,我就取其3條:

(1)一個應用盡可能只關注一個目標

(2)儘可能讓多個應用互相協調/組合

(3)一切皆文件

在工具應用選擇上,為什麼我相信這種哲學?

現代操作系統源自 Unix

在介紹我所相信的Unix哲學之前,我想誠實的告訴大家,我是怎麼發現Unix哲學的,我並不是一個 「傳統Unix」用戶(很少有人是,macOS用戶也未必知道自己是 Unix用戶)。Unix這個名字,除了我在大學時聽說過,之後工作中幾乎再無交集。我一度以為,Unix 就像歷史書上一個不重要人物的名字(例如:Lyndon Johnson 林登·約翰遜,誰關心?),也許值得一提,但無人深究。甚至,我一點不喜歡老式Unix的非圖形化交互方式,我需要記住很多命令,很多參數,命令和命令的組合,命令和參數和命令的組合,命令和…… ,感覺像是一套神秘的儀式。


我瞭解到 Unix哲學, 並不是從 Unix 的角度,事實上,隨便這個哲學叫什麼名字,哪怕叫「獨角獸哲學」「海膽哲學」,我都不關心;我之所以感興趣恰恰是因為「哲學」兩個字。


Unix誕生和早期的發展時期,處於上個世紀60~80年代,聯想到當時「反越戰運動」「嬉皮士文化」「自由至上主義」「X解放」,因此「崇尚自由」的理念一直貫穿在 Unix哲學中,也就不足為奇。

在工具應用選擇上,為什麼我相信這種哲學?

那個時代的 UNIX

這時,我覺得我一直「折騰」很多事情,包括各式各樣的效率工具,有種「捨本逐末」的感覺。我們可能是想獲得某種程度的「自由」,但最終被各種工具所束縛。我們究竟是被自己的「哲學」所指引,還是被一些工具的「宣傳語」所吸引?或者僅僅為了跟上某種「流行」?


例如:我一度很迷戀GTD工具,然而如果不需要深度任務分解情況,或者沒有很強烈協作需求的情況下,很多時候手機自帶的的免費「提醒事項」,或者一頁「便籤紙」,就已經可以解決了。通俗來說,「買盒牛奶」這種事情,不值得我們為之匹配複雜的工具,複雜工具反而會限制我們的「自由」。


帶著這種想法,我們可以重新審視一下誕生在上個世紀的「Unix哲學」是如何啟發我們的。


理念1. 一個應用,一個目標

「一個應用盡可能只關注一個目標。」


我回憶一下自己及周圍人的經歷裡面,大量的悲劇發生在對「目標」把握的失衡上,「喜歡A,卻和B交往,最後嫁給C,出軌了D」這種例子,數不勝數。我最想一說的是,我個人的Todo工具,我很想給大家一個截圖,我一度手機上有不下10個Todo工具,基本上能報的上名字的,我都有。(大概因為成年人不做選擇題,成年人說我都要。)


出於工具研究是一方面原因(或藉口),糟糕的地方在於,我相當一段時間在一直混用這些工具,有時會把工作類事情記錄在OmniFocus上,它非常適合任務分解和回顧。有時會把任務記錄在奇妙清單上(後來變成了 Microsoft To-Do),因為足夠輕量快速,而且跨平臺。有時日程會記錄在 Fantasical上,有時則通過 Things 安排。一時興起的 臨時記錄會用到系統自帶的「備忘提醒」。這樣做下來,基本上我已經很難分清重要的任務在哪裡了,切換在不同工具下記錄任務的過程也非常痛苦,這都不是「自由」,這是「負擔」。如果我不逐個工具進行任務檢查,很可能會遺漏什麼。如此不便,我使用 To-Do 工具的目的又何在?


對於 To-Do工具的目標不明確,導致採用多個工具,產生效率降低,抵消甚至倒扣了工具帶來的好處。所以,現在我對 To-do工具的目標就很明確了:「非協作,跨平臺的提醒備忘」。當然這不是所有人的標準,這恰好只是我個人的目標:我有工作上成熟的協作工具不需要ToDo工具來處理,我有跨系統平臺提醒的實際需要,而且個人習慣上比起日曆我更在意提醒。明確了目標之後,我現在採用的是「Todoist」,這是我To-Do的唯一入口。(之前是「奇妙清單」,現在官方不再維護了。馬上要停服了)

在工具應用選擇上,為什麼我相信這種哲學?

這是我目前唯一的To-Do App

一個應用,如果是為了提升效率的,最好明確提升了什麼效率。否則也會陷入「大而全」的陷阱,最近有業界這個趨勢,不想點名,會牽涉到一大票「跨界」的效率應用。按照 Unix哲學來看,什麼都做的應用,就是什麼都做不好的應用。應用大廠和商家為了搶奪市場,甚至是下沉市場,鼓吹效率場景的「萬靈藥」是一回事,然而我如果想成為「專業人士」,自己還是要有清醒的意識,我是誰,我在哪裡,我為什麼採用這類效率工具,解決了什麼問題。我個人倒是建議大廠可以分拆出一些「子品牌」,最終還是要突出每個應用自己的「專注目標」所在。


理念2. 組合勝過單幹

「儘可能讓多個應用互相協調/組合。」


從上個理念我們知道,Unix哲學不相信「萬靈藥」一樣的應用。我們也許會發現,「應用程序」其實像很我們身邊的人,有各種能力特色,有優點和缺點。聰明的管理者把人組織起來,形成團隊達到更高的目標。而喜歡專心尋找「超人」的管理者,或者自以為是「超人」的老闆,一般都要嚥下現實的苦果。


Unix哲學是「面向現實」的哲學,首先承認應用都是有「弱點」的,所以才需要搭配,另一方面這也是「分工經濟」的體現。有弱點本身不是問題,如果我不會釣魚,但我會做麵包,我可以拿麵包換魚肉,做好麵包是我的本分。這種哲學相信我們生生不息的經濟活動「生態圈」,都是被這種「看不見的手」所主導的。

在工具應用選擇上,為什麼我相信這種哲學?

應用的生態圈 才是關鍵

往小的方向上想也是一樣,我們未必人人都會去管理一個團隊,但我們幾乎人人都在管理自己的 一個手機,一臺電腦,一個平板。我們面對形形色色的「效率應用」時,和組織一個團隊是同樣的境遇。


我很喜歡的桌面文章撰寫 應用是 Typora,同時我配合 iCloud 作為雲存儲,在手機上使用 iA Writer 查看或輕量編輯。


這三者在 桌面端,雲存儲,移動端上各有所長。我選擇這樣一個「3件套組合」,不是想說服大家也這麼做,每個人有自己實際需求,我完全可以選擇一個「超級應用」來滿足。

  • 一站式全平臺
  • 自帶雲存儲
  • 附帶 高級富文本編輯功能
  • 兼容 Office 文檔格式


而我沒有選擇這樣的「超級應用」,是出於一些「Unix哲學」所倡導理念的考慮:


(1)避免被單一應用「綁架」

一個「超級應用」的確是讓人省力的,不過「集中性風險」也是巨大的。

在工具應用選擇上,為什麼我相信這種哲學?

一條路走到黑的風險

一個既能 花式編輯,又能雲存儲,又是跨平臺,還有各種附加能力於一身的「超級應用」,會讓我眼界放窄產生依賴。


  • 按照「能躺著絕不站著」的原則,一旦習慣了「超級應用」帶來的便利,我幾乎不會去尋找替代品;
  • 即使去找,也很難找到第二個完全匹配的「全能力」替代品;
  • 再退一步,即使找到替代品,遷移歷史數據也很困難(有些應用開發方會人為製造這種困難);
  • 即使可以遷移數據,操作習慣也會發生變化,需要重新適應。
  • 我個人對於「超級應用」的任何不滿,都只能忍氣吞聲,因為我不想為了碼點字,而對整個方案進行「重構」。


比起整個「重構」,按「組件」逐步替代就是個很理想的漸進過程,風險小到可以忽略。比方說,萬一 iCloud 停擺了, 我們的 OneDrive 可以無縫頂上。前提是,某個應用沒有強制我們採取它自帶的雲存儲,或者這個應用至少允許我們也可以選擇同步到 iCloud 上。


我相信,上個世紀的 Unix 大佬,對於系統的「集中性風險」顯然有過認真的考慮,可能和「越戰創傷」有關,他們可能害怕集中且無所顧忌的 …… 我覺得不能說更多……


Markdown應用只是個便於說明的簡單例子,完全可以引申為知識收集整理「工作流」。我的原則是,沒有哪個應用可以成為「工作流」的絕對主導,每個應用必須和其它應用配合使用,而且有備胎可用。用人話來說,每個小夥伴都要學會團隊精神,不要單幹也沒有必要單幹,There is no I in team,也許從單位HR也能聽到類似的話,背後也可能是一個意思。


(2)1+1>2

之所以1+1>2 是因為「協同效應」,形象來說,Jane 和Jack 兩人分工,一個裝箱,一個搬運,好過兩個人都去又裝箱又搬運。


現代工廠的「流水線」機制就是出於這樣的考慮,我們講的各種信息化「工作流」,很大程度上就是把工作分解到 不同角色/不同階段/不同應用,並且使信息在其中高效流轉的過程。

在工具應用選擇上,為什麼我相信這種哲學?

組裝「流水線」,發揮每個步驟疊加的高效

工具應用也是一樣,Unix下無數讓人「頭皮發麻」的命令/工具,就是想貫徹這個精神,如果仔細去看,我們會發現命令和命令,應用和應用的組合花樣之多,讓人乍舌,估計這種「組合」可以搞定發生在Unix裡面的任何事。雖然我覺得我們一般人,尤其不是系統工程師的話,沒有必要了解如此細緻的「分工組合」,但是哪怕稍微有一點「組合」的概念,也能讓我們獲益良多,我就問:

  • 比某些「超級應用」附加的 Markdown 書寫體驗,Typora 它不香嗎?
  • 比某個封閉App自帶的海外雲存儲,iCloud 的國內雲同步不是更讓我們放心嗎?(呃,數據在貴州吧?)
  • 比某個只能看看不能編輯 Markdown的「超級應用」,iA Writer的移動端體驗,不是強10倍嗎?
  • 這些效用加起來,難道不是 1+1>2嗎?可能都大於4,5,6了。


還是那句話,這個工具組合並非「放之四海」的標準,Markdown應用也只是便於說明的例子,每個人都可以自由選擇自己喜歡的應用,任意替代我上面的工具,我只是表達「組合」的理念。還有非常重要的是,「超級應用」並不針對誰,萬一感覺是針對誰,請自己消化,不要聲張。


理念3. 一切皆文件

「Everything is a file」


Unix 的這個理念,本身也有爭議,僅供大家參考啟發。


在工具應用選擇上,為什麼我相信這種哲學?

一切皆文件

Unix 認為「文件」是一種信息輸入輸出的高度抽象,我們可以把一個文檔,一個程序,甚至一條內存,一個顯示器 都看成同一類東西。當然我們也可以稱之為「資源」。但Unix下,「文件」就是你我能看到的「.txt」「.docx」之類的東西,確切的說,有「文件名」可以按文件常規方式操作的「資源」。實際當中,我們每個大活人,在某些體系下也只是一個或幾個「文件」(例如:帶員工編號的人事檔案),當然我不認為這是「Unix哲學」的體現。


現在,我們生活在互聯網時代,生活在手機應用充斥的今天,我們很容易認為,「文件」這個概念太古老了,甚至過時了。我們生活中的遇到的信息,沒有什麼「統一」的文件概念,我們一般稱之為:

  • 一個網頁
  • 一個雲文檔
  • 一封郵件
  • 一個在線問卷
  • 一張相冊照片
  • 一個聊天

……


「文件」?我可能一秒鐘也沒有考慮過,也可能有些小夥伴很久都不需要接觸「文件」。iOS 直到近幾年才加入了「文件」這個應用,之前則盡力淡化「文件」這個概念。但蘋果公司顯然也發現,沒有「文件」的概念,如何談生產力工具?iPad要避免淪為「買後愛奇藝」的設備,怎能不提「文件處理」?為什麼我要強調「文件」如此重要,是因為:


方便實現「組合勝過單幹」的理念

很多工具都提供各式各樣的接口,每個接口都需要對接設計。


而文件,尤其是開放標準格式文件可以省去很多麻煩,例如:文本文件(Unix哲學中另有一條,信息交換傾向於純文本),就是天然的統一接口。信息處理雙方不需要從0開始定義如何交換信息,而我們可以把精力放在「內容」上,而不是如何轉換格式,或者制定接口協議上。


就像如果指定大家都說一種語言,那麼我們就可以把精力放在討論事情上了,省去了翻譯語言或斟酌用詞的麻煩。


這樣做也有缺點,文件不是在所有場景最高效的手段,不過我們日常工作中,甚至不少可以自動化操作的工作流當中,文件是足以勝任的。


例如:一份 Excel 銷售表 → 執行一小段腳本,提取數字 → 數字添加到週報Word文件中 → 自動複製粘貼,或者自動按郵件附件發給老闆。


我們看到,Excel/Word/Outlook/腳本應用 就這樣被「文件」組合起來了。


降低我們面對信息的操作成本

「文件操作」是信息處理的基本操作。我們知道的不少其它的信息操作都是文件操作一種「模擬」。


例如:

  • 網頁系統裡面「添加」一個案件,「刪除」一個案件。
  • 「選中」一些聯繫人,「拖入」黑名單 (文件夾)
  • 「打開」編輯一個在線表格,並「打印」出來
  • 在日曆應用中,「新建」一個會議,並「設置」日期屬性

……


在工具應用選擇上,為什麼我相信這種哲學?

各種系統都在「模擬」文件操作

如果某個工作流,我們以實用為導向,不需要過多考慮面向所有人的「界面體驗」,那麼不如直接基於「文件」進行處理吧。這樣一來,就可以省下很多操作上成本。前面說的,iOS開始重視「文件」作為生產力的一個重要部分,某種程度上,是因為我們實際工作的「生產力」應用和「消費」級應用截然不同,「文件操作」就是事實上比較省力的而且教育成本也很低的信息處理手段。


滿足 備份/歸檔積累的需求

如果我們逐漸開始接受「一切皆文件」,那麼也可能意識到「文件」也是信息處理的「統一」終點。


我自己這裡所有重要信息,如果需要歸檔或備份,一定是轉存為「電子文件」形式,而且一定保留至少2份本地的文件拷貝。


前幾年「XX快盤」「XX雲盤」由於突然停服,導致不少人(包括我)需要資料時,卻不得不在最後停服前和大家一起擠兌,並忍受慢速提取。


這些經歷提醒我,沒有必要把 歸檔/備份 放在外面,因為只要事前稍作安排,就能自己掌握主動,前提是,信息都採用「文件」的形式。


通過轉存到「文件」,我們可以備份幾乎任何東西 :

  • 作為證據的聊天記錄
  • 重要的客戶郵件
  • 一個有參考價值的網頁
  • 一些珍貴的照片
  • 甚至紙質合同

……


而且主流的文件存儲方式,其相對成本(每字節單價)很低,而且存儲方式選擇也很多,從一塊移動硬盤,到一個磁盤陣列,豐儉隨意。

在工具應用選擇上,為什麼我相信這種哲學?

自己備份,有備無患


所以,我現在的習慣是,有以下特點的應用我堅決不碰,因為裡面的信息無法被有效歸檔和備份:

  • 完全不能將數據「導出」為文件的應用
  • 可以「導出」,但不能將數據「導出」為「公開格式」的文件應用

最後, 尋找心中的「獨角獸」

說到這裡,對於「Unix哲學」無論大家是認同也好,還是根本沒興趣,都已經不重要了。正如開頭所說,有人認為「海膽」是絕讚美食,也有人認為相當噁心,這並不重要。況且,我也一直不認為存在一種「普世方法論」能夠放之四海皆準。


重要的是,Unix 業界的各位先驅們,雖然他們並非神明,但他們懷有一些 ,或許「古老陳舊」,或許「理想主義」,或許「崇尚自由」的理念,他們至少找到了心中的「獨角獸」,並且把它以一種讓人「頭皮發麻」的方式呈現了出來,從此啟發了後面幾代人。這一點我個人非常欣賞,可以說,在我眼裡,Unix 是一個「有靈魂」的系統。


即使如此,即使我寫下此文,我仍舊不喜歡使用傳統Unix,以後應該也不會去使用。但是,我很欣喜的發現,如果從「Unix哲學」這個角度來看待各類工具應用,的確能幫助我找到很多疑惑的解答,甚至我們可以將「Unix哲學」放之更廣,考慮一下 工作業務,團隊管理上的應用,也許有會有新的發現。這可能才是「Unix哲學」的「獨特」魅力吧。

在工具應用選擇上,為什麼我相信這種哲學?

找到自己心中的「獨角獸」


如果本文能讓這種神奇的哲學啟發到大家,從而發現自己心中的「獨角獸」,那就最好了!


分享到:


相關文章: