A site devoted to discussing techniques that promote quality and ethical practices in software development.

Tuesday, May 10, 2011

No use to defend an indefensibly bad user-interface

I was shown a web application designed to manage project and progress report, a la MS Project minus the Gantt Chart and time lines. I am not a user of any project management software and hence this post is not about its capability, though my shallow knowledge of this topics tells me that it is rather incomplete.

As a software developer with low tolerance of terrible user-interface that only the creator loves, this package has an example that really enrages me into highlighting it here. Consider the following screen capture showing the 'Select All' check box circled in red:


A shaped-eye reader will instinctively spotted something amiss in this diagram; the 'Select All' check box is checked but the other check boxes in that column aren't. Well according to the developer, this is a feature. Let me describe how this 'Select All' check boxes works in this application.

Normally it was not checked and the user can check the relevant row by using the check box which operates in the standard manner.

The minute you click on the 'Select All' check box, it selects all the check boxes in that column. Nothing strange about that and it is the same behavior as in Google's GMail or Hotmail, just to name a few.

However, the user-interface becomes non-intuitive and distorted when you try to de-select all the check boxes by clicking on the 'Select All' check box, which by now has a check mark on it, an operation that comes naturally for all users. In this crazy illogical scheme, the developer literally creates a different class of check box but with the same look and few as the standard ones. A true bastardization of the check box.

When one clicks on the 'Select All' check box the second time, instead of extinguishing the check mark and de-selecting all the check boxes in that column as everyone (bar the developer) expects, this check box maintains the check mark - a kind of one shot check box but not exactly. If you click it in vain attempt to de-select all, it in fact selects all check boxes for you. There is no way to de-select all and the 'Select All' check box is not disabled or grayed out. Because there is no way to uncheck all the check boxes in one operation, experimentation with this 'Select All' check box brings frustration and curses.

The standard check box has a binary state - click it to check and click it to uncheck - and that is the behavior any user expects when one sees a check box and not a distorted one as highlighted.

The developer maintains that it is not a bug but a feature just like so many when cornered into this indefensible situation. I think the developer is wise to read this book and constantly reminding himself that "Your user is not you". In clear vain attempt to defend the indefensibly wrong user-interface, the developer offers this way to extinguish the 'Select All' check mark, which is an other brilliant example of his failure to understand "Your user is not you":
  • Uncheck each check box in the column manually
  • Then press the update
  • The round trip back from the server will clear the 'Select All' check box.
I am surprise that he did not suggest to log out of the application and relog in as that would have done the same job more quickly saving you manually unchecking each check box. Interesting no other users think that this is a brilliant design! My advice: listen to your users as you software is as useful as seen through your users' eyes. Your user is not you or there are more users than developers.

The correction of this distorted user-interface is technically very simple but psychologically difficult as the developer has to admit that it is a bug first; they already have JavaScript code to check each check boxes in the column and it is just a simple process to run the code through to uncheck them. In fact, they expand more efforts in creating this only-creator-loves distorted user interface.

 This software also has another time wastage feature, which clearly has not gone through any user design mock up such as "Paper Prototyping" by Carolyn Snyder.

There is a page where the user has to indicate the progress of each milestone and at which date. The date must be entered by using 3 combo boxes - one for day, month and year as shown here:


This means to enter a date, one needs a minimum of 6 mouse clicks. If the date can be entered via a edit box with an calendar icon to invoke it if necessary, the user could enter the date much more quickly.

But this will require more developer's input validation effort. Since it is already using client side JavaScript, it is not such a big deal with the most difficult task for determining the client's locale.

When you have a dozen or so dates to enter, every saving is a real bonus and the developer should consider redesigning. The current design is really for the benefit of the developer - saving code. In fact, they still need to validate the input. What if someone select 31/04 or 30/02?

Saturday, April 30, 2011

Example of ill-treating your users - Link Market Services

This is a good example of how a company mistreating their users. Link Market Services is an Australia share registry company. It is strange that they add the word 'Services' to their company name as you will see how disservice it is to their users.

Users of this company generally has no choice. They become this company's users by being shareholders of companies that have outsourced the share registry activities to them. Hence in many ways they have no choice and this allows them to ill-treat their users as the follow examples show. This is why they believe that they can afford to ill treat their users.

This company has a chequer history of providing bad services. When it became a share registry company, it did its maintenance update at the very busy time when users querying their portfolio. It did not think that they need to notify their users upon log in that they could not access their portfolio data; very often in many case it simply told me my portfolio information were invalidated but in fact they were not; they were just updating some data. It is just amateurish to say the least.

At one time, it even tempered with my log in password that I needed to complaint to the organisation to have that rectified and assured no security breach.

The latest disservice to their users is when they redesigned their system without forewarning their users and advising them of the changes. They just did it. So users' normal log in no longer valid. Even after they successfully registered, they have lost their previously organised portfolio and they have to start again. I guess it is cheaper to simply ignoring their users because they have no choice.

This is hardly going to earn you, LinkMarketServices, respect and loyalty from your users. As they say leopard does not change its spots is so damn true. This is a real life example of how you do not design a new system without considering migration issues and your users.

Friday, April 29, 2011

Design for only the computer illiterates - AVG Downloads

If you are a developer of download manager and installer of AVG or others, please do not simply develop your download page to cater for the computer illiterates by forcing your users to use the download manager. I know many people will not have any idea which one to download - 32-bit version or the 64-bit.

But there are plenty of people out there that are very competent probably more so than you that can distinguish a 32-bit environment verse 64-bit one. Forcing everyone to use a download manager also is wasting bandwidth. Many people have several machines and it seems totally illogical to have each machine downloading the same thing because your download manager is so dumb that do not even offer the user a chance to save the file.

You should also need to cater for those power users.

Adobe Flash used to be notorious in hiding the place where one can download the stand alone installer but lately it has a change of heart and ditching the annoying download manager. This is much appreciated and a lesson AVG should learn.

In fact, I find AVG so annoying that I have been looking for programs that supply their users full installer for download and one such program is Avast. Indeed I have replaced AVG on several of my machines (real and virtual) with Avast and finding that a refreshingly good nimble no-nonsense replacement of a lumbering monster.

It seems with each new version AVG has gone backwards by a few steps. Now it is draconian attitude in forcing users to use their download manager. What next. Time for a serious rethink of using AVG.

Sunday, March 13, 2011

Definition of a "Bad Design" in software

I came across this succinct definition of what constitutes a "Bad Design" in software:
  1. It is hard to change because every change affects too many other parts of the system. (Rigidity)
  2. When you make a change, unexpected parts of the system break. (Fragility)
  3. It is hard to reuse in another application because it cannot be disentangled from the current application. (Immobility).
Surprisingly, software having these traits are very difficult or even impossible to be unit tested. Hence unit test is often used to a gauge of these bad traits. Don't believe, try it.

Thursday, February 17, 2011

Borders' demise - sad - what'll happen to those DRM eBooks?

When a bookshop of this size filed for Chapter 11, it is always a sad affair not only the disappearance of a place for browsing books but also for those staff that work there.

I can see those shops in Australia closing because it is just not as competitive as buying from Amazon, even including paying for postage and handling fee. This is also true even way before Australian dollar reaching parity with the USD. Furthermore, the technical books in those shops are old and are there only as a token gesture. The best part of a bookshop is for browsing and flicking through pages that often stirring up the impulsive buying. If there aren't any new materials why visit them?

I am more interested to know what will happen to those customers' DRM controlled eBooks managed by Borders if it finally closes down? Perhaps this is a warning to these operators - Amazon, Barnes & Nobles, and others that use DRM - you, the bookshop, won't be there forever and my copy of "Gone With the Wind" physical book is there independent of the existence of the shop/enterprise that sold me the copy. They are actually paid for in full by your customer identical to a physical item. It is not yours!

I do not totally subscribe to the theory that eBook kills Borders
"Electronic book publishing is going to destroy the major chains. The sort of high volume disposable fiction which is their stock in trade, will migrate almost entirely into electronic form over the next 10 years."
There are regular reports that eBook costs more than their hard cover version. Move over, having used a NOOK for several months for reading non-DRM controlled technical eBooks. I can tell you that it is a real struggle to use those eBook readers when one needs to constantly flick between several of those books; they can't handle managing several opened books remembering their locations, etc. Reading a novel is fine but using them for technical research or investigation, give me a stack of physical books anytime or running them on a PC/Notebook.

Sunday, January 23, 2011

Windows 7 Ultimate insult to Tablet owners

Sometimes ago, I reported that Microsoft  has decided not to provide tablet recognizers for other languages unless you pay them more money by buying either Ultimate Edition or Enterprise Edition.

The other day, I have the pleasure of using a Tablet running English Windows 7 Home Premium and sadly the pleasure quickly turned sour when I discovered that the TIP was locked into a keyboard when I selected Traditional Chinese. This confirms that Microsoft's early annunciation is true.

On my old P1510 running the trusty XP Tablet edition, I can use the TIP to write TChinese or any other foreign language. Now greedy Microsoft is giving their user an Ultimate insult by forcing them to buy expensive edition so that they can write in foreign language.

No wonder Microsoft is losing market shares on tablet to Apple's iPad as Microsoft's is blinded by chasing money rather than providing their supporters with better support. Now Micro$oft has taken away something that their supporters naturally expect would be in all editions of Windows 7 as they are in XP. Who would have guessed a supposedly 'better' and 'newer' Operating System has fewer supports, unless you pay more? It is just pure greed.

If you are one of those victims of M$ greed and only wanting to write Chinese, by-pass Micro$oft and buy one of this fantastic tool - Penpower Junior. Don't let Microsoft hold you hostage. This tools can be used in Tablet or non-Tablet.

Monday, January 3, 2011

gpg4win 2.1.0-rc1 making progress

It is nice to report that Gpg4Win 2.1.0-rc1 has made small progress in fixing some of issue unearthed previously with respect to its problem in running in TChinese XP. Now a user running TChinese can use the GPA's user interface to submit passphrase to create a key.

However, the Windows Explorer integration is still failing as reported. Sadly Kleopatra.exe still does not run when the "Language Settings for Non-Unicode Programs" is not set to English.

This Unix-Windows program still has a long way to go to achieve the environmental correctness of Firefox, Thunderbird, or TrueCrypt.

As a result, it is recommended users not to install GpgEX (the Windows Explorer integraion) as it is the very flaky and only works when your "Language Settings for Non-Unicode Programs" is set to English.

GPA is surprisingly usable if you can put up with some very foreign UI and appears to be unaffected by the "Language Settings for Non-Unicode Programs". It also works in TChinese Windows but not internationalized.
It stands out like a sore thumb when other programs in the TChinese XP have localized menu. Surely Unix/Linux is capable of handling Internationalization.

Blog Archive