程式設計師的修煉-03-Web 設計原則
本文是 <程式員的修煉-從優秀到卓越> 的讀書筆記的第三篇,這本書的作者是 Jeff Atwood,StackOverflow 的創始人之一,Jeff 的文章涉及面很廣,他是一個經驗老道的程式設計師、管理者、創業者,這本書談到了程式設計之外的很多東西,不管你是初級工程師,還是資深工程師,本書都值得一讀。隨著你的閱歷的增加,每一次重讀這本書,都會有不一樣的感悟,正如書名“從優秀到卓越”,作者為你指明瞭道路,至於是否能成功,則要看自己的修煉了。
我會把讀書過程中一些精彩的言論摘錄下來,有時會加入一些自己的見解或者經歷,讀書筆記的大綱與書本身的大綱是一致的,這也是我從另外一個地方學到並一直在用的“如何閱讀一本書”,記錄下來方便自己經常檢視,也方便讀者檢視。下面是<程式設計師的修煉-從優秀到卓越> 讀書筆記系列:
- ofollow,noindex">程式設計師的修煉-01:絕地反擊之術
- 程式設計師的修煉-02:程式設計之道
- 程式設計師的修煉-03:Web 設計原則
- 程式設計師的修煉-04:關於測試的一些思考(未完成)
- 程式設計師的修煉-05:瞭解你的使用者(未完成)
- 程式設計師的修煉-06:網際網路那些事(未完成)
- 程式設計師的修煉-07:遊戲與程式設計(未完成)
- 程式設計師的修煉-0:閱讀之美(未完成)
網站的評判標準
作者在做網站的評委的時候,每個參賽的網站只有 30s 的時間,對於此:“在 30 秒內作出評判是完全不公平的,但那也恰恰反映了現實世界中的真實情況”
作者給參賽的提了一些建議,你的網站首頁需要給人一種眼前一亮的感覺:
- 載入速度要快,尤其是移動網際網路時代,超過1s 使用者就會失去耐心
- 這到底是什麼東西?不能讓進來網站的使用者雲裡霧裡,讓使用者一進來就知道這個網頁是幹嘛的。
- 給我看一個例子
- 清清楚楚告訴我要做什麼,並且掃除障礙
- 擁抱你的受眾,即使這意味著要把其他受眾排除在外
在任何 Web 應用中,設計首頁的基本草圖是你應該做的第一件事情,因為他是至關重要的初始設計文稿,也是你的遠景宣告。
追求簡單
追求簡單更在於把簡單進行到底,從雅虎首頁和 Google 首頁的歷年對比來看,Google 在首頁做到了非常剋制的簡單,而雅虎的首頁越來越複雜,資訊越來越多,現在來看,這簡直就是入口網站的“災難”
Google 的簡單,是把複雜的事情放在了背後,而不是一股腦推給使用者
應用會取代網站嗎?
我們應該從簡單設計入手,必要時按比例放大,而不是一開始就把事情搞得很複雜,然後被迫收縮,這與目前 Moble First 的設計理念類似。
為什麼應用比網站更好?
- 執行速度更快
- 使用簡單的原生 UI 控制元件
- 更好地利用了螢幕空間
- 更適合於移動環境,甚至離線的情況
為什麼網站比應用更好?
- 網站可以執行在任何裝置的瀏覽器上
- 網站不需要安裝
- 網站不需要手動升級
- 網站提供了統一的使用者體驗
從上面的對比來看,其實是各有利弊的,不過我們也可以看到後續的發展,網頁和 App 會越來越接近,其開發語言、執行環境越來越一致,各種跨平臺的框架讓 App 和網頁的開發不再差異巨大,隨著移動網際網路的普及,任何 App 和網頁都會是以移動裝置優先的角度去開發的。
網頁和 App 的界限會非常模糊,最後統一。
切記墨守成規
我們需要採用正確地做事方式,而不是標準的做事方式:
- 全面瞭解當前的規範以及它形成的緣由(知其然知其所以然)
- 偏離這個規範需要有理有據
- 在實驗過程中收集使用者使用資料(AB Test)
- 基於資料做決定
做 Android 系統優化最好也遵循上面的步驟,先弄懂程式碼邏輯,再弄懂程式碼為何這麼寫,然後再去思考如何優化,這期間就需要找到瓶頸,作出修改,拿到使用者資料,對比使用者資料選擇最優解。
詭異的單鍵設計
iPhone 的單 Home 鍵設定一直飽受爭議,因為這使得後退這個操作比較複雜,在螢幕比較小的機器上還好,可以手勢操作,但是在大螢幕機器上,後退到上一頁非常不方便,你不得不用另外一個手來進行操作。
可用性並非陽春白雪
如果你的專案裡面沒人關心可用性,那麼記得專案註定會失敗。
- 可用性測試是人們為改進網站所能做的最有效的措施之一
- 既然大部分組織均有財力請專人來從事常規性的測試工作,每個人都應該自己學著做可用性測試
作者推薦了一本書:《用眼動追蹤提升網站可用性》,感興趣的可以買一本看看
費茨定律的另一面
費茨定律: 一個東西越大,離游標越近,它就越容易被點選。
作者概括了一篇“Visualizing Fitts’s Law”的文章的核心思想:
- 把常用的 UI 元素擺在螢幕的邊緣,因為游標自動停留在螢幕的邊緣,這樣的話,那些 UI 元素將更加容易被點選
- 讓可點選的區域儘可能大。目標越大,越容易被點選
同理,如果有的必要的按鈕你不希望使用者點選,那麼做小一點總沒有錯,要讓不常用或者危險的 UI 元素難以被點選
可用性與易學性
網站的寫作應該採用“倒金字塔”的風格:在文章的開頭先把結論告訴讀者,接著再寫最重要的輔助資訊,最後才介紹相關的背景。
毋庸置疑的是,你應該儘量吧最重要的資訊放在頂部,不管你是做一個網頁,寫一段程式,寫一封電子郵件,還是做一份簡歷,等等
另外作者推薦了一本書寫給程式設計師的UI設計指南 ,感興趣的可以看一下
只是多一個
如果你想再加一個什麼 UI 元素,請確信,你所加的那個 UI 元素不是壓倒駱駝的最後一根稻草
敢於說不
創新並不是要接受所有的東西,而應該對除了關鍵性功能之外的所有東西通通說不。
使用者介面很難做
這裡主要說的是程式設計師在做使用者介面的時候,總是很粗糙,不易用。不過從現在的發展來看,使用者介面設計不再那麼困難,各種美觀的介面框架可以非常容易的套用。