Going through the looking glass

The thought of going through the looking glass
Is frightening enough, a terrifying mission
‘Cos in order for one to step through and pass
One must free one’s mind from its prison

Misunderstandings happen. Users don’t know what you’re talking about. You don’t know they’re talking about. Educating users to the innards of the application is one way. In this article, we’ll look at self-introspection, of understanding your users by changing the way you understand a situation or a problem.

Wear other people’s shoes

Difficult choice by YinYang @ iStockphoto

Metaphorically speaking of course. I’m in charge of maintaining legacy code and existing applications. The general feeling I got was either the original programmer was design dysfunctional, or he was design dysfunctional. The colour scheme was awful. There were buttons and icon buttons that were mystery meat. And placement of user interface elements only had one rule: if it’s there somewhere on the screen, it’ll do.

When you write code, think of your users. Put yourself in their shoes. Even go so far as to wear their shoes. Have you even tried using the interface yourself?

Even if you write non-interactive programs, think of the next programmer who’s going to maintain your code. Is it easy to understand critical portions and modify portions susceptible to change? Appropriate commenting can only go so far. Ultimately it’s what the compiler understands and spits out, not what you understand and write out.

Different perspective

I was having lunch at a diner. It was one of my favourite eating establishments. The staff knew me by face, and even knew what I’d order. I seem to always order the same items, so I try to vary a bit. When I try a new dish, they’d act shocked as if some fundamental law had been violated.

Anyway, I’ve always sat on the tables along the main sections of the diner. There’s this small table at the corner near the entrance. It’s cramped, with enough space only for two, sitting face to face.

I’ve always been fascinated by that table space. So I decided to sit there, taking the seat right at the corner, so I face towards the entrance. With the main diner space on my right, and I’m facing directly towards the entrance and the ordering counter, everything changed.

There I was, snug in a corner, watching people queue, watching people enter and leave. The music in the diner was somewhat muted. The sounds of people talking were compartmentalised somewhere to my right.

The difference in perspective was enormous.

Lost in translation

Recently I received an email from a user saying that he cannot export a report to Excel. The export function was provided by Crystal Reports, and it turns out that there was an issue when Windows Server 2003 was upgraded to Service Pack 2. The error message was “Error detected by export DLL”. (The solution patch can be found at the end of this forum post.) After upgrading, the Excel export function failed.

We’ve always provided the option to export to Adobe Portable Document Format (PDF), Microsoft Word and Excel. Now from the email, it suggested that only PDF and Word were available. So we’re perplexed.

I had to wear his shoes. I had to change my perspective. I had to understand that user queries were sometimes not what they seemed. That sometimes, users lie because they state something they understood in their terms, but mean something else in our terms. Even if both of us speak English.

I did the simplest thing possible. I went to the pertinent web page, and exported the report in all three different formats. It was then that I found that the export to Excel function generated an error. That’s what the user meant by “cannot export to Excel”. If he said there’s an error when exporting to Excel, it would have a different meaning, a more specific meaning.

There could be many reasons why he could not export the report. There were also many reasons why there’s an error in exporting. The confusion in this case was in discerning between “availability of export options” versus “error in one of the export options”.

Going through the looking glass involves looking at yourself with a critical eye. Sometimes it means changing your point of view. Sometimes it involves admitting you’re wrong. Because in the looking glass, your reflection stares right back at you. Are you brave enough to go through the looking glass?