1. 我們爲什麼需要「信息管理工具」?¶
2. 我們不需要什麼樣的「信息管理工具」?¶
3. 我們想要什麼樣的「信息管理工具」?¶
4. 如何設計這樣的「信息管理工具」?¶
5. 具體有哪些需求?¶
6. 現有工具的痛點在哪?¶
7. 目前這種現狀下的近似解決辦法¶
8. 也許她是這個樣子¶
後記
生活中總有各種各樣的事情,讓我深感信息管理的混亂。就是那種「我知道它就在這堆裏面,但就是找不到」的沮喪。
1. 我們爲什麼需要「信息管理工具」?¶
管理「我的」信息。
我們所要管理的並非是外部信息(那些是搜索引擎做的事),而是管理「我的」信息。
哪些是「我的」信息呢?我訪問過的網頁、我花出去的錢、我到過的地方、我家小朋友何時拉的粑粑💩…… 我們需要這樣一種「黑魔法」:只要是我碰過的東西,都會沾上印記。
我們幹嘛需要這種東西?如果你是我這樣健忘且粗枝大葉的人,也許你有過這種時刻,腦子裏突然蹦出一個念頭:咦,我一個月話費到底是多少?
如果這時候,「你的人[1]」馬上奉上一張紙,打印着你 2012 年以來的話費記錄:
話費曲線雖然忍不住對移動一頓 @#¥% ,但內心操控感會不會噌噌地往上漲呢?
如果你家小朋友好幾天沒拉粑粑💩了,你嘟囔一句「幾天沒拉了啊?」。這時候,「你的人」馬上遞給一張圖,「大大,這是小的統計」。那是一種什麼感受!
小朋友的拉粑粑💩分佈可就是這類「自己費勁去做也能做,但太麻煩了不想做」的事,把我們的生活質量拉低了一個檔次。好吧,明說就是「要是有人伺候着就好了」。說得好聽點,叫做「增強對生活的把控」。
不光如此,「你的」數據還能告訴你真實的自己。你以爲一年看 50 本書已經耗費心力了吧,「你的人」告訴你,看書只佔用了不到全年 9% 的時間,你每次拿起書本平均 xx[2] 分鐘就會放下……
這是自己手工記的。其實不用每本都計,每個類型計上一兩次,拿到「基礎比率」就行了。據說 Kindle 能自動記錄,沒試過😋你以爲的並非都是你以爲的。即便這樣,我們仍然想要這樣的服務。
我不曾想到,從 09 年到現在,看電影花去了我 2422 個小時的時間🤭幸運的是,我們身處的時代已經爲我們準備好了這樣的條件。
希望我已經說服你了——我們想要這種對過去的掌控感,我們想要重來一次,在未來。
2. 我們不需要什麼樣的「信息管理工具」?¶
記得機器貓裏有這麼個故事:大雄想做一部動畫長篇,機器貓就給了他一臺動畫製作機…… 故事的最後,播放參與名單的時候,所有的事務都寫的動畫製作機,除了一個「按鈕人——機器貓」。於是大夥就追問大雄幹了啥!
我們總說想要一個「好用的」信息管理工具。但到底我們想要的是什麼?這是一個值得深思的問題。顯然,我們並不想要一個「動畫製作機」——包辦一切,「體貼」地連我們的存在價值都抹去了。
3. 我們想要什麼樣的「信息管理工具」?¶
- 高階夢想:我只管提問,你🤖,負責回答;
- 低階目標:我能夠很方便地(在 1 秒以內)獲得信息來支撐 / 推進我的想法;
當然,我們期望的是一個「助理」——「你你你,去幫我找個什麼什麼資料」——那感覺不能再爽。
但就目前的技術手段而言,「智能助理」仍是那些大廠們都還在探索的事情。語音識別、自然語言理解…… 這些似乎已經成熟的技術,其實離我們還很遠。
然而,如果我們把努力的重心放在方便地檢索信息上,將會收穫一個不錯的結果。
這個時代,如果你會編程,至少在「找資料」這件事上可以享受過去貴族般的享受。也許你會說,只要會 Google 一樣能做到,那麼我想強調的是很多「定製的需求」。
4. 如何設計這樣的「信息管理工具」?(需遵循哪些原則?)¶
一個好的信息管理系統,至少應該滿足這麼三條:
- 一切皆可追蹤;
- 能以你能想到的、盡可能小的粒度記錄;
- 支持二次開發 / 可擴展;
4.1. 信息管理,最怕就是沒信息可管理
爲什麼需要「追蹤一切」?舉一例:當你看到一篇很有用的文章,把它加入蒐藏列表。之後你時不時會點開看一下。直到有天你突然發現,應該把這些點擊都記錄下來,這樣你就能查看你各個時段的關注啦、需求啦、網頁的價值啦…… 記錄一切就是爲了以後不後悔。信息管理的基礎是數據,沒有數據何談管理。當時看不到價值的數據,以後想到用處了卻沒留下記錄,豈不是人生杯具?!
「一切皆可追蹤」要求底層有一個統一的數據結構。最好是做到任何細小的操作都有記錄。這方面做得最好的要算 GitHub 了。不管是提交修改,還是建立 Issue ,都有唯一標識,都可以評論、備註。最方便的是,因爲有唯一標識,所以任意一步操作都可以引用。
4.2. 今天記得有多細,日後用得有多爽
而這一步有多大,也就是「記錄的粒度」有多細,直接決定了我們洞察數據結構的精細程度。比如:我們年終的時候發現「MD,又重了,就怪平時喝可樂🥤多了😒」。於是突發奇想,想看看「今年到底喝了多少可樂🥤」。「想也不難,我每一筆開銷都入賬了的」。但一翻賬本傻眼了,只記了喝飲料,但沒記到底喝的是可樂🥤,還是咖啡☕️。由此可見「記錄粒度」對我們聚合數據的影響。
在粒度上做到極致典範的一款軟件,當數 Vim 。讓我們「要素粒度」的角度來審視 Vim 的設計:
Vim Sheet就操作的「粒度」而言,Vim 不管是對「操作」的粒度,還是對「操作對象」的粒度,都提供非常精細的操作手段。
就拿「移動」爲例。如果「移動」的是「字符」呢,左移
h
,右移l
;如果「移動」的是「詞」呢,那就多了,移到當前詞頭b
,當前詞尾e
,後一詞詞頭w
,前一詞詞尾ge
;如果「移動」的是「句子」呢,行首0
行尾$
,連行首的非空白首字符都有特定操作^
……比如「查找」。行內查找可以用
f<char>
。大範圍搜索可以用/<string>
。再比如「選取」。除了可以選取分隔符標識的內容,還可以選取文本塊(如:當前字、詞、句、段落)。
當然,如果事事都記得如此之細,記錄成本又上去了。怎樣平衡「記錄成本」v.s.「記錄粒度」?這又是一個大坑。原則上,我們應該盡力提高信息輸入的效率。比如:如果我能對着超市小票拍張照,app 就自動讀取所有的條目,那就既降低了「記錄成本」,又提升了「記錄粒度」,但代價是「開發一款識別率很高的掃描 app 」。可我們不能只是坐等技術進步的福利,在技術條件沒有達到的情況下,我們如何去平衡這些要素呢?後面會有提到。目前階段,我們最好的做法是,先拍個照、存個檔,以後有時間呢再人工輸入細節,總之得留底。
4.3. 擴展!擴展!擴展!我要無限的擴展可能
「支持二次開發」就是要求開放接口。開發者肯定不可能滿足用戶所有的需求,因爲這些需求在開發時都未必存在。
記不起誰[3]說過「編程,其實質是一種信息管理手段」:
Programming at its core is about managing information.
... the primary objective of programming is taking information in one form and converting it into a more useful form.
好的工具應該都是「語言」級別的——提供一組詞彙 / 概念,外加一組規則供用戶隨意組合。對了,又要提到 Vim :
%
原本用於一組「開閉括號」間跳轉,後面可以通過插件matchit
擴展爲可在一組「匹配關鍵字(e.g.if
/end
)」間跳轉。正是這種概念的自然延伸讓 Vim 長成了一顆參天大樹。
信息管理工具的現狀是:我負責記錄 / 錄入,交給你🤖去整理。我們以後希望以後慢慢把「信息輸入」這塊也交給機器🤖去做。我們希望一個碗、一雙筷、一個杯子、一雙跑鞋…… 甚至是一個坐便器[4],都能變成數據源。當然,這不在本文討論範圍內啦。
5. 具體有哪些需求?¶
- Task Management;
- Data collection;
- Knowledge extraction;
5.1. 任務管理 精力管理
任務管理的本質是「精力管理」。
我花了不少時間學習任務管理,還買了一些課程。最後給我的感覺是——臣妾做不到啊!!!我現在也用任務管理,但我只記錄 Done List 。也就是只有我真真正正做完一件事了,我才會把它記下來。如果想到 / 被吩咐要做個什麼事情,我會隨手一記。這還算任務管理嗎?!對我來說,如果一件事被漏掉了,那說明它也不那麼重要。
我對「未來的任務管理工具」的期望是:感知我所處的環境,推送給我當下最適合的任務。比如:在我累得像條狗🐶的時候,給我推送些#brain dead#
[5](不用腦子🧠)的事情。所以,考慮到自己的精力水平 & 技術水平,我只做 Done List 。
這看似和上面對信息管理系統的第一條(事無鉅細地完整記錄下來)要求相悖,但要注意——那是對機器🤖的要求,不是對人的要求。我們就是要這麼區別對待!
然而,如果你想要一個完整的「任務管理」,可以借鑑「複式記賬法」的思路,在「To Do」&「Done」兩個帳戶之間搗。這樣還順手做了「成就記錄」。「現金流表」就是「成績賬本」。而且可以根據「任務量 / 完成時長」計算「成就金額」⋯⋯
5.2. 信息蒐集
5.2.1. 別人家信息的蒐集
這是現有工具做得比較好的一塊,大致分爲兩類:
- 粗粒度信息(e.g. 網頁)的管理;
- 細粒度信息(e.g. 片段 / 文摘)的管理;
網頁蒐藏就不多說了,只是提醒一點:如果自架系統的話,最好把「所有的」對外鏈接做一個跳轉。這樣就可以留存「從內部訪問外部的記錄」了。
片段 / 文摘的管理,做得比較好的要算 Instapaper 。它會把你蒐藏的文章抓下來,然後你可以做高亮標記。我實在太喜歡這個功能了。雖然我幾乎沒有回頭看過自己標註的東西,但那種在電子設備上塗塗畫畫的感覺簡直帥呆了。可惜,去年快年底的時候 404 了。於是我搭了一個自己的「書籤蒐藏」,只是一直沒把「高亮標記」這個功能做出來。
5.2.2. 自家信息的蒐集
這是繁雜且現有工具做得不到的一塊。自家信息大致分爲兩類:
- 流式信息:e.g. 流水賬 / 日誌;
- 融入了個人智慧的知識:e.g. 總結;
流式信息不多說了,說說怎麼培植自己的智慧樹。這塊的難點在於「如何構築體系?」。常用的手段是建 wiki 。
Wiki 到底是什麼意思?我舉一例。網路協議下到底層,講的是物理結點怎麼互聯互通。每個物理結點都會向路由發(數據)包,路由拆包一看,是寄給誰誰誰的。這下犯難了:我哪知道那誰誰誰是誰誰誰🤬 這裏有一個天才到想法💡:你要我轉發包,首先得自報家門,吿我你誰誰誰。而路由手裏有本小本本——誰誰誰原來是誰誰誰。時間一久,誰誰誰是誰誰誰就全搞清楚了。這叫做「反向學習算法」。
又是一個杯具為什麼說這是個天才的想法?它解決了碎片如何構建出大廈的難題。每次往來的時候,留個心眼,下次沒準用得著。
Wiki 就是基於這樣的原理(我的理解):我未必一開始手裏就有那個小本本,但時間一長,小本本就自然到我手裏了。
回到嚴肅的 wiki 用法討論上,有這麼幾種變型:
- Check List(核查清單):對工作的快速、常規檢查。來源於《清單革命》,書中的例子是護士對患者用藥的檢查流程清單。注意⚠️,它並不只是一個做特定事情的臨時清單,而是對流程的梳理、總結;
- Q & A(應答庫):對例外的梳理;
- Issues(錯誤庫):對失敗 / 失誤的梳理;
前兩種是「正向學習」,第三種是「反向學習」。「正向學習」補全領域內框架,「反向學習」校正輸出。這幾種整理的共同特點是:通過蒐集碎片,最後獲得一個比較全面的知識框架。
那麼,這些碎片到底應該如何加入 wiki 呢?你需要找到該領域內一個足夠小的項目,在完成這個項目的過程中,收穫的種種知識足以搭建起這個領域內的一個微縮模型。之後,只要再在這個模型基礎上添加,微縮模型就能自然長大。比如:學習英語語法,找到「動詞」這個核心,根據動詞的五種不同用法延伸出五大基本句式,再⋯⋯ 又比如:Photoshop 的核心是「選擇」,各式看似不同的工具🔧都是為了精準地選擇出你所希望處理的元素⋯⋯ 再比如:Flash 的核心是「關鍵幀」,也就是確定精靈的兩個狀態,計算機自動算出中間過程⋯⋯
一個足夠小而清晰的模型,是快速學習的關鍵,也是知識管理的核心。
本質上,wiki 是一本「百科全書」。也就是說,它的核心是一組「定義」。而很多事物的定義是高維的。就像一根法棍🥖,上帝把它切成一片一片的切片🍞,然後不同的人找到不同的切片,説「這一片就是麵包」。一開始,大家也都覺得這也對,那也對。到後來,人們發現,所謂的麵包,不過是法棍的一部分,需要把所有的切片都拼起來才是完整的法棍。
舉一個「一課教育」中的例子:
Edouard Herriot 説「把學校學到的知識通通忘掉,剩下的那才是教育」;Rachel Schutt 説「學校所學的東西,爲我思考問題提供了一個框架」;John Dewey 説「教育,不是爲生活而做的準備,而就是生活本身」⋯⋯
當我們把這些定義綜合起來看,John Dewey 是從「過程的角度」來定義的教育——不是某一個環節,而是貫穿了整個人生;Edouard Herriot 是從「一頭一尾」來定義的——他把教育當作一個「加工廠」,對比原材料和成品,觀察投入 & 產出;Rachel Schutt 則是從「內在結構的角度」來定義的——教育能幫我們打造一副腳手架,有了這副框架,我們過去的體驗、積累的經驗、迸發的智慧才能依附上去。
所以,形式不重要,關鍵是模型。
5.3. 信息提取
這是現有工具做得比較淺的一塊。但主要原因是,我們對自身瞭解很少。人工智能界有句笑話:有多少人工,就有多少智能。就像 Linus 的那些評論一樣——話糙理不糙。目前,本質上說,人工智能所表現的智能大多是人的智能。以搜索爲例,大家都知道 Google 的網頁相關性排序算法 PageRank ,但其背後是彙集了每一個網站建立者對網頁價值的判斷,歸根結底還是人的判斷。但這有什麼好遮遮掩掩的呢!利用好人的算力,不就開創了 Google 這樣的事業了嗎!
5.3.1. 境界一:找得到
找得到是最起碼的要求。但很多 app 就是黑洞,數據根本導不出來。後面還會專門提到。
5.3.2. 境界二:聚合方便
很多 app 提供了一些可視化的圖表工具,但都是程序內置的,並不能做到想 Excel 的數據透視那樣強大。我們並不需要做得這麼強大,但提供一些自定義組合的機制並不難做。
不要小看了「方便一點」。且不說有時候不那麼方便就直接導致最後不了了之了,就說想法週轉率也能有極大地提高。
5.3.3. 境界三:知識生成
(根據日誌自動聚合)
5.3.4. 境界四:信息聯想
很多 app 都號稱能做「信息聯想」,比如:Evernote, DEVONthink[6],但貌似都沒有太好的解決方案。
5.3.5. 境界五:自動化
只有在能做到信息提取的基礎上,才能談自動化。
6. 現有工具的痛點在哪?¶
簡單地說,有這麼 4 個環節:
- 錄入:龜速的輸入;
- 鏈接:散落一地的數據;
- 聚合:;
- 感知:;
6.1. 鼠標🖱️點點點
只要細看老人學用鼠標🖱️,就會很自然地產生這樣的反思:鼠標🖱️這種東西真心反人類!完全不能想像,鼠標🖱️怎麼就從其前身——光筆(很像現在的觸摸筆)演化成了現在的模樣😱 當你操作鼠標🖱️時,手感覺的平面 & 眼睛感覺的平面完完全全是兩個不同的空間,而你的大腦🧠不得不做一層映射。
現在的絕大多數系統(尤其是辦公系統)都是基於這麼反人類的工具設計的,極大地拖慢了信息輸入的效率。既然如此,我們何不跳過龜速的鼠標🖱️點點點,直接利用鍵盤⌨️輸入呢?!原因很簡單,現有系統不支持。比如:填寫表單時,很多系統都不支持tab
鍵跳轉,enter
提交表單也就別想了。再比如:很多系統非得鼠標🖱️點擊才能刷新數據。就再別提「根據內容動態調整輸入界面」了⋯⋯ 我去嘞~~這都什麼年代了,能不能小更新一把!
為什麼不能學學人 EpiData 🤯 上古時代就創造了如此高效的輸入體驗!
- 通過腳本訂製錄入界面;
- 完全鍵盤⌨️輸入;
- 輸入動態提示;
- 快速創建輸入模版;
足矣!
其實,觸屏手機📱才是輸入的利器。看 Weight Diary 的輸入界面,好看不說,還方便:
撥動最上一排的日期📅,選中日期,點加號錄入體重 轉盤輸入,而且初始值是上次輸入的值。也就是說,輕輕一撥,就能完成 日曆📅上標註趨勢好的錄入就應該做到這樣:
- 直達:不需要在路徑上耗費多餘的點擊;
- 按輸入流程順序安排數據域,一氣呵成,不會跳來跳去;
- 帶記憶:只需在上次類似環境中做一點微調即可完成輸入;
但其實,輸入的最理想狀態是「不輸入」,準確地說是「無需手工輸入,由機器自動採集」。但在技術條件尚不具備的時候,我們應以何種格式輸入呢?一種選擇是「自然語言」,另一種是「某種規定格式的類程序語言」。
· | 自然語言 | 類程序語言 |
---|---|---|
優點 | 無需學習 | 方便機器處理 |
缺點 | 機器難於處理 | 可能不夠靈活 |
而我找的折中方案是「在自然語言中混雜標記」。這套方法的關鍵是「自己訂立一套規範 / 約定」。這樣,既方便了程序提取,也不失自然語言的優勢。
當我們(或許是別無選擇地)選擇了手動輸入,就會面臨一個不得不面對的問題:如何平衡輸入 v.s. 分析?如果我們沒有一套自我激勵的機制,常常很難堅持下去(比如:記賬);而當我們記錄了大量的數據,又常常會(因為數據挖掘手段的粗陋而)迷失在數據森林當中,難以獲得有價值的信息。
這就引導我們去思考「我們記錄、分析數據的本心是什麼?」。我想,我們之所以去記錄、去分析數據,是因為我們對很多事物缺乏一個基本的數值判斷。比如「我看書的速度有多快」,沒必要(因為成本太高)精準記錄每一本書的讀書進度(當然,能做到更好,比如在 Kindle 上讀書,但不適合喜歡紙質書的童鞋),我們只需要知道每一類書的快慢就行了。漫畫平均 1 分鐘翻 5 頁;暢銷書稍慢一點,3 分鐘 / 1 頁;學術專著更慢,10分鐘 / 1 頁⋯⋯
我們並不需要時時刻刻都在記錄,只需要一物一格就好了。
6.2. 拿回自己的數據
現在大廠都尖得很,握着數據不肯放出來。所以,哪怕是自己的數據,如果沒付費,都不好弄回來。我甚至想過,通過截屏讀取自己的 mobike 出行信息。可爲什麼要打通數據?試想一下,當想出去旅遊了,你的「助理」馬上去翻你在 Zaker 裏面收藏「一生必去的 10 個地方」之類的文章,然後把這些地點提取出來,到知乎上去搜「某某景點值得去嗎?」這類回答⋯⋯ 當我們一無所知的時候,聽聽別人的勸也是好的。何況還是你自己親自篩選過的建議。
當我們閒下來,突然想起來忽視了家裏小朋友的成長,決定給小朋友拍拍照。這時候,你的「助理」馬上去翻你在微博上的圖片蒐藏(之所以不去翻朋友圈,是因爲上面禮節性點讚太多了),把那些個創意挨個呈領導閱。爽不爽!
一定要試一下這個創意💡自己的數據更對你的癖好,對你的價值更高。所以,當然要拿回自己的數據嘍。
真實,是一個超級高維的東西。我們體察到的都只是它的某一些切面。只有從多個角度思考、觀察,才能模模糊糊感受到它的全貌。所以,數據,尤其是不同維度的數據當然是多多益善啦。
只是…… 你知道爲什麼好多遊戲允許你免費玩嗎?因爲你在玩的同時,也是在給那些人民幣玩家做陪練。所謂「有錢的出錢,有力的出力」,在遊戲領域發揮得淋漓盡致。之後我們還會從遊戲當中汲取更多的關於「信息管理工具」設計的思路。
所以,如果你沒掏錢,又想把自己的數據拿回來,那就只能下笨功夫了。比如:學腳本去抓數據啊。
或者,忍痛割捨那些連不通的 app 。找一個地方統一存放。
6.3. 低齡的聚合😒
現在我們能做什麼聚合呢?統計統計頻率,分析分析主題,除此之外,寥寥無幾。
6.4. 事事都要我提醒你,要你個跑腿的幹啥😤
今天傳了一下午的文件,打開文件➡️加蓋電子印章➡️搜索收文單位➡️點擊發送⋯⋯ 你丫看我操作到第五十回都還學不會?就不能在我做第三次的時候,主動問我「主人,剩下的文件是不是要按照這麼➡️這麼➡️這麼弄啊?」。然後我指點你一二,這一步得這麼弄⋯⋯
主動一點,OK ?!
7. 目前這種現狀下的近似解決辦法¶
要麼將就,要麼改造,要麼另起爐灶。
7.1. 對現有工具的考察 / 能否通過組合現有工具實現
⋯⋯
7.2. 自己動手,豐衣足食
7.2.1 攔截自己的數據
Google 通過你的搜索動作可以畫出你的「畫像」。可你自己卻拿不到,這不諷刺嗎?那為什麼我們不中途攔截一下,捕獲自己的搜索動作呢?
操作起來並不複雜,在本機上架一服務器,就幹一件事——跳轉。比如:讓http://localhost/search?q=%s
跳轉到你喜歡的一款搜索引擎上。然後把瀏覽器的默認搜索引擎改為這個[7]。這樣,在跳轉之前,我們可以記下搜索了什麼關鍵詞。而且絲毫不影響你的搜索體驗。如果你有台服務器,那就不光可以記錄本機上的搜索動作,任意平台下都可以記錄下來。
7.2.2. 自定一套規範來實現聚合
翻回那句玩笑話「人工智能,有多少人工,就有多少智能」。我們要想自己的這套系統智能一點,要麼等大廠,要麼靠自己。但大廠太遠,救不了近火。既然目前還沒有既經濟又省力的方法提取數據的結構,那我們就人工標記唄。比如:打上 #+1創意#
#ISSUE#
#TIP#
#DEADLINE: 3 d later#
之類的標籤,這樣就很容易用編程語言提取出高層的結構來。
可就是是要投入自己的算力,也有一套巧辦法——用遊戲化的思維去改造。雖然本質上仍然是「人工標記」,但我們會做得很嗨皮。
不扯那些玄乎的,我們所要做的僅僅需要設計一套「成就系統」,讓我們不僅願意幹,而且喜歡上。
7.2.2.1. 遊戲的魅力
記得去年年初玩「饑荒」的時候,我和妮妹兩個連番混戰,玩得不知天日。最後餓不行了,才停手。遊戲爲什麼能如此這般吸引我們?簡單地說,遊戲讓我們 high 。解釋一下,遊戲有一整套成熟的機制不斷觸發我們的 G 點:
- 首先是「即時的反饋」讓我們像撿了錢一樣,不停地想要[8];
- 其次是「新手引導」&「難度匹配」讓我們跳一跳剛剛好能夠着,極大地滿足了我們的成就感。同時,「熟悉而又不一樣的套路」讓你欲罷不能。反觀學校的教育,尤其是「計算機科學」的教育,剛剛教完你「1 個蘋果🍎 + 1 個蘋果🍎 = 2 個蘋果🍎哦~~」,接着就讓你算三重積分。
- 再次是「豐富的組合」激發你無盡的探索慾望;
這就是遊戲設計師的手法?實時的反饋、宏大的願景、豐富的組合⋯⋯ 不不不不,這些都不是底牌。設計遊戲的奧秘在於,把遊戲世界塞進一個模型裏頭,然後掰碎了藏到遊戲世界裏面。玩家找到那個模型,也就理解了整個遊戲世界,因為那個世界的每一樣事物都可以在模型中找到對應。那時,玩家就是世界的神。
其實,遊戲是一套組織資源的方法論。遊戲試圖把一切都具現化,包括努力。玩家的每一步行動都會得到評估,並即刻反饋給玩家。玩家可以看到一切的資源,不管是有形還是無形。 而且,遊戲設計師試圖拉低一切要素的成本。比如:失敗的成本、搭訕的成本、跳出生活圈的成本、和過去的自己合作的成本。在這裏,一切元素都可以自由流動,且可為玩家所用。 這就是讓玩家沈浸其中的秘密,把他們奉為神。
那我們怎麼把這一套搬過來呢?其實不用全搬,只要設計好一套「成就系統」激勵用戶按照規則投入算力就行了。
7.2.2.2. 如何設計「成就系統」?
成就大致分爲三類:流程類成就 + 觸發類成就 + 挑戰類成就。
- 流程類成就:就是做任務。只要參與,就「發錢」;只要操作,就給點數。設計的時候只要記得「反饋粒度要儘可能小」。而且強烈建議事先制定好一套「級別規則」:讓用戶(好吧,就是自己)攢點數有個盼頭。
- 觸發類成就:主要是解決日常太枯燥的問題。時不時來點新鮮感。比如:反復做某事 100 次。因爲一般不會刻意去爲了這個成就做,但當累積到了(這時其實你早忘了),突然蹦出來「發錢」,會讓人欣喜不已。
- 挑戰類成就:其實不需要太難,就是那種「看起來不可能做到,但其實堅持下去不難」的挑戰。好吧,我也沒設計過。就隨便列幾個夢想就行了。做得到,我去,牛逼啊!做不到,有難度嘛,正常正常。
7.2.2.3. 重要是把錢花出去
每一個「成就系統」不可或缺地都會有一個「成就商店」——讓你把攢的點數花出去。你有試過剝瓜子含嘴裏不嚼碎嗎?反正我是沒成功過,每次剝上幾顆就不知覺地吞了,攔都攔不住😪
至於「成就商店」裏面列什麼,不重要,隨便列幾項你沒有抵抗力的事情(比如:一餐不超過多少多少的甜品🍰)就行了。我敢保證,用不了多久,你就會赤字了。
好吧,恭喜你進入「攢點數」→「花」→「不夠花」的「良性」循環了。
7.2.2.4. TIP: 強烈推薦 kramdown
kramdown 對 Markdown 做了一些輕度擴展。這樣,即使構建複雜系統也完全夠用了。大家可以先看看這篇「kramdown v.s. Markdown 差異比較」。
這裏只介紹一個不起眼的擴展{::nomarkdown} ... {:/nomarkdown}
。這個擴展的作用是:不對標記中間的部分做 Markdown 渲染。我第一次看到的時候,想「這功能有啥用😒」。後來在實現「自定義標籤」時嘗試了好多方式都不夠優雅。最後想起了這個功能,通過它,就可以輕易實現「自定義標籤」😱
比如:我想把工作中遇到的問題都蒐集起來,每遇到一個問題,就做個標記。以後只要搜索這個標記,就可以很輕易地實現「問題匯總」了。具體可以這麼做:
- 把問題部分用
ISSUES
&/ISSUES
括起來。但問題是 kramdown 不識別這個擴展啊?! - 在 kramdown 渲染之前,把
ISSUES
&/ISSUES
分別替換為{::nomarkdown} <div class="issues" id="issues-aptx4869"> {:/nomarkdown}
和{::nomarkdown} </div> {:/nomarkdown}
; - 好了,剩下的你懂了吧😏 這樣不僅保留了 Markdown 的風味,而且實現了對 Markdown 的擴展,並且可以通過「錨
#issues-aptx4869
」定位標記的內容;
8. 也許她是這個醜樣¶
以我給自己寫的「工作日誌管理系統」為例。說明一下,因為是在工作機上用的,不能太花哨,不然領導還以為我上網呢。
首先上「工作規範」,以 Markdown 為基礎,規範了如何做信息標註:
規範簡陋的成就系統:
成就系統目前使用中發現的問題:
- 工作中使用最多的 .doc 文件還沒有打通。沒辦法,工作機上逃不開 Office ;
- 「項目追踪模塊」還不是很好用,主要是思路還沒完全釐清;
- 完全沒有權限控制;
- ……
後記
其實大前年[9]就在想「怎麼做一個「信息管理工具」」了。斷斷續續一直到最近[10]才想基本明白。
最初是因爲很喜歡飯否的體驗,想做一個「記流水賬」式的「微博類的數據挖掘 App 」。具體怎麼做還沒想好,倒是想了些逗逼的名字,像「智慧樹🌲」都算正常的,有「叨逼叨」「叨^2」「叨方」「喂[11]」什麼的😓
後來試了不少「Power Tools」,發現還是最喜歡這種「日誌式輸入」的方式。
一開始是計畫做 app 的,畢竟手機📱才是蒐集數據的利器。但無奈學藝不精,又恰逢入職新單位。寫個網頁版的應應急吧。畢竟和工作相關的處理大部分都在工作機上完成。
計畫等我用上個年把再開源。那時候,我對「信息管理工具」的理解應該成熟了吧。
-
之所以要強調是「你的人」,是考慮到數據的私密性。這件事必須在你的授權下做才有意義。 ↩
-
這個我還真沒記錄😅 ↩
-
好像是在 Playground 裏面看到的吧。 ↩
-
對於老年人 / 或者便祕的人來說,或許知道「什麼時候拉一次粑粑」是一個嚴肅且嚴峻的問題呢。 ↩
-
想法源於 @JailbreakHum 的付費專欄「用更現代的方式做任務管理」。 ↩
-
一款個人知識管理軟件,icon 是鸚鵡螺,德國團隊出的,很貴。賣點是「通過詞彙關聯,自動提供相關文章聚合」,但中文就⋯⋯ 當時我死活想不起來名字,搜了半天也搜不到。看,這就是信息聯想出問題了。 ↩
-
呃,Safari 就不支持自定義搜索引擎😒 好吧,你完全可以用 Chrome 嘛😅 ↩
-
比如:我把一個長段落拆成幾個短段落,讓你潛意識喊道「又讀完了一段」。不然,你怎麼有動力讀完這麼枯燥晦澀的一大段文字呢🤫 ↩
-
2015-09-26 ↩
-
2017-12-26 ↩
-
希望它像貼心幫手一樣,平時給它「喂」數據,需要時「喂」一聲,就吐給我答案。我覺得,數據整合也好,資料管理也罷,都應該是這個模式——喂數據➡️吐答案。 ↩
网友评论