Deriving this topic from my previous post and trying to pen down my occupational accident with user interface design. Sounds weird, right? Read on..
I vividly remember my first day at job right after college. The square shaped desk and an MS DOS based computer sitting on it's left side with a black & white CRT monitor. A black colored telephone box on the right side of the table. My job as a trainee engineer was to write programs and design circuits. No fancy editors or Auto-CAD was loaded on that computer. (MS Windows was available then). Although my algorithms and firmware kept me interested for a few hours of my work day. I would soon get bored looking at the black & white screen. Thousands of white lines of codes in assembly language on the black background. Those of you who have experienced DOS based PCs would share the sentiment.
I wrote firmware for micro controller based I/O cards. Among the various projects, one that was naturally close to my heart was the HMI ( Human Machine Interface) or user interface card. It had a four line LCD and a telephone keypad ( yes similar to one sitting on my desk). When my supervisor assigned me this project to design the circuit & PCB and write firmware for it, I was super excited. Yes, you guessed it right! I got an opportunity to design my own little computer. Sounded like fun for me. However, I was not sure what I was going to do with it.
The very first task was to map the keys on the flex cable. Then prepare a matrix in order to signal the particular key within the firmware at each keystroke. Very interesting task, indeed! Learned the concept of multitasking through these telephone buttons. It was okay until this point - my keypad was typing the letters correctly as I was able to display and verify from my LCD. But there was no music and I can't do without it! I introduced a buzzer to the circuit and with frequency modulation generated tones from each of the button. For a trainee engineer it was nothing less than the 'Eureka!' moment. No wonder the inventor of DTMF keypad was a psychologist, musician and an engineer from MIT all in one package.
Phew! My keypad was typing the correct letters, little keypad buttons were playing some music now. Something was still missing ( felt that after each task) . How about displaying a splash screen at the beginning on my LCD. What about a screen saver? Sure, why not! But, still it has to do what it has to do right? My HMI was supposed to display the events, signals, error messages, voltages, currents and alarm messages. All that continuously on a four line display impossible! My little telephone keypad had taught me a very interesting concept of multitasking. I used different keys and their combinations to display various items from the list I mentioned above. Scrolling displays ( right to left and up & down), push button display, a screen saver with a real time clock. Some displays based on the request entered by the user. Whoa, it was acting like a computer now! (I was just a trainee engineer back then 12-13 years ago).
I also tried to differentiate various alarms with different tones and flashing screens. I was growing with my project. I realized how interesting the journey would have been for the early PC manufacturers. Thankfully, I got to work on a MS Windows based PC for my projects at my second job.
I remember those gray scale square or rectangle shaped interfaces designed for control systems. I used to whole-heartedly dislike those. I always wanted colored interfaces, simple, intuitive, distinct and fun to use. I tried to incorporate all that in my projects for data management systems, configuration and monitoring control systems.
Human Machine Interface and it's design as the name suggests is the connection between us humans and the machines. I am looking forward to seeing the bridge getting shorter and shorter with time.