This is one of the things that newbie programmers forgot these days. The ethics of the having a great UI (User Interface).
There are lots of students who really have the potential to become a good programmer/ software developer someday. They have the ability to code, to analyze a problem, to think of solution, etc.. But one of the most important thing is actually the most of them doesn’t have. It’s the ability to know who the users are.
Basically, at school, the teacher will give some problems to be solved. So, the students will try to analyze the problem and think of the solution then they will go now to the process of writing the code and debugging. It doesn’t matter how the student will code the program. It doesn’t really matter if he is the only one who can understand the codes as long as he’ll got the correct solution, he will pass.
Well, that was in school. But in the real world, it’s not! A client will ask you to develop a software for them. Then you will ask some question, etc.. You’ll be gathering all of the information that you will be needing. Then you will code, test, and debug.
Then what’s next? You think, you’re done. You will submit the software that you developed to the client. Now, as the client begin to run your software, he’ll got confused and will ask you how he will be using your software? Then you’ll got confused too! This thing will comes into your mind, “Hey man! That’s too easy! You just need to click and click and click!”
Definitely, running/ using the program that you developed was too easy for you. Why? Because you were the one who coded it. You might also memorized every sequence that will happen whenever a button was clicked. But, did you developed that software for you to use it? It’ll be a big NO!
It is as simple as this. The client hired you in order to make his task easy. He didn’t hire you because he wanted to be confused on how to use your software. He didn’t hired you because he just wanted to have an automated system or whatever it is.
So, here are my tips.
Number 1: Always put your self to your client’s shoes whenever you will develop a software. Because if you are only developing a program for yourself, then pay for yourself and never look for clients.
Number 2: Always think that the one to use your application is a grade school-er or your grandma. What I want to emphasize is that the one who will use your software is not that knowledgeable than you when it comes to software/ application.
Number 3: This is the last but the most helpful tip. Always provide a “How To”? guide for them. Because whenever you were not there to teach them, at least, they have a guide! Make it as easy as the ABAKADA as possible.
Always Remember: You are developing software for others, not for yourself. And that’s the ethics! If that would be always on your mind, I am very sure that the software that you will develop will have a great User Interface.