How to create best user experience for your application

Introduction
We developers often see monochromatically. Well, that's a bit harsh. We do have coloring in our code. But that's about it. And sometimes we're so pumped up on technology—especially new technology—and the function of the software (I bet even right now you're saying, "SHOW ME THE CODE, stop talking!") that we forget the end user just might have different priorities. We work hard to make the application work—they just expect it to work, so they have additional wishes, too. This is especially true if you're into retail software, or something that will be used by non-technical people. While the first impulse would be to call them ungrateful, they are our customers, so let's see how we can make the experience better for them.
The question is: if you are going to be spending a few dozen hours (or more) a week staring at a particular software application, you at least want it to be easy on the eyes. You also want, and need, it to be as easy to navigate and use as possible. With the amount of software being churned out, an estimated 4 out of 10 software applications have a really great UI that the end user truly likes and is instantly comfortable using.
A massive amount of internal-use software is created for corporations. Whether it is developed in-house, or under the care of a consultant—often a bare minimum of time, effort, or money is invested into creating a better UI. The 'designer' role is rare in the development cycle—especially in the world of Windows applications. That is not to say your application's UI is ugly, but that there's just a whole lot more you can do. "Good enough" or "Gets the job done" doesn't cut it anymore.
There are some basic rules to follow to have a much nicer looking and better functioning UI for your application. It doesn't require too much investment of time or money on your part, and adds a good return on investment.
Before we go further, let's differentiate between user interface and user experience—at least for the scope of this article. User interface, or UI, refers to the visuals and controls of your application, while user experience, or UX, encompasses both the UI and the behavior of the application related to the UI as well as the "feeling" the user gets from your app. It's not just about designing a great-looking UI, but making sure it works great, too.
Here we will discuss 20 points of UX design that you can integrate into your application design phase easily. The result will be richer applications with better intuitive functionality—a "human UX". As we all know the Windows Vista generation of applications will need to look and behave differently. Hopefully, what we will talk about here will help you prepare for future applications while giving your current users a taste of the future.
But before we delve into that, let's talk a bit about the basics of proper UI design.

  1. [2012/03/26] Interview Question on 2+ years of Experience in Manual testing *6 by mathi.7664 (23399)
  2. [2012/06/01] Testing Experience – the Magazine for Professional Testers (June 18th 2012) *5 by aliali27 (911)
  3. [2012/12/05] Tips for ISEB and ISTQB exams *1 by aliali27 (1507)
  4. [2013/10/15] exploratory-testing *4 by dhanam (813)
  5. [2011/02/09] Tips for adhoc Testing *11 by GTamil (2710)