Tuesday, May 3, 2016

Don’t Make Me Think


http://read.liuwanlin.info/dontmakemethink/principle.html
不言而喻、一目了然

设计这应该尽量做到,当用户看到一个页面时,应该是不言而喻,一目了然,自我解释的。用户应该能明白它是什么、如何使用,而不需要花精力去思考。网页上每项内容都有可能迫使我们停下来思考,比如自以为很酷或自以为很聪明的名字、具体公司相关的名字,还有看起来不太明显的连接和按钮等等。在确定这些名字和按钮时,我们应该更倾向于显而易见,而不是需要额外的思考

用户的思考

在用户访问网站时,经常会陷入下列思考中:

我在什么位置
我该从哪儿开始
他们把XX放在哪儿了
这个页面上最重要的是什么
为什么叫这个名字
等等
网页设计的目标

网页最好是能达到一个目标,就是让普通用户只要看到它一眼,就知道是什么内容,如何使用它。因为大多数人会花比我们预计少的多的时间来浏览器网页

我们实际上是如何使用Web的

绝大部分用户,在大部分时间里,都只是在每个页面上行瞥一眼,扫过一些文字,点击第一个令他们感兴趣的或者大概符合他们寻找目标的链接。通常情况下,页面上有很多东西用户都不会去看,甚至当做从来没存在过。

不去阅读,而是扫描

用户浏览页面,不会去阅读,而是扫描,因为:

用户总是处于忙碌之中,他们使用Web是想节约时间,所以他们没有时间来阅读哪些不必要的内容
用户知道自己不需要阅读所有信息,他们只会对其中一小部分感兴趣,而他们也只会寻找这一部分并阅读它,扫描就是用户找到这一小部分内容的方式
在日常生活中,我们一直在扫描报纸、杂志、书籍,所以我们善于扫描
不是最佳,而是满意

用户不会做最佳的选择,而是满意即可。事实上,大多数时间用户都不会选择最佳选项,而是选择第一个合理的选项。因为:

用户很忙,寻找最佳策略很难,需要很长时间,只是寻找满意策略效率要高得多
如果猜错了,不会有什么严重后果。网站上一次错误的选择,换来的不过是几次后退按钮罢了
对选择进行权衡并不会改善我们的机会
猜测更有意思,猜测不会像仔细衡量那么累,如果猜对了,速度会更快
不问原理,只要能用

用户不会追根究底,而是勉强应付。在很大程度上,人们在使用一些东西时,不会去理解他们的运作原理,甚至对他们的运作原理完全是错误的理解。在网页上也是一样,很多人完全不是以设计师设想的方式使用网络和软件,但是他们用得很好。因为:

事物背后的工作机制往往对用户来说不中用,只要能正常使用它就行了
如果发现某个事物能用,用户就会一直用它,无论它有多难用,除非偶然发现一种更好地方法。用户不太会自己去找一种更好的方法
所以,如果用户能很快的明白这个页面,那么:

他们更容易找到自己所需要的东西
他们更容易理解网站提供哪些服务
你更可能引导他们去你所希望他们看到的地方
他们会觉得,在你的网站上,他们更能把握全局,这会让他们成为老用户
为扫描设计,不为阅读设计

视觉层次

让页面在瞬间明白易懂的一个好办法是确保页面上所有内容的外观--所有的可视线索--清除,而且能偶准确的表达页面上内容之间的关系,也就是有清楚的视觉层次

视觉层次清楚的特点有:

越重要的部分越突出
逻辑上相关的部分在视觉上也应当相关
逻辑上包含的部分,在视觉上应该进行嵌套
用户每天都会对视觉层次进行分解,好的视觉层次通过预先处理页面,用一种我们能快速理解的方式对页面的内容进行组织并却分优先级,减少用户的对页面的思考,加快浏览页面找到所需内容的时间。如果页面没有清楚的视觉层次,用户将会被迫降低扫描页面的速度,寻找关键的文字和短语,然后拼凑出我们感觉重要的内容和内容的组织方式,加大了用户的思考内容

习惯用法

由于文化的关系,用户从小会养成一种习惯用法,比如很大的短语它通常是标题,一张照片下面的文字要么是对照片的说明,要么是照片的拍摄者署名,等等。这些习惯用法根植在用户的脑海中,通过常年累月积累而来

关于Web上的习惯用法,有两点很重要:

这些习惯用法非常有用,我们需要知道,习惯用法之所以会成为习惯,就是因为他们有用
设计师通常不愿意利用他们,设计师总是希望能做出一些崭新的,与众不同的设计,而不是使用那些原有的东西
如果不打算使用一种已有的习惯用法,那也必须使用一种清楚地,能带来很大价值的习惯用法。所以,在清楚自己有个更好地想法时进行创新,否则尽量使用习惯用法

划分页面

把页面划分成明确定义的区域很重要,因为这可以让用户很快的决定关注页面的哪些区域,或者放心的跳过哪些区域

明显标识可以点击的地方

人们在网页上所做的大多数申请就是找到下一个地方点击,那么明确地标注哪些地方可以点击,哪些地方不能点击,这很重要

降低视觉噪声

让页面不易理解的一个最大原因,就是视觉噪声,它分为两种:

眼花缭乱
背景噪声
在设计页面的时候,可以先假定所有内容都是视觉噪声,除非得到证明它们不是

为什么用户喜欢无需思考的选择

一些站点规定,到达网页的任何页面需要点击的次数永远不能超过指定的次数(3、4、5)。但真正的问题不是到达目标之前要的点击次数(当然这里也要有个限度),而是每次点击需要多少思考。用户不介意有多少次点击,只要每次点击都毫不费力,并且能让用户坚信自己的选择正确。“三次无需思考、明确无误的点击相当于一次需要思考的点击”

省略不必要的文字

页面到处是多余

有力的文字都很简练。句子里不应该有多余的文字,段落里不应该有多余的句子。同样,画上不应该有多余的线条,机器上不应该有多余的零件。网页上大部分文字斗不过实在占地方,因为没有人打算读他们。去掉没有人看的文字,有三个好处:

可以降低页面的噪声
让有用的内容更加突出
让页面更简短,用户一眼能看到更多的信息,而不用滚动屏幕
去掉欢迎词
去掉指示说明


No comments:

Post a Comment

Labels

Review (554) System Design (293) System Design - Review (189) Java (178) Coding (75) Interview-System Design (65) Interview (60) Book Notes (59) Coding - Review (59) to-do (45) Knowledge (39) Linux (39) Interview-Java (35) Knowledge - Review (32) Database (30) Design Patterns (29) Product Architecture (28) Big Data (27) Soft Skills (27) Miscs (25) MultiThread (25) Concurrency (24) Cracking Code Interview (24) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Distributed (20) Interview Q&A (20) OOD Design (20) System Design - Practice (19) Security (17) Algorithm (15) How to Ace Interview (15) Brain Teaser (14) Google (13) Linux - Shell (13) Spark (13) Spring (13) Code Quality (12) How to (12) Interview-Database (12) Interview-Operating System (12) Redis (12) Tools (12) Architecture Principles (11) Company - LinkedIn (11) Testing (11) Resource (10) Solr (10) Amazon (9) Cache (9) Search (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Company - Uber (8) Interview - MultiThread (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Scalability (8) Cassandra (7) Git (7) Interview Corner (7) JVM (7) Java Basics (7) Machine Learning (7) NoSQL (7) C++ (6) Design (6) File System (6) Highscalability (6) How to Better (6) Kafka (6) Network (6) Restful (6) Trouble Shooting (6) CareerCup (5) Code Review (5) Company - Facebook (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Be Architect (4) Big Fata (4) C (4) Company Product Architecture (4) Data structures (4) Design Principles (4) Facebook (4) GeeksforGeeks (4) Generics (4) Google Interview (4) Hardware (4) JDK8 (4) Optimization (4) Product + Framework (4) Shopping System (4) Source Code (4) Web Service (4) node.js (4) Back-of-Envelope (3) Company - Pinterest (3) Company - Twiiter (3) Company - Twitter (3) Consistent Hash (3) GOF (3) Game Design (3) GeoHash (3) Growth (3) Guava (3) Interview-Big Data (3) Interview-Linux (3) Interview-Network (3) Java EE Patterns (3) Javarevisited (3) Map Reduce (3) Math - Probabilities (3) Performance (3) Puzzles (3) Python (3) Resource-System Desgin (3) Scala (3) UML (3) geeksquiz (3) AI (2) API Design (2) AngularJS (2) Behavior Question (2) Bugs (2) Coding Interview (2) Company - Netflix (2) Crawler (2) Cross Data Center (2) Data Structure Design (2) Database-Shard (2) Debugging (2) Docker (2) Elasticsearch (2) Garbage Collection (2) Go (2) Hadoop (2) Html (2) Interview - Soft Skills (2) Interview-Miscs (2) Interview-Web (2) JDK (2) Logging (2) POI (2) Papers (2) Programming (2) Project Practice (2) Random (2) Software Desgin (2) System Design - Feed (2) Thread Synchronization (2) Video (2) ZooKeeper (2) reddit (2) Ads (1) Advanced data structures (1) Algorithm - Review (1) Android (1) Approximate Algorithms (1) Base X (1) Bash (1) Books (1) C# (1) CSS (1) Chrome (1) Client-Side (1) Cloud (1) CodingHorror (1) Company - Yelp (1) Counter (1) DSL (1) Dead Lock (1) Difficult Puzzles (1) Distributed ALgorithm (1) Eclipse (1) Facebook Interview (1) Function Design (1) Functional (1) GoLang (1) How to Solve Problems (1) ID Generation (1) IO (1) Important (1) Internals (1) Interview - Dropbox (1) Interview - Project Experience (1) Interview Tips (1) Interview-Brain Teaser (1) Interview-How (1) Interview-Mics (1) Interview-Process (1) Jeff Dean (1) Joda (1) LeetCode - Review (1) Library (1) LinkedIn (1) LintCode (1) Mac (1) Micro-Services (1) Mini System (1) MySQL (1) Nigix (1) NonBlock (1) Process (1) Productivity (1) Program Output (1) Programcreek (1) Quora (1) RPC (1) Raft (1) RateLimiter (1) Reactive (1) Reading (1) Reading Code (1) Refactoring (1) Resource-Java (1) Resource-System Design (1) Resume (1) SQL (1) Sampling (1) Shuffle (1) Slide Window (1) Spotify (1) Stability (1) Storm (1) Summary (1) System Design - TODO (1) Tic Tac Toe (1) Time Management (1) Web Tools (1) algolist (1) corejavainterviewquestions (1) martin fowler (1) mitbbs (1)

Popular Posts