“Just because you can doesn’t mean you should.”
We’ve heard that — maybe we even said that — yet we still do what we can, even when we shouldn’t.
Today’s case in point: AAA, the well-known automobile club in the US, won’t let me look at New Mexico’s AAA website because I’m in Michigan.
A friend of mine, who lives in New Mexico, entered a local AAA-sponsored photo contest. When his entry garnered a prize, he was excited enough to post the photo and a link on Facebook.
When I clicked on the link from my home in Michigan, instead of getting the page, I was redirected to the Michigan AAA website. No matter how I tried to get to my friend’s New Mexico page, AAA sent me to Michigan.
When I clicked on the link from my mobile device, instead of getting the page, I got a question: “What’s your ZIP code?”. Not knowing what ZIP codes are in New Mexico, I gave it a ZIP code in California. Sure enough, I was sent to AAA for “Northern California, Nevada and Utah” — but not to the link that I wanted.
What is going on here? Why can’t I see my friend’s photo and congratulate him?
My best guess is that the developers learned that they could find out where you were connecting from and get the ZIP code for that location. This is easily available from websites like IP2Location or by API from IPInfoDB.
By looking up your ZIP code, they could send you to your local web site. How clever this is! Now a user just goes to “AAA.com” and is automatically sent to their nearby site. That’s a good thing.
But … wait a minute! What if I want to see some other location’s site? How do I get there?
Upon investigation (yes, “hacking”), I found a cookie in my browser under “aaa.com” marked “zip-code”. And it contained my ZIP code — well, actually, it contained a neighboring ZIP code, since my IP address is associated with a nearby ZIP code. Once that cookie is in place, every attempt to go elsewhere landed me back in Michigan.
Could I ever get to New Mexico? Well, yes, but it took a bit of brute-force insistence. First, I had to find a ZIP code in New Mexico — so I found one for Santa Fe (87508). Then, when AAA showed the Michigan home page, I took the URL in the address bar and rewrote it. The Michigan site URL included state name, ZIP code, state code, and city name, so I replaced all three, until it read:
Well, that will work for someone who is an HTML/Web app geek — but what about everyone else? Sorry, you’re out of luck.
There is a point to this — it isn’t just a rant. And the point is : when you are thinking about software design, you need to pay careful attention to the user experience. Yes, you CAN find out where (you think) they are and you CAN route them to a nearby location and that WILL be more convenient … most of the time. However, if a user says “I want to go to THIS web site” — if they are following a link — don’t intervene. Intervention and rerouting will definitely NOT be more convenient. It will be confusing at best and annoying at worst.
This is not a software problem. It is a software developer problem. Think about the application experience carefully before you adopt this cool, new thing. Especially think about the user.