凱文凱利的《失控》從科學(xué)與生命談到宇宙與人類(lèi)的未來(lái)瓤球,從技術(shù)到哲學(xué)融欧,深入淺出,每個(gè)人都能從中找到適合自己的道理卦羡。
我是一個(gè)產(chǎn)品經(jīng)理噪馏,所以找到一些產(chǎn)品設(shè)計(jì)的一些道理。
在文章開(kāi)頭绿饵,我們先聊一個(gè)最讓我三觀震動(dòng)的觀點(diǎn):
熱力學(xué)第二定律說(shuō):熵增不可逆欠肾。它基本等同于在說(shuō):“這個(gè)宇宙注定走向冷寂,而我們束手無(wú)策拟赊,所以感謝上帝刺桃,讓我們處在宇宙熵適宜生命存在的時(shí)間里∥睿”可以說(shuō)非常之冷酷虏肾。然而事實(shí)不完全是這樣廓啊。
如果只是一味地熵增,地球中的物質(zhì)元素會(huì)越來(lái)越趨于穩(wěn)定封豪,地球會(huì)越來(lái)越安靜谴轮,就像太陽(yáng)系的其他行星,充滿穩(wěn)定的元素吹埠,變得死氣沉沉第步。但地球還是充滿了活躍物質(zhì)和生命,循環(huán)往復(fù)缘琅,充滿活力粘都。
熱力學(xué)的熵變將物質(zhì)能量拉低,但生命的力量將物質(zhì)能量提高刷袍,讓地球處在一種活躍的狀態(tài)翩隧。——科學(xué)家管這種力量叫“負(fù)熵”呻纹。
順次假設(shè):如果有另一個(gè)星球堆生,其中的物質(zhì)處于高度不穩(wěn)定狀態(tài),那么意味著這個(gè)星球中也存在生命雷酪,反之則不存在淑仆。(這一點(diǎn)已在NASA被證實(shí))
更進(jìn)一步:生命不斷繁衍下去,假設(shè)可以逐步占據(jù)整個(gè)宇宙哥力,那么宇宙永遠(yuǎn)不可能冷卻蔗怠。
負(fù)熵這個(gè)概念應(yīng)該寫(xiě)在熱力學(xué)教材里,這樣可以避免學(xué)這門(mén)課的盆友們心生沮喪吩跋。但如果真的寫(xiě)上去寞射,恐怕很多人會(huì)像我一樣在讀到這一段之后立刻要遠(yuǎn)離熱力學(xué)了。
回到日常生活里锌钮,熵這個(gè)概念被用在非常多的場(chǎng)合怠惶,比如設(shè)計(jì)熵、信息熵轧粟、價(jià)值熵。聯(lián)系“熵增不可逆”定律脓魏,很容易理解這樣措辭的道理兰吟。
而關(guān)于熵與生命,作者提到一些很有趣的道理茂翔,是很好的產(chǎn)品設(shè)計(jì)思路混蔼。
01 簡(jiǎn)約高效與零bug妥協(xié)困境
作者從自動(dòng)機(jī)器的起源開(kāi)始討論這個(gè)問(wèn)題。人類(lèi)一開(kāi)始做的機(jī)械非常簡(jiǎn)單:一個(gè)輸入珊燎,一個(gè)輸出惭嚣。到后來(lái)出現(xiàn)反饋調(diào)節(jié)遵湖,伺服電機(jī),各種各樣的控制回路晚吞,循環(huán)語(yǔ)句延旧、遞歸迭代、神經(jīng)網(wǎng)絡(luò)模型等等槽地。隨著系統(tǒng)越來(lái)越復(fù)雜迁沫,問(wèn)題也越來(lái)越多。
一個(gè)系統(tǒng)很難免去bug捌蚊。而修復(fù)bug過(guò)程本身引入更多bug的可能性集畅。
我們做一個(gè)數(shù)據(jù)接口,接口本身很簡(jiǎn)單缅糟,但為了監(jiān)控接口數(shù)據(jù)正常挺智、保證在任何特殊情況下不出錯(cuò)很麻煩。1%的工作量解決了99%問(wèn)題窗宦,剩下99%是為了規(guī)避掉那1%的異常赦颇。
為了解決問(wèn)題,我們不得不修好有1%概率出現(xiàn)的補(bǔ)丁迫摔。但不能保證會(huì)不會(huì)有0.001%概率的問(wèn)題不知道藏在哪里沐扳。因?yàn)橛?jì)算機(jī)語(yǔ)言是一階謂詞邏輯,在一個(gè)簡(jiǎn)單的條件判斷中句占,我們可以在每個(gè)條件成立的分支上再次判斷“是否正確”沪摄,然后在每一個(gè)“否”的分支上繼續(xù)詢(xún)問(wèn):有多少種“否”的情況、每種情況該怎么辦纱烘。這樣下去即使套無(wú)數(shù)層邏輯也還是不能 cover 所有情況杨拐。
需求分析過(guò)程基本是因果論,它需要知道足夠多的原因擂啥,才能得到正確的結(jié)論哄陶。如果有些問(wèn)題事先不知道,那結(jié)論中不可能包含它哺壶。因此屋吨,問(wèn)題總是出在未知的地方,想要用邏輯覆蓋所有未知問(wèn)題山宾,實(shí)現(xiàn)徹底的閉環(huán)至扰,不出任何 bug,就意味著有超級(jí)多的冗余代碼(更不用說(shuō)因果論與編程語(yǔ)言自身就存在一些邏輯悖論)
簡(jiǎn)約高效與零缺陷幾乎不可能共存资锰,就像瀑布式軟件開(kāi)發(fā)不能適應(yīng)互聯(lián)網(wǎng)時(shí)代一樣敢课。它需要產(chǎn)品與研發(fā)做出一些妥協(xié),盡量簡(jiǎn)約,并且規(guī)避大部分的bug直秆。
02 機(jī)器的靈性
從零缺陷角度來(lái)說(shuō)濒募,采取直線型的簡(jiǎn)單流程更容易實(shí)現(xiàn)。但是產(chǎn)品會(huì)不斷迭代圾结,新需求越來(lái)越多瑰剃,復(fù)雜不可避免,零缺陷就非常之難了疫稿。
軟件工程中有個(gè)概念培他,叫做模塊間解耦合。盡量將流程拆解成一個(gè)個(gè)相對(duì)獨(dú)立的模塊遗座,減少模塊間的耦合度舀凛,維持單個(gè)模塊的通用性,同時(shí)也保證了系統(tǒng)的可拓展性途蒋。作者在書(shū)中舉了蜜蜂的例子猛遍。蜜蜂之間用一些簡(jiǎn)單的信號(hào)溝通,各司其職号坡,有新的蜜蜂出生懊烤,也有蜜蜂因?yàn)楦鞣N各樣的原因死去。每只蜜蜂的行動(dòng)像機(jī)械一樣簡(jiǎn)單宽堆,但整個(gè)社群穩(wěn)定地存在且不斷地繁衍了下去腌紧。
但這樣的系統(tǒng)寫(xiě)起來(lái)更復(fù)雜一些。它犧牲了一部分簡(jiǎn)約畜隶,來(lái)方便迭代壁肋。它不太容易壞掉,或者說(shuō)出了bug也不會(huì)導(dǎo)致整個(gè)系統(tǒng)癱瘓籽慢。但因?yàn)橛?jì)算機(jī)系統(tǒng)是離散的浸遗、信號(hào)式的,所以已知“a=1 真” & “a=2 真”箱亿,并不能判斷“a=1.5”是真還是假跛锌。所以問(wèn)題往往出在一些意料之外的地方。比如阿里的公眾號(hào)曾經(jīng)發(fā)過(guò)一篇文章届惋,討論支付中偶發(fā)性出現(xiàn)1分錢(qián)差錯(cuò)賬的問(wèn)題是怎樣解決的髓帽。這個(gè)問(wèn)題概率低到阿里的幾億用戶(hù)只有少數(shù)幾個(gè)人偶爾會(huì)遇到,以至于在產(chǎn)品上線前完全測(cè)不出這種問(wèn)題脑豹。
作者把這種不完美但是更靈活的系統(tǒng)郑藏,叫做“有靈性的機(jī)器”,甚至與原始的生命做類(lèi)比晨缴。而把那些無(wú)法預(yù)知的 bug 叫做“創(chuàng)造性”失靈。
“有靈性”的系統(tǒng)不能保證零缺陷峡捡,偶爾還鬧個(gè)幺蛾子出來(lái)击碗,但它更不容易壞掉筑悴,它不夠簡(jiǎn)約,但方便迭代稍途,總體來(lái)講更健壯一些阁吝。可以算一種還不錯(cuò)的妥協(xié)結(jié)果了械拍。
03 系統(tǒng)設(shè)計(jì)與用戶(hù)體驗(yàn)
前面的內(nèi)容基本只為系統(tǒng)設(shè)計(jì)考慮突勇。換到用戶(hù)端去呢?在用戶(hù)體驗(yàn)領(lǐng)域坷虑,講究的是甲馋,不要讓用戶(hù)思考,在恰當(dāng)?shù)膱?chǎng)景為用戶(hù)提供恰當(dāng)?shù)膬?nèi)容迄损,黏住用戶(hù)定躏。至于方不方便迭代?用戶(hù)才不要管那么多芹敌!
那前面的內(nèi)容完全不適用了嗎痊远?也不至于。在設(shè)計(jì)前端產(chǎn)品的時(shí)候換個(gè)角度:按場(chǎng)景做拆分氏捞,不同場(chǎng)景的內(nèi)容放在不同頁(yè)面碧聪,有場(chǎng)景切換的時(shí)候,用鏈接從一個(gè)模塊跳轉(zhuǎn)到另一個(gè)模塊液茎,也只要增加一些模塊間的連接內(nèi)容就好啦逞姿。
互聯(lián)網(wǎng)時(shí)代體驗(yàn)至上,做產(chǎn)品豁护,第一位要考慮用戶(hù)體驗(yàn)哼凯,體驗(yàn)是王道,體驗(yàn)好才有用戶(hù)楚里,為了用戶(hù)體驗(yàn)要精益求精断部,一切都要為體驗(yàn)讓路。但事實(shí)上班缎,某個(gè)按鈕放在上面還是下面蝴光,某某表單用一個(gè)頁(yè)面還是兩個(gè),很多時(shí)候一半用戶(hù)喜歡A另一半用戶(hù)喜歡B达址,這時(shí)就不能再用體驗(yàn)做唯一標(biāo)準(zhǔn)了蔑祟。
現(xiàn)在用戶(hù)體驗(yàn)已經(jīng)是基礎(chǔ)標(biāo)配,而非高不可攀沉唠,我們大可以在此之上增加一些要求疆虚。如果某種設(shè)計(jì)方式在不傷害體驗(yàn)的前提下,能讓研發(fā)節(jié)約20%工作量,不是更有價(jià)值嗎径簿?如果這樣可以讓系統(tǒng)結(jié)構(gòu)更合理罢屈、app運(yùn)行更順暢,也是另一個(gè)角度優(yōu)化了用戶(hù)體驗(yàn)篇亭。
04 熵與技術(shù)債
我們聊信息熵缠捌,是說(shuō)限制各種無(wú)意義的內(nèi)容充斥網(wǎng)絡(luò),我們最容易接觸到的通常是一些沒(méi)什么用的信息译蒂。降低某一部分信息熵的代價(jià)幾乎要超過(guò)信息本身的價(jià)值曼月。
而設(shè)計(jì)熵高的產(chǎn)品,會(huì)更復(fù)雜柔昼、更不容易讓人理解哑芹、美得讓人感官疲憊;設(shè)計(jì)熵理論涉及到仿生學(xué)岳锁,也與生命產(chǎn)生聯(lián)系绩衷。
軟件工程領(lǐng)域有個(gè)詞叫技術(shù)債,也可以當(dāng)做一種熵激率。
如果說(shuō)降低熵的方式咳燕,是生命的力量。那減緩熵增的方式乒躺,就是讓物質(zhì)變得更像生命招盲。至于非常像生命的時(shí)候會(huì)發(fā)生什么,那就是另一個(gè)問(wèn)題了嘉冒。
———END———
《失控》這本書(shū)非常值得一讀曹货,我會(huì)繼續(xù)看下去,讀書(shū)筆記也會(huì)繼續(xù)寫(xiě)讳推。
下一篇還是《失控》的筆記顶籽,可能會(huì)與進(jìn)化論有關(guān)。
歡迎關(guān)注我银觅。