I am very passionate about good user experience (UX), but one of the biggest challenges with UX is explaining what it even means. Development is easy enough to understand as it’s simply how the app is built. Graphical design/user interface (UI) is mostly how it looks. Quality assurance (QA) is about making sure it works the way it’s supposed to. User experience, though, is a combination of all of these and more. It’s about understanding the user’s expectations, clearing out the pain points, and giving a sense of satisfaction. Most development teams have very little focus on UX either expecting the designer to handle it or thinking that features and functionality are all that’s needed.
It’s a little bit easier to understand the value of user experience by taking a simple example, such as a series of light switches, and breaking down who is responsible for what. The designer wants to make sure the switches look good. Do they blend in enough or stand out too much? Does the shape match the surroundings whether harsh or smooth, traditional or contemporary? Are they properly spaced, aligned, and balanced? Continue reading
I’m very excited to announce that my book Android User Interface Design: Turning Ideas and Sketches into Beautifully Designed Apps is now available. You should be able to get it from your local bookstore, but you can also order it online from Amazon and other sites. The book is intended for developers who already have some experience with Android, but it can also be useful to designers, project managers, and anyone else involved with an Android app. It’s also in color so the images look great and the code is much easier to follow.
Part One: The Basics of Android User Interface
This first section consists of four chapters about the basics of Android user interface, starting with the evolution of Android design and going into views, fragments, and resources. If you’re an experienced Android developer, some of this will be review, but you’re probably likely to discover new info as well. From visual examples of the different scale types to explanations of each of the existing Android Drawables, these chapters will ensure you understand all the core building blocks of an Android interface. Continue reading
Some of the biggest challenges in developing a mobile app revolve around reliance on the internet. Effectively handling network reliability issues is a vital part of creating a pleasing user experience. How does your app handle no network connection? How does your app handle a slow network connection? And how does your app handle an unreliable network connection? Continue reading
Android’s permission system sets it apart from most other operating systems. Before installing an app, the user is shown a list of permissions that the app requires and the user can decide whether to install the app or not. Traditional desktop operating systems have not had a significant permissions system that amounted to more than file-level ownership, but mobile devices have a much more pressing need to control what can happen on the device. Allowing an app to access web resources, send text messages, control GPS chips, or interact with other apps has the potential to lead to a poor user experience or, worse, cost the user money. Of course, these are all things that the user might want an app to be able to do, so having a proper permissions system is vital in order to promote innovation while keeping the user safe.