When I started programming, I started from doing “C”. Programs used to be very simple with some algorithms, logic and sometime lots of maths, and they were console based. It was fun. The fun part became more fun, when I started doing “user interface” based programs. The option to develop a wide range of software suddenly came in front. The UI programming is quite easy, fun and essential, as it won’t require any algorithms. It’s straightforward because when we make a mistake, we immediately see it and can correct it.
For some, UI programming may be quite dull, boring and non-productive part. They think that UI design is like graphics design. What they aren’t seeing here is, how important it is to have a good UI for each program. UI are created for user convenience, they are the one who will use the software. Users are that being, that either have few or no knowledge at all (mostly). First thing a user will see is a program UI, not how it works or what are it’s features.
1. Having Control over your UI will make you happy
Whatever I say or you yell,it’s true, when you look at your UI, you will always feel good. UI serves the purposes of program objectives. The coding is the process that will provide results. While UI is the surface layer that will display the results. UI are the main source of getting inputs from users with minimal errors. UI makes easier for user to understand what they are supposed to do, where they are supposed to click etc. UI is important because it affects the feelings, the emotions, and the mood of your users. If the UI is wrong and the user feels like they can’t control your software, they literally won’t be happy and they’ll blame it on your software. If the UI is smart and things work the way the user expected them to work, they will be cheerful as they manage to accomplish small goals. The point is, does the UI respond to the user in the way in which the user expected it to respond? To make people happy, you have to let them feel like they are in control of their environment. To do this, you need to correctly interpret their actions. The interface needs to behave in the way they are expecting it to behave.
2. What user wants?
When user sit in front of their PC, mostly they won’t have a clean, clear mind state. They tends to be ambiguous. They have some expectations of how they think the program is going to work and they expect it to work as they expected. When user talk about any office package, then they expect it to be just like ‘Microsoft Office Package’. It’s not bad, if they compare your product with one of Microsoft. Isn’t menu bar at top of window cool? Isn’t status bar at bottom of window does help? Yes they do and these idea came from not us but big software developer company. Big company spend lots of time and money in researches, so we can always learn from there hard worked researches. They give high priority to ‘What user have to say?‘, ‘What user response was?‘ etc. They have probably one of biggest user data, filled up with our responses, which they use for future product release enhancements.
So, gathering user requirements effectively as possibly, help for better product at other end. We can’t build program, that provides form like interface with some inputs and button, which when pushed display the inputs we just entered. That button is supposed to do more than just display. It could save the user inputs to database or send it over internet. What it mean is, UI should always be meaningful.