Explore the Browser User-Agent in Windows Phone Mango

mango-iheart

Many web programmers use the User-Agent field in the request header to identify what operating system, browser, and browser capabilities are coming at their programs. The User-Agent helps characterize the client so appropriate customizations can be rendered.

Windows Phone "Mango" brings a new HTML5 browser based on IE9. So what should web developers be expecting in terms of the user agent?

The general format of the user agent string is as follows:

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; MANUFACTURER; DEVICE)

Where MANUFACTURER and DEVICE are replaced by, well, the actual manufacturer and device.

Note the OS version in the User-Agent is 7.5. Even though running System.Environment.OSVersion yields "Windows CE 7.10.7712". Ducking and covering less another kevin-rant come my way on that one.

The Windows Phone "Mango" Emulator yields the following User-Agent:

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator)

A Dell Venue Pro running on "Mango" offers up the following User-Agent:

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; DELL; Venue Pro)

Here is the User-Agent for Windows Phone 7.0 for you to compare to (off my daughter's DVP):

Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)

For reference, the code I used to render the User-Agent strings is below, along with screen shots from the emulators and devices.  Enjoy. 

 <b>navigator.useragent</b><br />
<div id="useragent"></div><br />
<script type="text/ecmascript">
    document.write("post block");
    document.getElementById("useragent").innerHTML = navigator.userAgent; 
</script>
UA Windows Phone Mango Emulator MangoEmulator Windows Phone Mango UA Dell Venue Pro MangoDell Venue Pro Windows Phone 7 UA Dell Venue Pro WP7Dell Venue Pro