Vijay Krishna's Notes http://vijaykrishna.posterous.com Most of my notes as a student of computer software and everything around it. posterous.com Tue, 08 Mar 2011 17:15:58 -0800 More Options to the User - Elements of Interface Design http://vijaykrishna.posterous.com/more-options-to-the-user-elements-of-interfac http://vijaykrishna.posterous.com/more-options-to-the-user-elements-of-interfac This was really a sub point in my earlier post which dealt with the basics of Interface Designing in general. But then a good friend of mine, who also happens to be a fantastic software test developer, asked me this and so i decided that i should elaborate on the point in a more details manner. Here is the excerpt out of that post which directly deals with this post:
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.
Now, the question that was asked was quite simple: Is it a good idea to reduce the functionality you give to the user to make the application more User Friendly? Well I will have to say that the answer to that question is obviously no. Simply because, more the features the better is the application in terms of its feature set and hence, a happier user. Of course, it goes without saying that by increasing the feature set, you are making your application that much more unstable. You will actually require well written code and logic to substantiate it. So the issue is not really a user experience issue but a coding and software development problem. And many a times there will be situations where you cannot keep simple and straight forward UI's. The business will require you to complicate them. Sometimes, even if a simple alternative were viable with a more optimum number of features and choices, you would still be forced to come up with the same clustered UI simply because the client might be used to it, and may not want to change over to simpler and better things. Hence, at some point or the other there will be times when complicated coding, followed by a sophisticated bout of testing will have to be done. And that is the bad news. Having said that, here is the good news. The choices and features that we give to the user, need not always be interdependent. In case they are, then you have no other alternative but code and test out of your skins. But, if there is a way by which you can keep the interdependencies, at a minimum internally then life will get a lot simpler for you. In case the dependencies cannot be avoided, try minimizing them or concentrating them to a single interfacing point with in the code. For instance, most of such data dependencies can be taken up at two instance, such as the beginning, while the UI is loading, and while the user is exiting that view, i.e. at the end. So, you are creating a single data pathway, through which the data will enter and exit, at which point you will resolve all your dependencies. I will still say that it is best not to give the user too many options no matter much the usability improves, and improve it will. "Why" you ask? Simply because, once you walk down that path things will only keep getting more complicated for the coder, and more enjoyable for the user. And there will come a time when the system will get too unstable to manage and maintain and the user will be in love with such systems due to its usability but will frown when the bugs come crawling out. I have really painted an ugly picture here, by giving a worst case scenario. In most projects as far as possible, systems are made simpler and better than their predecessors. Even the end users are willing to accept new ways of doing things. It is at such moments that we should make the best efforts to simplify things.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Mon, 03 Jan 2011 17:42:41 -0800 A UI FAQ http://vijaykrishna.posterous.com/a-ui-faq http://vijaykrishna.posterous.com/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.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu