blob: 9e8a371a5d1b6cc13a5e9e48f8db2b7f590c6551 [file] [log] [blame]
smain@google.com80e1a0c2014-06-23 10:26:15 -07001page.title=Android Design Principles
Roman Nurikb99ae732012-03-06 12:26:15 -08002@jd:body
3
smain@google.com80e1a0c2014-06-23 10:26:15 -07004<p>These design principles were developed by and for the Android
5User Experience Team to keep users' best interests in mind.
6For Android developers and designers, they continue to
7underlie the more detailed design guidelines for different
8types of devices.</p>
9
10<p>
11Consider these principles as you apply your own
12creativity and design thinking. Deviate with purpose.
13</p>
Roman Nurikb99ae732012-03-06 12:26:15 -080014
15<h2 id="enchant-me">Enchant Me</h2>
16
Dirk Dougherty6c1c2632015-05-02 16:31:11 -070017<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -070018 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080019
Roman Nurikb20f1202012-03-29 13:28:13 -070020<h4 id="delight-me">Delight me in surprising ways</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -080021<p>A beautiful surface, a carefully-placed animation, or a well-timed sound effect is a joy to
22experience. Subtle effects contribute to a feeling of effortlessness and a sense that a powerful
23force is at hand.</p>
24
25 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -070026 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080027
28 <img src="{@docRoot}design/media/principles_delight.png">
29
30 </div>
31</div>
32
33<div class="vspace size-2">&nbsp;</div>
34
Dirk Dougherty6c1c2632015-05-02 16:31:11 -070035<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -070036 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080037
Roman Nurikb20f1202012-03-29 13:28:13 -070038<h4 id="real-objects-more-fun">Real objects are more fun than buttons and menus</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -080039<p>Allow people to directly touch and manipulate objects in your app. It reduces the cognitive effort
40needed to perform a task while making it more emotionally satisfying.</p>
41
42 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -070043 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080044
45 <img src="{@docRoot}design/media/principles_real_objects.png">
46
47 </div>
48</div>
49
50<div class="vspace size-2">&nbsp;</div>
51
Dirk Dougherty6c1c2632015-05-02 16:31:11 -070052<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -070053 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080054
Roman Nurikb20f1202012-03-29 13:28:13 -070055<h4 id="make-it-mine">Let me make it mine</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -080056<p>People love to add personal touches because it helps them feel at home and in control. Provide
57sensible, beautiful defaults, but also consider fun, optional customizations that don't hinder
58primary tasks.</p>
59
60 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -070061 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080062
63 <img src="{@docRoot}design/media/principles_make_it_mine.png">
64
65 </div>
66</div>
67
68<div class="vspace size-2">&nbsp;</div>
69
Dirk Dougherty6c1c2632015-05-02 16:31:11 -070070<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -070071 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080072
Roman Nurikb20f1202012-03-29 13:28:13 -070073<h4 id="get-to-know-me">Get to know me</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -080074<p>Learn peoples' preferences over time. Rather than asking them to make the same choices over and
75over, place previous choices within easy reach.</p>
76
77 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -070078 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080079
80 <img src="{@docRoot}design/media/principles_get_to_know_me.png">
81
82 </div>
83</div>
84
85<h2 id="simplify-my-life">Simplify My Life</h2>
86
Dirk Dougherty6c1c2632015-05-02 16:31:11 -070087<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -070088 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080089
Roman Nurikb20f1202012-03-29 13:28:13 -070090<h4 id="keep-it-brief">Keep it brief</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -080091<p>Use short phrases with simple words. People are likely to skip sentences if they're long.</p>
92
93 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -070094 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -080095
96 <img src="{@docRoot}design/media/principles_keep_it_brief.png">
97
98 </div>
99</div>
100
101<div class="vspace size-2">&nbsp;</div>
102
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700103<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700104 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800105
Roman Nurikb20f1202012-03-29 13:28:13 -0700106<h4 id="pictures-faster-than-words">Pictures are faster than words</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800107<p>Consider using pictures to explain ideas. They get people's attention and can be much more efficient
108than words.</p>
109
110 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700111 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800112
113 <img src="{@docRoot}design/media/principles_pictures.png">
114
115 </div>
116</div>
117
118<div class="vspace size-2">&nbsp;</div>
119
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700120<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700121 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800122
Roman Nurikb20f1202012-03-29 13:28:13 -0700123<h4 id="decide-for-me">Decide for me but let me have the final say</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800124<p>Take your best guess and act rather than asking first. Too many choices and decisions make people
125unhappy. Just in case you get it wrong, allow for 'undo'.</p>
126
127 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700128 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800129
130 <img src="{@docRoot}design/media/principles_decide_for_me.png">
131
132 </div>
133</div>
134
135<div class="vspace size-2">&nbsp;</div>
136
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700137<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700138 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800139
Roman Nurikb20f1202012-03-29 13:28:13 -0700140<h4 id="only-show-when-i-need-it">Only show what I need when I need it</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800141<p>People get overwhelmed when they see too much at once. Break tasks and information into small,
142digestible chunks. Hide options that aren't essential at the moment, and teach people as they go.</p>
143
144 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700145 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800146
147 <img src="{@docRoot}design/media/principles_information_when_need_it.png">
148
149 </div>
150</div>
151
152<div class="vspace size-2">&nbsp;</div>
153
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700154<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700155 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800156
Roman Nurikb20f1202012-03-29 13:28:13 -0700157<h4 id="always-know-where-i-am">I should always know where I am</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800158<p>Give people confidence that they know their way around. Make places in your app look distinct and
159use transitions to show relationships among screens. Provide feedback on tasks in progress.</p>
160
161 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700162 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800163
164 <img src="{@docRoot}design/media/principles_navigation.png">
165
166 </div>
167</div>
168
169<div class="vspace size-2">&nbsp;</div>
170
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700171<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700172 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800173
Roman Nurikb20f1202012-03-29 13:28:13 -0700174<h4 id="never-lose-my-stuff">Never lose my stuff</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800175<p>Save what people took time to create and let them access it from anywhere. Remember settings,
176personal touches, and creations across phones, tablets, and computers. It makes upgrading the
177easiest thing in the world.</p>
178
179 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700180 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800181
182 <img src="{@docRoot}design/media/principles_never_lose_stuff.png">
183
184 </div>
185</div>
186
187<div class="vspace size-2">&nbsp;</div>
188
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700189<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700190 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800191
Roman Nurikb20f1202012-03-29 13:28:13 -0700192<h4 id="looks-same-should-act-same">If it looks the same, it should act the same</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800193<p>Help people discern functional differences by making them visually distinct rather than subtle.
194Avoid modes, which are places that look similar but act differently on the same input.</p>
195
196 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700197 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800198
199 <img src="{@docRoot}design/media/principles_looks_same.png">
200
201 </div>
202</div>
203
204<div class="vspace size-2">&nbsp;</div>
205
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700206<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700207 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800208
Roman Nurikb20f1202012-03-29 13:28:13 -0700209<h4 id="interrupt-only-if-important">Only interrupt me if it's important</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800210<p>Like a good personal assistant, shield people from unimportant minutiae. People want to stay
211focused, and unless it's critical and time-sensitive, an interruption can be taxing and frustrating.</p>
212
213 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700214 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800215
216 <img src="{@docRoot}design/media/principles_important_interruption.png">
217
218 </div>
219</div>
220
221<h2 id="make-me-amazing">Make Me Amazing</h2>
222
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700223<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700224 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800225
Roman Nurikb20f1202012-03-29 13:28:13 -0700226<h4 id="give-me-tricks">Give me tricks that work everywhere</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800227<p>People feel great when they figure things out for themselves. Make your app easier to learn by
228leveraging visual patterns and muscle memory from other Android apps. For example, the swipe gesture
229may be a good navigational shortcut.</p>
230
231 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700232 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800233
234 <img src="{@docRoot}design/media/principles_tricks.png">
235
236 </div>
237</div>
238
239<div class="vspace size-2">&nbsp;</div>
240
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700241<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700242 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800243
Roman Nurikb20f1202012-03-29 13:28:13 -0700244<h4 id="its-not-my-fault">It's not my fault</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800245<p>Be gentle in how you prompt people to make corrections. They want to feel smart when they use your
246app. If something goes wrong, give clear recovery instructions but spare them the technical details.
247If you can fix it behind the scenes, even better.</p>
248
249 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700250 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800251
252 <img src="{@docRoot}design/media/principles_error.png">
253
254 </div>
255</div>
256
257<div class="vspace size-2">&nbsp;</div>
258
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700259<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700260 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800261
Roman Nurikb20f1202012-03-29 13:28:13 -0700262<h4 id="sprinkle-encouragement">Sprinkle encouragement</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800263<p>Break complex tasks into smaller steps that can be easily accomplished. Give feedback on actions,
264even if it's just a subtle glow.</p>
265
266 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700267 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800268
269 <img src="{@docRoot}design/media/principles_sprinkle_encouragement.png">
270
271 </div>
272</div>
273
274<div class="vspace size-2">&nbsp;</div>
275
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700276<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700277 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800278
Roman Nurikb20f1202012-03-29 13:28:13 -0700279<h4 id="do-heavy-lifting-for-me">Do the heavy lifting for me</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800280<p>Make novices feel like experts by enabling them to do things they never thought they could. For
281example, shortcuts that combine multiple photo effects can make amateur photographs look amazing in
282only a few steps.</p>
283
284 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700285 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800286
287 <img src="{@docRoot}design/media/principles_heavy_lifting.png">
288
289 </div>
290</div>
291
292<div class="vspace size-2">&nbsp;</div>
293
Dirk Dougherty6c1c2632015-05-02 16:31:11 -0700294<div class="cols">
Trevor Johns682c24e2016-04-12 10:13:47 -0700295 <div class="col-7of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800296
Roman Nurikb20f1202012-03-29 13:28:13 -0700297<h4 id="make-important-things-fast">Make important things fast</h4>
Roman Nurikb99ae732012-03-06 12:26:15 -0800298<p>Not all actions are equal. Decide what's most important in your app and make it easy to find and
299fast to use, like the shutter button in a camera, or the pause button in a music player.</p>
300
301 </div>
Trevor Johns682c24e2016-04-12 10:13:47 -0700302 <div class="col-5of12">
Roman Nurikb99ae732012-03-06 12:26:15 -0800303
304 <img src="{@docRoot}design/media/principles_make_important_fast.png">
305
306 </div>
307</div>