Hello all, firstly let me apologize. Its been about 2 months since I updated this blog and that has been for a variety of reasons.

  • I have a now 11-month-old son, and he claims 95% of my day. The other 5% claimed by sleep.
  • I recently was made an ALM Ranger, my profile can be found here. And have been getting involved in the Ranger Community.
  • Lots of exciting things happening in Total ALM, as Brandon and I have been hard at work. Including the release of our extensions to the VSTS marketplace. The website can be found here.
  • And work's had me traveling a good bit.

So anyway I apologize for the delays but am back and ready to continue the series on SMACK, my approach to making sure that your software is meaningful and important and above all being used. Previous posts can be found part 1 here and part 2 here.

M = Make it easy to use

This one should be obvious, but you'd be surprised how much of a problem this is. We as developers tend to overcomplicate things and find ways to go above and beyond to make things configurable and focus on covering EVERY POSSIBLE SITUATION EVER!

It's easy to start down the rabbit hole, and end up with a situation where the user has to read a 300 page manual to know how to do the most simple of tasks. At this point, something I like to remind people of is YouTube published some statistics on load times. According to their research, the minute someone saw a "rebuffering" message, 81.19% of viewer left rather than wait 2-5 seconds.

Here are some tips for helping to make your software more usable:

  • The Rule of 3: If it takes more than 3 clicks to accomplish an action, then its too many. The user won't remember the steps. There is psychological research to show that human beings remember things best in 3's. Beyond that we get frustrated.
  • Eye Follows Movement: Developers love to put animations and make things look cool, but there is biological research to indicate that we humans on instinct will follow the direction of movement. When you require human's to utilize controls in the opposite direction you fight instinct.
  • Colors Matter: Take time to focus on how things look, make sure spacing is right and makes sense, make sure colors and contrast aren't too harsh, and make sure its pleasing to the eye.
  • Get it in front of users sooner: You can spend endless cycles trying to make sure that things are done properly, and that the architecture and code are perfect. But at the end of the day, you could be investing huge amounts of time on things that don't really matter. Get it in front of users an solicit their feedback, and ASK them what would make it work better and easier.
  • TEST / TEST / TEST! At the end of the day, you are only as good as your last checkin and first impressions matter. If your new feature breaks right out of the gate, then the confidence in it is completely and totally lost.

When you focus on your UI, you need to make sure that you are paying attention to your users and understand at the end of the day, the customer knows more about what they need than you do.

Next up is my post on A = Accepting Feedback.