A UI FAQ
At the very outset of this post i would like to state something explicitly: I am a newbie in the world of User Interfaces and User Experience. However, i have been playing around with colours and graphics for the past 6 years now. And i have designed graphics and pondered over user experience when it has come to print media. So, if you think that i even qualify to write something like this, go ahead give it a shot, i will try not to disappoint you.
The reason i have decided to put this down in simple word is because many of my friends have asked me these questions before. While i will not give you the ultimate answers, i will try and give you a direction, based on my own experiences and opinion. So here it goes -
Q. What are the Rules or Axioms to be followed while designing a good User Interface?
A. There is only one simple rule or axiom i can think of when it comes to designing a good interface: UNIFORMITY. Any user will like things to be constant and consistent with each other. The moment you do something out of the ordinary the user's attention is drawn to that one thing. He simply gets disturbed. Its easy to spot flaws, simply because they are out of place. So, keep things simple and uniform.
Get those distances between your Labels and Textboxes to be constant across the application. If it is 10px between the labels and textboxes on one page, ensure that it is 10px on every page in the application. The user can spot these things with surprising effortlessness. This causes him to think about, such seemingly minor glitches, and not on the functionality of the application. Think of it like a page in a book, jutting out slightly, just by a millimeter. Its very easy to spot it right? And no matter how hard you try, you aimlessly think of it for a few nano seconds before you get back to the reality of studying the whole thing.
Maintain consistent alignments of text. If the numbers are right aligned at one place they should be so in most pages. You can make exceptions when you are designing forms or pop ups. Labels is another area where you should take care of alignment. Its a good idea to have right aligned labels, allowing you to have constant distance between the labels and the text/data fields that they are representing. It is also to have a Justified alignment against when it comes to blocks of text, it gives you a clean look.
Stick to a Maximum of 5 primary colours and 2 simple readable fonts. Now the colours throughout your application can actually be shades of those 5 colours. But, do not push it. You are not designing a poster. You are trying to convey information. Keep that in mind. Here the more important thing is to convey information not make you UI look really vibrant (unless, that is the purpose of your UI). In my opinion, two fonts are more than enough. The bold text brings more magic to user experience, than do animated text or ever changing fonts. They are simply irritating.
Q. What is that "Perfect Design"?
A. Truth is that even i am searching for that very thing. But, in my opinion, a design is truly perfect when it can be used in any scenario, with any given context. Something that is very adaptable to changing need and requirements. Now, i say this from the code point of view. The code written to develop a good UI should be such that it can be used again, in any other development process. Having said that, i think that when thinking of a good design, one should think of how and where that design can be used apart from its original place or purpose. This in my opinion is the best way to maintain uniformity as well. A simple example of this happens to be the auto-complete box. Now, whosoever thought of this simple design was a person with a vision. It has just replaced the textbox completely. You see it everywhere. In your Web Browsers, Search Engines, Forms, Facebook, Operating Systems, the list is endless. Now, that is a perfect design.
Q. Eye Catching or Subtle?
A. This is something that the theme of your application should decide. But remember, that it is the information that you are trying to present which has to catch the eye. Try avoiding contrasts like, white text on black backgrounds. While some themes may demand something like that, it is best to avoid them. You would be surprised how much better Black or Gray looks on White. It is really a matter of personal taste and choice. Stick with what you think is the best. But, i would add this: Any good interface has something subtle or mild about about it. No matter how flamboyant, your UI may look, try keeping certain subtlety in it, unless it goes against the nature of your theme or application.
Q. How much of a choice should one provide the user with?
A. The answer is optimum. If you give very few choices and options, you are providing the user with a under functioning UI. If you give too many choices then the chances are that the UI is going to turn out to be very cutlery. Something you do not want. But, more than that, there is another peril lurking in the dark. Say you have provided your user with 5 buttons and only 5 chances to hit any button, then there are 5^5 ways in which he can use those buttons. Imagine what will happen in all those cases. Think of how will handle all of them and what will happen if one were to increase that number even by 1. Prioritize your functions just like your data and information. The priority of your information depends on your users, the priority of your buttons depends on your information.
Q. How do we get a 3rd opinion, while designing a UI? Especially from someone who knows nothing about the system.
A. Now if you can find such a person, who can intelligently answer all your doubts and queries, give you an honest opinion and not spill your beens about your project to another soul in this world, then you are a luck guy and you should use such a person with no hassle. Usually, i ask my mom and dad to give me an honest opinion. They being from a generation which has not used the computer all that much present a true picture of what my UI lacks to offer a lay person. However, the best thing to do is to put your self in that persons shoes, your users shoes and try and analyze what he would want. The best writer is he who does not like to read, for he knows the amount of effort his reader will have to put in to read his words. So, he will make a good attempt at reaching out to his audience in the best possible manner. Designing a UI is no different. Be critical about your work. Reduce the number of clicks. Increase the amount of information not data.
So that was a basic FAQ. In case any one has more troubles and issues, comment here or mail, IM, FB or Tweet me, i will be more than bappy to help out.