Clients and Sandwiches

When I was a kid, I had a weird habit when I ate a sandwich.  I used to disassemble the ingredients and eat each ingredient separately.  My reasoning?  It felt like more food, and I could enjoy the components I liked most, separately.  I’m sure I wasn’t the only child (maybe even adult) that deconstructed their sandwich on a regular basis.  Was this unconventional consumption of a sandwich incorrect?  Perhaps, but I still reached the same goal: consume the sandwich and remove the hunger I was feeling. It’s hard to argue with little Matthew Doyle.

What does a quirky behavior like eating a sandwich have to do with clients, or anything for that matter?  Clients and users use devices and websites in unintended ways.  We as technical professionals may analyze a user’s behavior and conclude “wow that’s not right” and try to correct them.  The user may be grateful for your help but also feel confused, frustrated and left with an attitude of “why did they feel the need to show me this?  The way I am using my device works for me!”

Your professional opinion is correct.  The user IS using the product in an unintended fashion.  You have a better way, but you don’t want to alienate your customer.  What to do?

First things first, make sure those unintended uses do not cause unintended consequences.
You’ve personally tested your application billions of times, and there is NO way someone will break it.  The first user comes along, does a few right clicks, a left click, several enter key strokes and he has managed to mess up your caching mechanism you tested.  Always be on the lookout when you design and implement your project for potential pitfalls the user may encounter.  Does your website work when a user opens into a new window?  A new browser instance?  When they bookmark?  Unchecked paths can lead to a frustrating user experience, invalid data flow or breached security.

Next, make a decision on how to handle the unintended usage:
1. Do nothing for the customer or client, and follow your standards.  The user has to conform.
This isn’t always a bad answer.  There are times when it’s better to ask the user to conform.  It’s the cheapest approach and the one where you have the most control.   You need to tread lightly when using this approach however, and you need to have solid reasons for your decision.   Apple’s locked down approval process for apps on their mobile devices is sometimes portrayed unreasonable and a little “big business” focused, they have voiced reasons for their decision and may be the answer to their great success.

Just remember this is generally a consumer unfriendly approach and expect some users to be disgruntled and not use your products.

2. Customer is always right.  YOU have to conform.
Suppose you design cutting-edge websites with beautiful professional graphics, AJAX, interactive flash, the works.  If you take a client in the non-profit industry, you have to understand most non-profits (not all) are a little behind the technology curve.  They may be using older browsers and computers.  Asking them to install the latest software may push their 6 year old computer to a grinding halt.  Cutting-edge will simply not… well, cut it.

It’s times like these which separates good professionals from great professionals.  You need to figure out how to give the best product and service for your client with the tools necessary.  If that means going easy on the glitter and really challenging yourself to work with what you have, then so be it.

As a side note, “The customer is always right” is an old and played out message.  We need to update it.

“The customer/client always want to be treated with respect in getting to their goal.”  I like the sound of this better.   The customer may not be right, but that’s okay, as long as they get to their goal with the minimal stress and frustration.  Work on helping your customers achieve their goals, and you should be successful.

3. Everything in between.
It’s very hard to design a fully functional website that is flawless on every browser, device and resolution.   In most cases, you need to do your homework.  What are most of YOUR USERS going to use?  Suppose 75% of your users use IE and have resolutions of 1024×768, your web site should probably work best in IE and at 1024×768.  However, it should still be very usable in other major browsers, and look presentable in other resolutions –800×600 is not dead yet.  If your user doesn’t support javascript and your site requires it, it should at least politely tell the user to use a javascript-compatible browser.  Even Gmail works without javascript and most big time websites which require it generally display a nice message.

In conclusion
You can guarantee one thing about users and clients:  They will always be different from each other, and they will always surprise you. You need to have a keen sense of your users, and make sure their needs are met. If it’s impractical or impossible to meet their needs, make sure your application at least lets them know of the alternative, and doesn’t completely break when they use it.

Now, where is that slice of cheese from my sandwich?