Motherf*ck’r, Press 1!

I loathe automated telephone answering machine services. They are horribly designed and generally annoying which doesn’t do my sanity well. I usually try a combination of zero, star and pound to get to a live person on the other end. In some cases, the system will actually hang up on you if you attempt such a thing. (I’m looking at YOU telus!)

Anyway since coming back to ICBC, my new desk has been situated right beside one of the programmers of our automated telephone answering machine system. For whatever reason, they have the incessant need to keep testing the system with their speaker phone on the highest possible volume. This is what I hear on most mornings: “Hello, welcome to ICBC…” *hang up* “Hello, welcome to ICBC to report a claim. Please press 1″ *hang up* “Hello, welcome to ICBC to report to a claim. Please press 1″ *hang up* “Hello, welcome to ICBC to report a claim. Please” *hang up*

It’s loud. It’s repetitive. It’s annoying.

I guess you can’t really fault them for testing their system. I suppose if I went crazy, snuck up on them and strangled them from behind, you can’t fault me either.

8:48 am 5 Comments


A quick snapshot into a company

I came to the realization recently. A company’s personality can be directly reflected with the code that their engineers produce. That is assuming that the company has engineers that produce code, otherwise this doesn’t really pertain to you does it?

Let me explain. A company with organized, commented and structured code is probably a company with strong processes and excellent developer support. It implies that developers and business requirements are in sync, and they’re given the opportunity to write good code. However code that is not readable, lacking in comments, messy and unclean could suggest that the company has little or no process, many changing requirements and priorities or has a lack of development support.

I mean, take this advice with a grain of salt there are always exceptions to a rule. I’m not saying that poor code will always suggest these symptoms. I am definitely not saying that it is all on the engineers to correct everything, and sometimes it isn’t all the management’s fault either sometimes engineers are just lazy.

And I mean, it isn’t just code. Accounting firms could have horrible book keeping, design firms create bad products and law firms have messy libraries of books. I just use code cause well, that’s what I understand.

10:30 am 0 Comments

User centric design

Everyone knows that I’m probably more technical than most people out there. I code, I use Linux, I can administer your network and I can probably (most likely) snoop on what you’re doing on the Internet. However, today (or at least in this post) I am an advocate for user centric design. I was taught in school to do requirements analysis before building anything. Meaning: figure out what you’re going to build before you actually build it. Make sense right? Absolutely, but lets take it one step further.

When most people they think of user centric design they usually think usability (testing). Which is great (according to Jakob Nielsen you’re in stage 3 of 8)! See, usability is usually done after the design has been conceived and you need to validate it. Meaning: you have a prototype in some shape or form and now you want to validate it with actual users. Not very good however when you’ve spent weeks writing some code and your usability tests yield that you have to rewrite a good chunk of your app.

User centric design is a mindset, I believe. It is a mindset that we technical people must adapt to evolve with the changing times. Usability is definitely a first step. It opens the eyes to this mythical user. But it cannot stop at just usability. This mindset of understanding and building things for the user should be kept throughout our whole design and development process. It also includes choosing the right tools and methodologies. One thing to note: unless the ‘user’ is technical (a coder, a Linux user a network administrator or a general geek), the ‘user’ probably isn’t you.

For example, when doing a requirements analysis, why not draw out how you see the application functioning on the screen with a pencil and paper? Use cases are fine, but they usually just tell us that a user needs to put widget A into container B. It doesn’t tell us HOW the action should be carried out. Is it dragging and dropping? Is it a file upload text box? Is it somewhat automatic and predictive? A quick drawing with arrows and stick figures (I kid you not) really does help you validate that picture in your head with a user.

There are a tonne of examples out there from many different advocates. I just wanted to contribute my own opinions. If you’re still interested (meaning: I didn’t bore you to death) here are a few links that are definitely worth checking out:

If anyone has anymore links (aside from the ones that I’ve listed above) or even opinions/questions, please feel free to post in the comments.

9:20 am

I've never been good at writing about me/site pages. It seems too much like self-promotion and being the stereotypical passive-agressive asian; I would rather walk around a crowd and into a train rather than interact with a bunch of people. I'm shy that way, which also contradicts this website that talks about me and my life. My friends and family would care to disagree though, since they've seen my crazy & loud side. More »