Sunday, December 27, 2009

Help the user to learn along the way

This article is about user interaction design and how does the application help them not just completing their task but help them learn along the way.

I have been supporting a lot issue from my client. Sometime, user/QA is lack of experience/traning on business process as well as the product they're using. This lead to a lot of question regarding business process instead of solving the real problem (e.g. error testing, bug finding). Questions such as:

1. Where this value/result come from?
2. Why this record have this behaviour/status and changed the next hour?
3. What the application is doing and what does it mean? What this error mean and why it is there?

From the above questions, therefore the application needs to be able to do the following:

1. Teach the user how to use the application. (e.g. step wizard, interaction help, tool tip tutorial)
2. Explain to user what is going on. (e.g. Icon, symbol, picture to inform the user what's currently going on or current status)
3. Program error tracing and logging needs to be meaningful not just for developer but as well for users. Therefore, one error may be used by both user.

In conclusion, this is just a fairy tale. Sorry to disappoint and took your time to read this article. If you don't mind further reading, below is what are the excuses why the above solution will not be implemented. This is what the developer/management will say:

1. Step wizard, interaction help and tool tip took too much time and resources to implement. Our hands are full for project implementation/new programming language/new technology.
2. We don't have graphic/design team for icon, symbol and picture to help user to explain what's going on.
3. Support team will be out of work if user don't need them or know what's the error mean.

Well, this is the real world but hey, at least the support team can secure their job. :P

Tuesday, December 22, 2009


I'm in UK now working on a migration project with a team of 5. My intuition tells me that this project is not going to make it on the pilot phase (minor deployment before the full phase) where there are too many issue raised (requirement mismatched, new development added and etc. All except extending the deadline).

Well, today it seems the director himself has decided to extend the testing phase (increased UAT test phase) based on the "obvious" client's and QA respond (I find management staff seems to be slower on catching those feedback) on those issue. Although they are not too many but serious financial calculation flaw and data miss-mapping. This news has really pull some sweat off my face and save my day.

Probably you would be asking why this would happen. Lack of planning (especially on testing phase), roll out new product without internal testing (release a new product straight to client), unconfirmed specification (feature keep changing), data conversion logic was done by the other team and issue reported on data miss-mapping does not fixed soon enough for next load. All these almost driving me crazy and plus Project Manager keep adding more task which are not putting the data mapping in first priority (I was wondering whether I was in conversion team). Therefore, I am happy when I heard the news and obviously my project manager are not.

I'm working on a article about transparency programming. Sort of fantasy tale where development won't bother this sort of stuff. But I think it's worth writing. Anyway, it was delay due to a free MMORPG game I was playing. Very addictive stuff. I need a rehab for pulling myself away from it. I recommend to someone who needs to team building spirit because you can't finish all the quest alone. Everyone needs everybody's help along the way. I have tried recruit a team for a quest, lead the team, become a team support, on the front line and best of all, interacting. (See, that's why it's addictive)