End Users are from Earth, Programmers are from Uranus

Since late 1994 I’ve been extremely fortunate to have been able to work within the Internet industry and witness the incredible evolution the web has given us. From 14.4k modems to ISDN lines and T1’s, Netscape Navigator, IE 3.0, swirling spinning logos, $100 per year domain registration fees, rise and fall of AOL, Compuserve and message boards, PERL, Cold Fusion, classic ASP and the evolution of .NET. Email, SMS, spam, blogging, mobile marketing, SEO and social media. Throughout all the technical advances the most exciting changes have truly come from watching businesses evolve from single web page promotions and brochure web sites to making the Internet an integral component of their business strategy.

Throughout this evolution, I’ve worked with hundreds of talented programmers and developers on thousands of web sites. No matter how technology has changed or how talented the developer, it has always been a challenge to encourage the developer to keep the end user in mind. Sure, I’ve written millions of lines of code and consider myself a <Geek/> but I still have to remind myself with each project to put myself in the mind of the user. The average person never graduated from Mr Spock’s Vulcan School of Logic and as developers we have to remember that just because we feel the flow of an application is logical, it isn’t necessarily obvious for the end user.

For programmers, it can often be a challenge to bridge the distance between the perfect line of code and an application that end users call "easy", "beneficial" and "perfect". I’ve always found it beneficial to reflect on the following questions throughout the development process.

Who is going to use this application?

Who is going to teach the user how to use this application?

Can the user easily read on the screen how to use each component of the application?

Do you need to spend more than 2 minutes explaining how to navigate to or use any screen of the application?

Did you sweat the small stuff? It is the little details which make an application easy and perfect. Do all pages have clear instructions? Do all links, boxes, buttons, dropdowns, radios and checkboxes have labels and clear definitions. Again, if you need to spend more than 2 minutes explaining a screen it is perhaps too long or not intuitive enough.

Remember, not every one uses the Firefox browser. Consider the first point above, who is going to use the application, and keep in mind they may use a variety of browsers, Safari, Chrome, Firefox, mobile browsers and, dare I say, Internet Explorer. Be sure to model and test the application against all of these. Sure, this is time consuming, but you will save a lot of time and your client or application sponsor will be far more impressed that you considered all the little details.

Could your mother use this application?

Next time you’re working on an application, stop and ask yourself these questions and consider how to engage your end users better through their experience. The old saying, KISS, truly applies in application development.