« Back to blog

More Options to the User - Elements of Interface Design

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.