In this column, instead of talking about one of my usual topics—tactics to avoid errors—I’ll discuss how to work within constraints and pragmatically address real-world issues. During the software-development process, your team may ask you to design an error message. Annoying edge cases all too often pop up—usually too late in the process to fix the issue in any other way.
For starters, I never write what I’d call error messages. Admittedly, I occasionally use that term—in the same way I might use words such as sitemap—just at the beginning of a conversation to orient everyone to my process. Just as I did in the title of this column. But I then switch to a more meaningful term and get everyone to talk about exception messages. Read More
The first experience people have with your mobile app is the most critical. If they cannot get it working right away, they won’t finish setting it up and won’t come back.
As UX professionals, we often talk about problems with app tours, pound our fists and say “no splash screens,” or discuss the overall onboarding experience. However, there’s still far too little information available about even the basics of designing for security.
Some of the most visible aspects of app security—and those that are most badly done—are registration and sign-on screens. So, in this column, I am going to discuss how to create registration, sign-on, and other related security functions of mobile apps. Read More
Since I wrote my article “Mobile Inline Form Validation” for UXmatters back in 2012, I have very rarely used any of those patterns in my own work. Recently, when I created a pattern library for mobile applications for a big, multinational, corporate client, I didn’t include any of those tips. Since the publication of that article, I have identified and begun to follow a few principles that are I hope more user centric.
Don’t See Users As the Source of Errors
If you design systems, you are familiar with constraints. For example, it is hard to add new fields to a database; mobile networks sometimes provide poor connectivity or have slow performance or high latency. Typically, system design takes such constraints—and, of course, costs—into account in determining what a team can build. Read More