new MS IEMobile user-agents

A couple of weeks ago there was a post on wmlprogramming about the user-agent for the new MSIE Mobile.

MSIE Mobile has always been hard to detect for server-side software. All mobile devices running Windows present the same user-agent.
user-agents changed when new OS versions or browser versions were released, but there is no way to detect the device model from the user-agent. You will never know if the device hitting your site is an HP, HTC or another device.

Manufacturers are free to customize the user-agent. O2 does this most of the times, examples are the SPV C500 and SPV C600.
Unfortunately most manufacturers don’t do this.

So how do you understand that a user-agent that looks a lot like MSIE is actually IEMobile?

  1. the user-agent is not EXACTLY like MSIE for desktop windows
  2. there are some extra headers that you can use

Extra headers set by IEMobile (all versions):

  • UA-pixels: {i.e. 240×320}
  • UA-color: {mono2 | mono4 | color8 | color16 | color24 | color32}
  • UA-OS: {Windows CE (POCKET PC) – Version 3.0}
  • UA-CPU = {i.e. ARM SA1110}
  • UA-Voice = {TRUE | FALSE}

As you can see, from the above data you can probably get some extra information about the current device.
Too bad that this is in perfect Microsoft-style, which is NON STANDARD. If you want to support Microsoft devices you need to do ad-hoc development.

Jumping back to the original reason why I wrote this post, IEMobile is now going to have a new user-agent:
Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile m.n)

‘m’ is going to be the major version;
‘n’ is going to be the minor version.

Not a big step forward in device recognition, you will have to admit!

Anyway, we can clearly see how Microsoft is working towards standardization and making the developers’ lifes much easier. Here is their idea of making mobile sites accessible. When you tailor your page for mobile devices, use this brand new meta tag and IEMobile will not adapt the page:
<meta name=”MobileOptimized” content=”width”>

It goes by itself that this is not standard; that Microsoft made it up on its own and that no other browser on the market supports this.
So forgive me for being so ironic in the text above. I know I gave you the illusion that something good might happen and then it was a lie. Sorry.

If you really want, you can read the full article here:
http://blogs.msdn.com/iemobile/archive/2006/08/03/Detecting_IE_Mobile.aspx

It is sad to see so many comments from the readers excited about the new features… These are not new cool features, IMHO.