從最簡(jiǎn)界面的Total Commander談起 (4月25日更新)一、引言1. 緣起 『TC好像不能去掉標(biāo)題欄和菜單欄,有沒(méi)啥辦法可以做到?最好像chrome那么簡(jiǎn)潔,善用佳軟能不能讓作者實(shí)現(xiàn)這一點(diǎn)?』網(wǎng)友 荒謬的藝術(shù) 問(wèn)。 這樣的界面,我認(rèn)為,并無(wú)長(zhǎng)期實(shí)用的價(jià)值。但技術(shù)上是能做到的。并且,引申來(lái)談,可以加深對(duì)軟件和應(yīng)用的理解。于是,xbeta回復(fù)說(shuō):『區(qū)區(qū)小事,豈敢有勞作者?且讓我動(dòng)幾下鍵盤,配制一款最簡(jiǎn)界面的TC,效果如圖,以供參考?!?/p> 所謂“一圖勝千言”。上圖就是最簡(jiǎn)界面的TC——就是——完全看不出是TC的TC。這倒和Vim一個(gè)光禿禿的窗口,有著同樣的風(fēng)情。套用時(shí)興的句式,就是你看或不看——那些熟悉的界面元素都不在眼前;你知或不知——那些強(qiáng)大的功能就一直等在后面。 如果僅關(guān)注答案,問(wèn)題到此已可結(jié)束。但為了背后的道理,并為了免除更多問(wèn)題,在這一圖片背后,可能更需要千言萬(wàn)言的描述。有心體驗(yàn)軟件應(yīng)用精妙之處的網(wǎng)友,不妨慢慢讀來(lái)。 2. 背景 相應(yīng)的,我也極少再研究軟件的技術(shù)細(xì)節(jié)。所以,過(guò)去一段時(shí)間中,對(duì)需要研究才能回答的問(wèn)題,我也較少回復(fù)。 而今天,某事暫告一段落(“……博客排在本職工作、家庭生活、某事之后” via)后,適逢網(wǎng)友問(wèn)起TC問(wèn)題,適逢水木社區(qū)TC版無(wú)人申請(qǐng)版主而有被關(guān)閉的風(fēng)險(xiǎn),適逢與沙牛探討如何寫出更好的軟件應(yīng)用文章,于是,重試技術(shù),發(fā)現(xiàn)功力還在——雖有幾分生疏,但也多了幾分新意。 且細(xì)細(xì)道來(lái)。 二、如何實(shí)現(xiàn)最簡(jiǎn)界面的 Total Commander ?1. 基本做法 ① 選項(xiàng)設(shè)置:眾所周知的第一步,就是通過(guò)TC的配置界面取消相應(yīng)元素的顯示:配置→選項(xiàng)→外觀,取消勾選要隱藏的內(nèi)容(如工具欄、當(dāng)前文件夾、狀態(tài)欄等)。
④ 借用 AutoHotkey:“WinSet, Style, -0xC00000, A”——簡(jiǎn)單一句AHK腳本即可隱藏活動(dòng)窗口的標(biāo)題行。 2. 補(bǔ)充建議 上面的做法已經(jīng)足夠。但在遇到意外時(shí),很難處理。因此,從實(shí)踐角度,還有如下輔助建議。 建議①:為TC增加相應(yīng)快捷鍵 在TC配置文件中加入如下3行: 效果: 建議②:使用完整的AutoHotkey腳本 功能:按 win+F11 ,使當(dāng)前活動(dòng)窗口的標(biāo)題行,在隱藏/顯示狀態(tài)之間切換?!?strong>該腳本值得喜歡折騰程序界面的所有用戶關(guān)注。 (感謝Lin、xcv58、xell)
注: 三、從最簡(jiǎn)界面的 Total Commander 看到更多1. 軟件的定位與發(fā)展階段網(wǎng)友希望TC能像Chrome一樣簡(jiǎn)潔。這兩者都是優(yōu)秀軟件,互相參照十分有益。但同時(shí)也要看到,它們?cè)诙ㄎ?、成熟階段方面存在很大不同。 定位:Chrome 定位于普通用戶(所以,安裝目錄也不容易更改),默認(rèn)使用方式(配置、界面)適合多數(shù)用戶;而 TC 從來(lái)沒(méi)期望成為多數(shù)人的工具,即便是追求效率的用戶,也未必全適合TC。 個(gè)性化方式:Chrome 往往是通過(guò)擴(kuò)展、參數(shù)為 Geek 實(shí)現(xiàn)個(gè)性化,而非內(nèi)置在程序本身的設(shè)計(jì)中,并且其優(yōu)先級(jí)永遠(yuǎn)排在第二位。而 TC 則在增加任一特性的同時(shí),便提供了啟用該特性的不同方式。即Chrome的個(gè)性化是“有余力才做”,TC的個(gè)性化則是原生的基因。 發(fā)展階段:TC是“超成熟”產(chǎn)品,它不但到達(dá)了自身的極致,也達(dá)到了此類軟件的極致。這種極致,帶來(lái)了兩種看似矛盾,實(shí)則合乎辯證法的結(jié)果。一方面,軟件難有激動(dòng)人心的新特性,作者為難,用戶也略感失落。另一方面,即便是最資深的用戶,也能在遇到新需求、做新研究時(shí),從舊特性中發(fā)現(xiàn)新的解決方案。 也就是說(shuō),軟件本身的進(jìn)步空間近乎于無(wú),但留給用戶的發(fā)揮空間卻近乎無(wú)限?!@種境界的軟件,唯 TC、AHK、Vim/Emacs 而已;三者之中,又以 Vim/Emacs 為最。而 Chrome 雖然短期發(fā)布諸多版本,但遠(yuǎn)未成熟。這既決定了它的操作個(gè)性化不可能滿足Geek的需求,又預(yù)示了它未來(lái)發(fā)展的不可限量。 為了讓非TC、非Vim用戶也能直觀理解“極致”,再舉幾例: 其實(shí),發(fā)展階段不僅要看產(chǎn)品自身,還要看該產(chǎn)品類別的大環(huán)境。隨著跨平臺(tái)、搜索技術(shù)的興起,我們可以更直接面向信息,面向應(yīng)用,而減少對(duì)“文件”的依賴。未來(lái)的IT用戶,會(huì)管理知識(shí),管理日程,管理聯(lián)系人……即管理內(nèi)容,但幾乎不用管理“文件”。如果不明白這點(diǎn),請(qǐng)向后看:今天的我們,在管理文件,而不需要向初期計(jì)算機(jī)用戶那樣管理磁盤、磁道、扇區(qū)…… 而瀏覽器,盡管看起來(lái)已經(jīng)多年沒(méi)有重大更新,但有了敢于重新定義媒體格式甚至互聯(lián)網(wǎng)協(xié)議的 Google 介入,仍然可能發(fā)生重大改變。 產(chǎn)品的個(gè)性化程度、成熟度不同,也就決定了尋找問(wèn)題的方向不同。一類只等期待作者改進(jìn),一類卻給了用戶無(wú)限空間。這和我以前總結(jié),“Windows下的好軟件是選出來(lái)的,Unix下的好軟件是配出來(lái)的” 也有相通之處。
2. 更理想的世界是什么樣的?(1)觀察事物有兩個(gè)視角 曾有一些讀者誤以為我是“編程高手”,當(dāng)他們得知我完全不懂編程、不會(huì)開(kāi)發(fā)后,很奇怪我為什么也能對(duì)軟件理解這樣深刻和準(zhǔn)確。道理很簡(jiǎn)單:觀察軟件——其實(shí)不僅是觀察軟件,觀察事物都有兩個(gè)視角:除了“制造者的視角”,更有一個(gè)“使用者的視角”。從量上,我們的直覺(jué)就可以判斷,后者的數(shù)量和頻率,都高達(dá)前者的數(shù)十甚至百千萬(wàn)倍。從性質(zhì)上,使用才是根本, 因?yàn)橐磺猩a(chǎn)的最終目的,都是為了滿足人類的需求。而這個(gè)過(guò)程,正是在“使用”中實(shí)現(xiàn)的。但長(zhǎng)期以來(lái),后者總得不到足夠重視。其原因,與產(chǎn)品復(fù)雜之后的信 息不對(duì)稱有關(guān),也與實(shí)際話語(yǔ)權(quán)、話語(yǔ)被稀釋的程度有關(guān)??墒?,越因?yàn)槿绱?,我就越覺(jué)得后者的重要?;蛟S,這一傾向,在我的畢業(yè)論文中已有體現(xiàn):關(guān)注可持續(xù) 發(fā)展,不從生產(chǎn)者角度,而從消費(fèi)者角度。 (2)所知少,也可以所見(jiàn)多 回到正題,就是:要了解軟件,未必要懂開(kāi)發(fā)和編程。只要思維清晰,不具備某些知識(shí)也可能成為優(yōu)勢(shì)——因?yàn)橄啾人?,你減少了束縛,消除了知障,可以直面一個(gè)理想的世界。 A 看熱鍵與鼠標(biāo)手勢(shì)。當(dāng)你面對(duì)多個(gè)程序的熱鍵沖突、自定義程度或強(qiáng)或弱、對(duì)全局熱鍵的爭(zhēng)奪…… 關(guān)于鼠標(biāo)手勢(shì),大多數(shù)軟件不支持,各瀏覽器又要分別定義方案,分別增加原生代碼或借助擴(kuò)展實(shí)現(xiàn)…… 這時(shí),我會(huì)認(rèn)為:操作系統(tǒng)(比如Windows)應(yīng)該提供一個(gè)中間層。讓它站在用戶和應(yīng)用之間,對(duì)用戶的動(dòng)作——包括鼠標(biāo)的點(diǎn)擊、拖拽、手勢(shì),包括鍵盤的普通輸入、連擊、長(zhǎng)按、組合——做出翻譯,在不同情況下(比如視激活窗口,視打開(kāi)的程序,甚至視時(shí)間),匹配到各程序的不同內(nèi)部命令上。 B 看輸入法和翻譯軟件。再如,輸入法與編碼規(guī)則、詞庫(kù)應(yīng)該是分離的。舉例,王永民老師的最大貢獻(xiàn)在于五筆編碼 的發(fā)明和推廣;周志農(nóng)老師則既在雙拼、自然碼的編碼方面產(chǎn)生了巨大影響,又做出了強(qiáng)大的輸入法平臺(tái)。詞庫(kù),根本應(yīng)該是語(yǔ)言學(xué)家的事。同理,翻譯軟件或詞典 軟件,也應(yīng)該是程序平臺(tái)與詞典分離,且形成標(biāo)準(zhǔn)。否則,個(gè)人軟件要么無(wú)法得到詞典,要么只好不遵守版權(quán)規(guī)則。所以,當(dāng)我聽(tīng)到“喜歡xx輸入法因?yàn)榇笤~庫(kù)” “喜歡xx詞霸因?yàn)樵~典多”這類說(shuō)法時(shí),我知道這個(gè)世界距離理想境界還很遠(yuǎn)。 C 看blogger有所為有所不為。再如,我很長(zhǎng)時(shí)間都拒絕在博客上添加“分享”按鈕的建議。理由是,這是用 戶的操作,應(yīng)該通過(guò)用戶瀏覽器的功能(或擴(kuò)展、小書簽)實(shí)現(xiàn),而不應(yīng)由作者提供。作者只應(yīng)當(dāng)提供內(nèi)容。正如我在郵件中說(shuō)過(guò),所謂的blogger,核心是 writer,其次也應(yīng)該是editor。如果ta成為了html,css,wordpress,域名注冊(cè),空間購(gòu)買的專家,那真是人力的極大浪費(fèi)。世之 不如意事,十常居七八。當(dāng)不能把這些當(dāng)作常態(tài),要看作迫不得已,要看到理想境界。現(xiàn)面,我對(duì)css,都要產(chǎn)生厭離之心了。我認(rèn)為,理想的情況 是,wordpress有一套規(guī)范的語(yǔ)義標(biāo)簽,blogger只須關(guān)注這些,無(wú)須擴(kuò)展到css。然后,讀者無(wú)論訪問(wèn)網(wǎng)頁(yè),還是在rss閱讀器中,都可以調(diào)用獨(dú)立第三方或自定義的css,按照自己的樣式來(lái)閱讀。 (3)AutoHotkey 的重要地位 再次回到正題,我認(rèn)為 AutoHotkey 和 StrokeIt 這樣的通用軟件,對(duì) Windows 平臺(tái)是一個(gè)非常重要的補(bǔ)充。它們不僅是一款軟件,而是為熱衷自定義的用戶,創(chuàng)造了一種新的Windows應(yīng)用結(jié)構(gòu),即實(shí)現(xiàn)了上文中提到的介于用戶和程序之間,從動(dòng)作到命令的解釋層。所以,盡管實(shí)現(xiàn)Gvim的透明度、置頂、全屏有專門的擴(kuò)展,我仍采用ahk方案。因此,在實(shí)現(xiàn)TC無(wú)菜單化的過(guò)程中,我也很滿意TC沒(méi)有提供這種違背Windows標(biāo)準(zhǔn)窗口風(fēng)格的功能,而安心用萬(wàn)能的ahk實(shí)現(xiàn)。正如在某文中所說(shuō),「圣人者,方而不割。君子者,望之儼然,即之也溫。AutoHotkey者,入門易而妙用無(wú)窮,在用戶與windows程序之間飛舞往返,行天使之善,精靈之魔力?!?/p> (4)總結(jié) 理想世界不是一個(gè)新話題,早就被多位哲人思考過(guò)。因此,我也沒(méi)有新答案,而是對(duì)先人觀點(diǎn)的重述和重新理解。用4個(gè)字概括,就是 提倡分工。原因:分工 → 專業(yè)化 → 更高效率。 既是舊觀點(diǎn),那就可以找到淵源。知識(shí)豐富,了解IT新技術(shù)者,會(huì)看到“內(nèi)容與展現(xiàn)分離”(separation of document content from document presentation)。新知識(shí)少,但讀過(guò)舊經(jīng)典者,會(huì)看到200多年前《國(guó)富論》的“勞動(dòng)分工論”(Division of labour has caused a greater increase in production than any other factor. The Wealth of Nations by Adam Smith),甚至更早中國(guó)先賢的思想。這再次證明:所知少,并不妨礙所得多;關(guān)鍵在是否思考,是否領(lǐng)悟。 3. 實(shí)用的TC界面是什么樣的? 仍在寫作中…… |
|