For You or Your Customer

I hate to start on a rant but that's how I get motivated to write. On a regular basis Rogers sends me an email newsletter called Connected in which they present new features and content they are offering across all their services. I recently cancelled my Rogers Television and Internet and only kept wireless so I get all my content now via Apple or other Internet services and view Rogers as a conduit. They're wireless service is fantastic so I'm happy to keep it, but I don't need their electronic newsletter so I click the unsubscribe link in the footer of the email.

I am then presented with this:

Rogers Connected Unsubscribe Form Screenshot






Rogers requires that I specify which communications I wish to opt out of (Connected eNewsletter and/or Connected Magazine), my first name, my last name, my postal code and then my account number.

My immediate reaction was "What the hell?". Besides the slightly laborious form filling I have to either retrieve my last paper bill or log into the Rogers customer portal and look up my account number. This seems asinine for an email unsubscribe. You know who I am since you sent me the email. Clearly the code can be embedded within the unsubscribe link and requires no further effort on my part.

I assume the reason for the complicated details in this case is the second option, Connected Magazine. Presumably if you're cancelling a print subscription Rogers needs more information.

The proper way to do this is:

1. Make the items mutually exclusive. If you want to unsubscribe from just email make it require nothing else.

2. Connect the accounts such that the code within the email can be linked to both email and print accounts and knows what to do. If Rogers truly believes someone will mass unsubscribe your customers using random account numbers then require the postal code as a confirmation but please don't make your customer look up their account number.

The situation here was either caused by a lazy programmer or interface designer who couldn't separate the two tasks, a programmer who is adhering to someone's over architected security requirements or a lazy systems architect who can't connect the print and email subscription systems and therefore puts the onus on the customer to do it.

In the end, you have a customer that is presumably annoyed that they are receiving a piece of email that they never read and annoying them more by having them fill out a form and then have to go look up their account information.

As a designer or programmer, when you're implementing a system you need to ask yourself if you're building it in such a way that has the least amount of friction for the customer to complete the task. Ask yourself if you would be happy as a customer going through this process. If you find yourself substituting a customer action for something you could implement then you need to change or enhance your implementation.

The Developer Hat

Recently our small team's development schedule was seriously slipping. Although the Mythical Man Month tells us adding resources doesn't make a project go faster I had enough product and domain knowledge to speed things up and start coding. It's been been almost a year since I've been coding as part of a project and since that time I've felt something missing from my work life. Coding helps to round out my daily routine and brings out a youthful memory.

I've always found a great deal of satisfaction in building things. As a child I found playing with wooden blocks or Lego to be far more facinating than pre-designed toys. When I received my first computer I quickly tired of the one game that came with it and started learning how to program my own simple games.

Software allows you the freedom to build because it's very accessible but also extremely open. Programmers can easily get themselves into muddled code because software is so free form but we love the flexibility it offers.

Managing software development generally precludes you from being too involved in the code but it's nice to dip your toes in the water from time to time.