![Usability Matters: Six Dimensions Of App Design](http://img.images-bn.com/static/redesign/srcs/images/grey-box.png?v11.9.4)
![Usability Matters: Six Dimensions Of App Design](http://img.images-bn.com/static/redesign/srcs/images/grey-box.png?v11.9.4)
Paperback(1st Edition)
-
PICK UP IN STORECheck Availability at Nearby Stores
Available within 2 business hours
Related collections and offers
Overview
Usability Matters: Mobile-first UX for developers and other accidental designers gives you practical advice and guidance on how to create attractive, elegant, and useful user interfaces for native and web-based mobile apps.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Just because a mobile app works doesn't mean real people are going to like it. Usability matters! Most mobile developers wind up being part-time designers, and mastering a few core principles of mobile UI can make the difference between app and crap.
About the Book
Usability Matters is a guide for developers wrestling with the subtle art of mobile design. With each expertly presented example, app developer and designer Matt Lacey provides easy-to-implement techniques that instantly boost your design IQ. Skipping highbrow design theory, he addresses topics like gracefully handling network dropouts and creating intuitive data inputs. Read this book and your apps will look better, your users will be happier, and you might even get some high-fives at the next design review.
What's Inside
- Understanding your users
- Optimizing input and output
- Creating fast, responsive experiences
- Coping with poor network conditions
- Managing power and resources
About the Reader
This book is for mobile developers working on native or web-based apps.
About the Author
Matt Lacey is an independent mobile developer and consultant and a Microsoft MVP. He's built, advised on, and contributed to apps for social networks, film and TV broadcasters, travel companies, banks and financial institutions, sports companies, news organizations, music-streaming services, device manufacturers, and electronics retailers. These apps have an installed base of more than 500,000,000 users and are used every day around the world.
Matt previously worked at a broad range of companies, doing many types of development. He has worked at startups, small ISVs, national enterprises, and global consultancies, and written software for servers, desktops, devices, and industrial hardware in more languages than he can remember. He lives in the UK with his wife and two children.
Table of Contents
- Introduction
- Who's using the app?
- Where and when is the app used?
- What device is the app running on?
- How people interact with the app
- User-entered data
- Data not from a user
- Displaying items in the app
- Non-visible output
- Understanding the perception of time
- Making your app start fast
- Making your app run fast
- Coping with varying network conditions
- Managing power and resources
Product Details
ISBN-13: | 9781617293931 |
---|---|
Publisher: | Manning |
Publication date: | 08/17/2018 |
Edition description: | 1st Edition |
Pages: | 392 |
Sales rank: | 612,538 |
Product dimensions: | 7.30(w) x 9.10(h) x 0.60(d) |
About the Author
Table of Contents
Preface xvii
Acknowledgments xviii
About this book xix
1 Introduction 1
1.1 What's usability, and why does it matter? 1
Usability matters to everyone 2
Usability, UX, and design 2
The formula for app success 3
Great usability experiences are intuitive 5
1.2 Six components of great app experiences 6
Context of use underpins everything in an app 6
Input includes all ways data and information get into the app 7
Output includes and goes beyond what is shown onscreen 8
Responsiveness: how output is perceived 8
Connectivity changes and isn't always guaranteed 9
Resources are finite and must be managed 10
1.3 How considering all six components can make apps better 10
Example 1 An email client 11
Example 2 A nexus app 13
Example 3 A tower defense game 15
1.4 Why you need to consider the six components in your apps 17
Experience is an important differentiator 17
Meet the expectations of those who'll use your app 20
Planning for success 21
Part 1 Context 25
2 Who's using the app? 27
2.1 You aren't your users 28
How you're different from your users 28
You're not an average user 31
Be aware of the effects on your thinking 32
2.2 Who's the app for? 33
Who'll get value from your app? 34
Understanding the potential user base 35
Are there enough people who want the app? 36
Targeting groups of individuals 39
Putting on a persona, or several 40
Enterprise app usage 42
2.3 People aren't all the same 43
Consider people's differing abilities 44
Consider people's differing expectations 45
Consider people's differing goals 47
2.4 What are people doing? 49
What are people doing with the app? 49
What else are people doing? 53
3 Where and when is the app used? 57
3.1 Where is the app used? 57
App usage at a macro-geographic level 58
App usage at a micro-geographic level 60
3.2 The regional impact on an app 61
Considering support, for multiple languages 61
How culture and locale can impact an app 65
3.3 When is the app used? 70
Consider the time of day 70
Consider the day of the week 72
Consider the time of year 73
How long is the app used? 74
3.4 What activities are being undertaken while using the app? 78
Is the person using the app moving or stationary? 78
Is the user dedicated or distracted? 79
Is use isolated or in conjunction with something else? 80
Are they-standing, sitting, or lying down? 81
4 What device is the app running on? 83
4.1 Write once, run everywhere? 84
4.2 Supporting multiple operating systems 86
OS-imposed restrictions 86
Looking like you belong on the OS 87
Belonging on a version of the OS 89
Belonging in the enterprise 89
4.3 Maintaining brand identity and differentiation 90
Branding vs. visual identity 91
Separating your brand from the OS 91
Maintaining OS conventions while still reflecting a brand 93
4.4 Supporting different device capabilities 93
Handling multiple physical device sizes 94
Variations in internal hardware capability 97
Accounting for software variations 100
Part 2 Input 103
5 How people interact with the app 105
5.1 Supporting different pointing devices 106
Providing input with a finger 107
Providing input with a stylus 112
Providing input with a mouse and the keyboard 114
5.2 Using a pointing device to provide input 116
Supporting gesture-based input 116
Supporting multi-touch input 119
5.3 When pointing and touch input become difficult 121
Touch events don't always do what the user wants 121
Raw input events need special attention 123
6 User-entered data 126
6.1 The goals of the people using the app 127
Improve tasks by minimizing input 128
Improve tasks with defaults and suggestions 134
Improve tasks with alternative inputs 136
6.2 How to ask for data to be entered in forms 138
Optimizing how the form is arranged 138
Simplify how text is entered 143
Password entry requires special consideration 146
Simplifying entry from a fixed set of options 149
Validation and required fields 151
7 Data not from a user 155
7.1 Data from web-based resources 156
Dealing with the data you directly request 156
Dealing with data pushed to the app 158
7.2 Getting data from the device 161
Input from the operating system 162
Data from, the filesystem 163
Data from, other apps 164
7.3 Getting data from sensors 166
Transparency and permission when using sensor data 166
Allow for variations in sensor input 168
7.4 Using heuristics and inferring input 171
Enhancing the app experience based on an individual's usage 171
Enhancing the app experience based on the usage of all people 172
Part 3 Output 175
8 Displaying items in the app 177
8.1 The fundamentals of good visual output 178
Focus on the person using the app and their goals 178
Meet the expectations of the people using the app 178
Account for the specific device being used 179
Respect standards and conventions 180
8.2 Laying out controls on a screen 181
Implying meaning and relationships through alignment and hierarchy 182
Implying meaning and relationships through consistency 183
Implying meaning and relationships through proximity 184
8.3 Navigating within the app 186
Common navigation patterns 186
Special navigation considerations 188
8.4 Avoiding discrimination with what you display 191
Ensure your UI works for everybody 191
Saying Ike same thing to everybody who uses the app 192
8.5 Many factors affect the display of images 193
One size doesn't fit all 193
Physical size isn't everything: consider formats and formatting too 196
Customizing image placeholders 198
8.6 Use distinct icons with specific meanings 200
8.7 Allow for extremes of connectivity and content 202
Content that loads slowly or doesn't load at all 202
When content isn't available 203
Avoiding empty states 203
9 Non-visible output 207
9.1 Physical and audio output support changes onscreen 208
Give your app a voice 208
Haptic feedback starts with vibration 210
9.2 Output to other apps and devices 212
9.3 Communicating from your backend 214
Allowing for multichannel communication 215
Sending effective push notifications 216
Using badges with push notifications 219
9.4 Communication via channels beyond the app 221
Using email to communicate with your users 221
Using SMS to communicate with your users 223
Using third-party messaging services to communicate with your users 223
Part 4 Responsiveness 227
10 Understanding the perception of time 229
10.1 How people perceive mobile time 230
Context influences the perception of responsiveness 230
Perception is about feelings, opinions, and comparisons 231
Being responsive with notifications 233
Meet expectations, don't just be as fast as possible 234
10.2 Influencing the perception of responsiveness 236
Answer questions about what the app is doing 236
Show appropriate progress when something's happening 240
Animation can hide delays 240
Usable isn't the same as finished 241
10.3 Perceptions associated with the age of your app 243
11 Making your app start fast 248
11.1 Doing the minimum to start the app 249
Deciding what to do on startup 249
Displaying a splash screen when launching the app 252
11.2 Preloading content to make the app faster 254
Preloading content to distribute with the app 254
Preloading content for the app's next use 255
11.3 Preformatting content retrieved by the app 257
11.4 Caching content to save time and money 259
Using in-memory and disk-based caches 260
Checking for new versions of cached items 262
When to invalidate and delete cached items 264
12 Making your app run fast 268
12.1 Using eager loading so people don't have to wait 269
Eager loading complements preloading content 270
Beware of being too eager 272
Knowing what to load eagerly 272
12.2 Parallel operations take less time 273
Synchronous and asynchronous operations 275
Advice when working in parallel 276
12.3 Combining requests for improved speed and control 279
Controlling the server your app connects to 279
Getting faster responses by combining requests 280
Simplifying the client by combining requests 281
Combining requests and local files 282
Part 5 Connectivity 285
13 Coping with varying network conditions 287
13.1 Not all connections are the same 288
Securing your connection 288
Connection-speed can vary 289
Connection cost can vary 290
13.2 Occasionally connected is the norm 292
Connections may not be possible 292
Connections may be lost 294
Connections may change 294
13.3 Optimizing for subprime conditions 296
Caching improves the experience in subprime conditions 296
Compression improves the experience in subprime conditions 296
Deferring actions increases what's possible in subprime conditions 297
Batch operations in subprime conditions 297
Automatic retries improve the experience in subprime conditions 298
13.4 Balancing usability and a poor connection 299
Prioritizing important activities in poor conditions 300
Adjusting network usage based on network conditions 301
13.5 Keeping the user in control when conditions are poor 302
Part 6 Resources 307
14 Managing power and resources 309
14.1 When it's gone, it's gone 310
14.2 Do you really need it? 313
Lazy loading reduces wasted effort 314
Using alternatives to save resources 315
14.3 How often are you going to use it? 318
Managing resources that are only used once 318
Managing resources that are used repeatedly 319
14.4 Do you still need it? 320
Turning off resources when finished 321
Responding to changing circumstances 322
Appendix A Exercise answers 324
Appendix B Put it into practice 335
Appendix C Recommended reading 348
Appendix D Bibliography 350
Index 357