Feb 27, 2012

Usability Week Report: CRUD is Cruddy

I'm in the middle of the Mobile UX Design session at Nielson Norman Group's Usability Week. We're talking a lot about best practices for Mobile apps. One of the things that stood out was designing forms for mobile. In the compacted world of mobile the pain of forms is made even more excruciating.  But it's not just about mobile and it's not just about forms.

It's about CRUD. 

For all the beautiful things in the world we design, user experience designers spend an enormous part of our day creating CRUD. 

There are many definitions of the acronym, but this is the one I know:

  • Create
  • Read
  • Update
  • Delete
I can't tell you how many hours I have spent designing workflows for entering contact information. And like some sort of sick fetishist, I have totally oohed and ahhed over some slick new error message or country drop down. It kind of makes you wonder if you're still human.

It is all for not. It doesn't matter how awesome that order form is. It can be beautiful and have slick transitions, but it's still a form. It's still another data entry task for your user to complete. Even with autocomplete, a form is still a barrier to what you want your user to experience. 

Anytime you introduce a piece of CRUD you are assigning a task to your user. They want to access data or content, buy something, play a game, etc.  You are asking them for their name. Even if it is essential data, like a Zip Code for a store locator, it's still not what they want to do.

I'm not saying we can't ask people for their Zip Code. In this case specifically, there are a couple options. First, do we know where they are? We probably do. If they are on a smartphone we have GPS. If they are on a WiFi network we may be able to get their location from their IP address. Of course, there are all kinds of reasons why these may not work. If we're designing defensively, we can handle this case.

Beyond the information we can gather from the user's device, we can also tap in to the social networks they belong to. Many sites are using Twitter and Facebook OAuth to get user information. The results are creepy in a spectacular kind of way. Dribbble, Nike+, LinkedIn, etc. use OAuth to get your information and get you signed up quick. Click the button, sign in to Twitter (hopefully you remember your password or are logged in) and you are done. It's not rocket science. 

Facebook "Take This Lollipop Video"
Recently, an interactive video made the rounds. After  logging in or liking with Facebook the video rolls with photos and information from your Facebook account, right down to psychotic killer looking at a Google map of your house. 

Some people might blush at their "private" information being shared with an app or site. Of course, if it's on the web it's not private (don't tell anyone) but that is just my opinion. Moreover, if you take my information and put it in to a truly epic video I am more than willing to give it to you. If you use it to send me a really crappy newsletter, I will complain (and unsubscribe). Think about how many times you've given up your email address for a simple coupon code or a "chance to win an iPad 3"? Your Facebook isn't any more precious and users aren't hesitant to part with it. 

If you have to make your users work, it better be for something good. If I give you my information, give me something great in return. Remember it later too. Don't make me enter it twice or three times. Show me something cool about myself, even if it isn't necessary. I love it when an app brings in my Twitter avatar and updates it later when I change it. Upload an image? I already did that with Twitter. Make my life easier.

And you know what? Maybe you don't need to get that email address RIGHT now. Maybe it can wait. Maybe you don't need any information at all. Many sites incentivize users to enter information to complete their profile even though they can use the site without giving any information at all.

Enterprise apps aren't exempt either. Just because you are some big huge corporate app made for serious enterprise people doesn't mean you can force them in to labor. In fact, it means that any task you give them is compounded by each user.

So, think twice before you add any CRUD. Design it well but realize that pretty and slick don't mean less work. Give your user a reward for their hard work even if it is just a little shiny picture for their universe. And in the end, if you can get by without it, do that. 


No comments: