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 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.