CyberTech Rambler

October 9, 2006

UI Design

Filed under: Uncategorized — ctrambler @ 4:53 pm

After working on visual presentation of a website, personally designed and improving  a batch processing-based user-interface design, and after comparing the visual presentation of several softwares and website, I am increasingly of the opinion that UI is something we the designers/programmers imposed on you joe users. Need proof? If I am not going to modify the UI, what are you joe users going to do do beside screaming on top of your lung?

Of course we will listen to your input. However, the final decision is mine and mine alone.  Don’t like it? Tough. If my software is open source you can go through the trouble of learning the whole software, create a parallel version of the software with your altered UI. This is called forking. Forking is such a big undertaking that even for seasoned programmers, we do not take the decision to fork easily. If my software is closed source, you either take it, or leave it; No middle ground.

One thing that is a constant struggle for us is to balance the need to keep data accurate and correct versus the need to give our users an easy to use interface. In general, the more check we do on the data, the more hassle we impose on users. This normally means you find your data are not accepted when you hit the “Go” button.  However, increasingly, checks are done as you key the data in. Nonetheless, the effect is the same, you are prevented from continuing if your data has a problem.

Normally, these checks are for mutual benefits. In the batch processing application I wrote, it means your batch processing job has higher chance to run to completion, and I less work in figuring out what goes wrong with your batch processing jobs. As the designer, I can tip the balance either way: I can choose to make checking so rigorious that you have to wait one hour for me to check your data while the actual, total processing time is 15 minutes simply because I just do not want the hassle to figure out why your processing jobs that goes wrong. Alternatively, I can just forget about checking the data, and deal with your “bad” processing job as it comes. It has to be noted that it is very tempting for me, the designer, to go for the first approach, especially when it does not cost me much to program in the checks.

This case is worse when I perceive my needs is higher than yours. For example, I want to keep my database valid and easy for me to perform analysis on the data given. In this case, I “cleverly” design my UI to reject any diversion from the norm.

Think you haven’t seen these type of interface? Think about the online expense form that has 100o possible entries on “what had you purchased” and another 100 entries for “who had you purchased it from”. Or have you ever go to websites or fill in online forms where it takes more than 5 tries to get the server to accept your form when it is not your fault, i.e.  you do not do silly mistakes such as key in the wrong number, but simply because the form designer wants you to correctly select “the way we can contact you on other promotions that may interest you?”. This is because we want to collect these information from you for our benefit, not yours. If you disagree with us, go argue with the computer.

Why this rather long winded arguement? Last week, I decided to go online to pay for my TV license, something I have to do yearly to comply with the law in UK. The website looks OK at first, but I could not get past the first screen for “payment by credit/debit card”. It is not that I did not have all the information I need, i.e., my TV license detail or a valid credit card, but that the form insists that I have to give them an email address for them to email me my renewal notice next year. I don’t want them to do that. I prefers my renewal notice by mail. Don’t put an email address, the form chokes. Put in an email address, and they will email me my renewal notice next year. They are, in effect, trying to impose on to me to accept email renewal notice. So guess what? I am paying by cheque via snailmail.

One other question: Why do I have to tell them when my license expires? Don’t they already have that on the database? They should tell me that. It is fair to ask me for my initial and surname and my license number as a form of ID check. To make matter worse, nobody tells me that they want a four digit year, the only error message I get is my expiry date is wrong and the whole date is “blanked”.

Contrast this with this year’s Travel For Work survey. Clean form, easy to understand field, easy to fill data in and yes, good error correction. I accidentally entered an illegal Post code, the form politely tell me to put in another post code.

So why the big difference? If you asked me, TV license is sloppy because they know that I have no choice but to deal with them. The sinister person in me says that they want me to call them on 0870 number so they can earn more from me. On the other hand, Travel for Work survey knows that they are dependent on my good view to fill in the form, so they take care to listen to my needs, and produce better forms every year.

Oh, by the way, I have to pay for the postage for my snailmail to TV license, just like the form Inland Revenue send me because they think I haven’t paid them last year. 😉


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Create a free website or blog at

%d bloggers like this: