If you are developing a mobile site you will quickly find that compatibility issues between different phone models makes IE6 look like a benchmark for web standards. It is frustrating to say the very least. There are thousands of handsets out there, each with its own quirks. To develop the site itself will take a fraction of the time than to learn every handset’s unique quirk.

I stumbled upon Yahoo! Blueprint. An absolutely brilliant concept, if only it handled anomalies better. First, let me explain the concept:

Blueprint is basically an XML template language. You mark up your mobile template with Blueprint’s special XML markup and Blueprint will render the appropriate (X)HTML/markup for the device based on the device’s specification. In other words, it renders device specific markup and you don’t even have to know anything about any handsets. All you need to know is the Blueprint markup language.

After you’ve marked up your templates, you create a config.xml file which tells the service where what is on your server, and upload it to Yahoo!. You can then alias your mobile domain and if someone goes to http://m.yoursite.com Yahoo! Blueprint identifies your device and based on that renders the appropriate markup for your device. Although I would have preferred for the rendering engine to sit on our own server, even this is not a deal breaker for me.

voda-phony
(image found on http://mirrorcracked.files.wordpress.com)

The big issue I have is with Vodaphone. Lets just say that Vodaphone worldwide has some pretty questionable tactics and this it is not solely Yahoo!’s fault. Vodaphone for some reason hides the user agent details (user agent specifies the operating system and browser used to open a URL) of phones connecting through a Vodaphone connection. To find out more, read this rant by Luca Passani. His rant is about Vodaphone UK, but I tested this and exactly the same thing happens here in South Africa.

The big issue with Yahoo! Blueprint however is that because it cannot identify the device based on the user agent it sees the handset as being incompatible. It then renders a default page which states that you must either download Yahoo! Go or Opera Mini to be able to access the site. So you download and install both, just to find the exact same message in both Yahoo! Go and Opera Mini. Why? No matter what you use, Blueprint cannot identify your user agent!

My gripe with this is why don’t Blueprint just try and handle it more gracefully? Why don’t they then just render the site you are visiting in plain (X)HTML or something and still try to display it rather than rendering an error page in (X)HTML that does co-incidentally works :P ? As I said, less than ideal. My advice would be to simply stay away from it, until such time that it is resolved, which I seriously doubt would be anytime soon.

Pity, since it is a good and solid idea!

Welcome back! You should subscribe to my RSS feed here.
You should follow me on Twitter here
You should follow me on Gatorpeeps here.