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>
Dell Venue Pro
Dell Venue Pro