On Browser Detection (and software keyboards, apparently)
I'm sitting here at the moment waiting for a BlackBerry emulator to download on my laptop so I can test one of our mobile websites. I have a headache... in part because I had time to conceive, research and write part of a blog post while waiting for the emulator to download (what on earth is going on with their site?), and in part because it just hurts to test on a BlackBerry.
I love BlackBerry -- don't get me wrong. I had one for three years before switching over to the Droid Bionic, and now that I've "upgraded" I can't type anything.(I have actually called people because it would take longer to text them with a tiny software keyboard. But I digress*...) The thing about BlackBerry is historically their web browser has been awful. To be fair, BlackBerry came out with a new OS a couple of months ago that fixes virtually all the problems, but anybody stuck with a phone older than yesterday has a pretty bad web browser... I'm talking IE 6 awful.
The current quandary: how to serve up a mobile website that works well on BlackBerry without ruining the user experience on iOS and Android. The first thing that came to mind was browser detection. We'll just check for old browsers and serve up some special content for them. Much of the time, detecting someone's browser means checking their user agent string to see what it tells you. The user agent is a little bit of text that browsers send along to each page they visit letting the page know what they are. (If you're interested, you can see your user agent here.)
As I started doing some research, though, I found an article about the difficulties of detecting browsers because the user agent string has become so convoluted over the years. It's actually pretty funny -- have a look.
* And here, I continue digressing... software keyboards. If you aren't under 15 years old, you can't work one. On Apple products, the annoying little keyboard auto-corrects every word you type. I can't get through an email without it changing people's names, the name of the place I'm meeting them, and any other important item without which the correspondence would be useless. On my Droid, however, it won't correct anything unless you tap on the correction. "Thank goodness!" I thought when I got it. And then I tried to text.
While writing this, I think I've come up with a great idea. I'm going to see if we can write some software for old BlackBerries that will essentially wipe them out and turn them into Bluetooth keyboards. Wouldn't that be amazing? Carry around your ancient BlackBerry for the sole purpose of entering text into your iPhone. Maybe the sight of such a contraption would give some company the crazy notion to put a decent keyboard on a decent phone.