The user-friendly computer programs

Photo by Soumil Kumar from Pexels

Writing computer programs is not speaking in a different language that only a programmer and a computer understands. It is, in fact, instructing a computer to do the tasks, for the end user, the way the end user wants it to happen. So, writing computer programs is not about just writing pieces of codes and running them. We need to make sure that the interfaces are easily understood by the person who use it. A good interface makes it easy for the end user to work with, but collects all relevant information required for the processing, without making the process too complicated.

A good example to start with would be a program that accepts the date of birth and prints the day alone. Let the python code be:

Here, a prompt will be given as

The user can enter the DoB in many formats:


There are plenty of options. So, what will go wrong? No standard input format for DoB is specified here. So each user enters it in a format of his choice. The programmer can write the code to parse the entered string considering all possible formats he can guess. But say the user enters 13@07@2017 and if the programmer failed to write a code to parse the string correctly for this format, the program fails. This option of writing a code that gives the user maximum freedom is good but it is too difficult to implement. So another option is to specify a format for entering the DoB as in:

This sounds better. No? This helps the user to enter the DoB in a specific format and also the programmer to code to identify only one format. Noticed the polite language in the question. It matters a lot. When forms are not used, we need to interact with the user in natural scentences so that the user feels its easy to understand the way the program works. For example, we can provide localizations. It will help the end user to work with the program with more ease.

Modern era computing is focussing on computing systems that is able to interact with a human as if it is also a real human. Natural interaction, is what they call this.

The beauty of programming lies in 3 factors:

(1) proper syntax,

(2) proper documentation and

(3) proper user interfacing and outputs.

Writing good programs is a need. Writing good programs that has a good user interface so that the user is able to exploit the program’s full potential is also important.


There are a hell lot of points to mention. But here are a few important ones:

  1. Observe: Observe the world. Observe how things work. Observe how people interact. Observe how good conversations happen.
  2. Perspectives: Find out the different perspectives of the same thing and work out the correct one that suits the situation. Each user thinks diffrently and consider all possible ways before you proceed.
  3. Simple: Make things as simple as possible. Explain it to a layman. If he understands the thing, you just made the best solution.
  4. For them: Make the solution for the end user and not for you. Interfaces are for the end-user. Make sure the end user is able to understand and use it.
  • Footnote: These days, all this will be taken care of by the UI or UX designers and the coders do not have to worry much. But the API you provide must be understood by the UI/UX Designer. Think about it!

Originally published at on May 16, 2020.



Enthusiastic about DevOps, ML/AI, XAI & Interpretable AI, Edge Computing and Energy Efficient AI | GGP'22 @ VCC | MSc AI @ UofStA'22 | Ex-SE2 @ Dell EMC

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anand Jagadeesh

Enthusiastic about DevOps, ML/AI, XAI & Interpretable AI, Edge Computing and Energy Efficient AI | GGP'22 @ VCC | MSc AI @ UofStA'22 | Ex-SE2 @ Dell EMC