Archive for November 2011

To be a programmer (part #2): Usability   Leave a comment

In the previous post I have mentioned about systems and the process involved in designing and developing systems. What you learned based on it is expected to help you in becoming a good programmer in the sense of requirement analysis and technical architecture. A good functional specification is only one part of developing a good system. Of course, the technical side also should be good, but it’s just the concern of the developer. There is another key factor which the user is really concerned on. I will try to guide you through this new interesting area.


Why is it always felt that the giants like Microsoft, Apple and Adobe are the only ones who can create popular applications or systems easily? Why reviewer gives 5 starts to some unique products whose vendors are not event listed in NASDAQ? Why we tempt to use some ugly looking software to convert video files or documents to PDF?


Do these ring any bells? Yes, it’s not just the requirement or technology that drives users in for these soft tools; it’s their usability and uniqueness.


Usability seemed to be the most prominent factor that attracted me to some software tools. From the beginning of my DTP life I havebeen pulled to tools from Microsoft, Adobe and Corel. These tools gave the best inhabitable environment in the DTP world. Some people have argued pointing to some specific features that some other tools offered, but, that was not thought as a convincing one compared to the usability of the tools I was happy with.

Some features that are very friendly

  • on a new line in MSword type in a asterisks followed with a space and a statement, then press enter, a bulleted section will be automatically started
  • Try holding the Alt key while (drag) using the move ore select tool in Adobe Illustrator, you will get duplicate object. Pressing Alt key while applying transformations will bring duplicates and also bring repeated actions, this will help you create easy figures, specially while drawing flowers
  • A combination of ruler tool and arbitrary rotate menu command will help you easily correct slightly angled photos. The ruler will automatically enter the correct angle to correct the error, yes, this is in Adobe Photoshop


In the same way command mode tools like greps, sed, awk, etc. have penetrated into my systems only because of the usability and the unique simplicity. If you have ever needed to work with text and patterns you should try these tools.


Now the real tough job is: how to bring the Usability in? The easiest method is to be in users shoes and walk along. This option has many drawbacks – not exactly a result issue – the most important of it is the domain knowledge of the designer. Not all systems are build for expert robots, and we cannot tell that the systematic process will be followed, if that was the case we must need no input forms or UI or error checking, so we are in real world and people are looking for easy options to do this fasted and effectively and hopes to make les mistakes.

Usability comes at following interactions:

  1. While entering repeated or bulk data – here users always want to do some way out by expecting import options or default values
  2. Cross verifications – users usually gets stuck with data that are missing in part. Let me explain, if an entire record is missing that will be easy to find out, but when a specific field from linked information is missing or is incorrect, digging it out will be a real challenge. So people expect some data mining. The most popular activity now in air is reports – some times lots of them that you may need to add a big description to remind you what this report will help you find out.
  3. Moving around – can also be termed drilling down information. Here users expect a definite flawless flow from different levels. Usually this is something related to the visual presentation of the information. An attractive easy to use ‘navigation’ will attract users to se the system.
  4. Configure or setup – from a small monitoring script to expensive software suites require configuration before it can be used once. If a configuration process is too complicated and is not well documented users will try to avoid using such systems – or the developer/implementation team will need to respond to huge number of support calls.
  5. Migration – may be from an older version or from a manual or entirely different system. In both case the system architect must try to minimize the hiccups. Terms like backward compatibility, seamless migration, auto upgrade, etc. are very catchy for users and their IT department.
  6. Notifications or Errors – the best usable notification messages are those that end users worry about the issue. The worry can be ended by;
    1. Pointing out the exact reason for the notification
    2. Suggesting a recovery option or a remedy
    3. Pointing to the exact help (support call or help document)

These messages are to be constructed with an aim to help both the user and the developer. All message should have connected reference number that will help the developer to get to the root cause, this usually saves hours of debugging efforts.


Posted November 19, 2011 by jsusmer in Lesson, mind waves