The Microsoft Mobile Explorer,
or MME, is a sort of dual mode browser in that it accepts both HTML and WML code. This
presents all sorts of interesting new problems such as when presenting the same content in
either HTML or WML based on what browser is used, how do you choose between HTML and WML
when this browser supports both. This is not new, as the Opera browser is primarily a HTML browser, but supports WML. The MME
does however present the data types in the correct order, ie. HTML before WML, so if your
browser detection code is correct you should have no problems.
After testing the MME Emulator with a very long list of sites, I have however found that
everyone is using bad browser detection code. Most seem to rely on the fact that the
string "Mozilla" means that it's a HTML capable browser with all capabilities
such as Netscape or Internet Explorer. Be warned! There are many HTML browsers out there
that do not have the word "Mozilla" in their user agent string. Instead, ask
what type of data the browser can accept. This
is an example on how to do that.
Note that the MME Emulator does not accept textual WML code, only tokenized WML (aka WMLC)
requiring (like all WAP devices) a gateway to do the conversion from WML to WMLC.
The MME also accepts images of the JPEG and GIF format as well as WBMPs. In addition, the
MME sends out a HTTP header string called HTTP-DISPLAY-AREA which tells
the content server (webserver) what the display size is. Very useful. If it had only
passed along other info as well, we could be jumping for joy :-)
The MME identifies itself
via the User Agent string as a Mozilla/1.22 compatible device. The complete id string for
the MME Emulator is Mozilla/1.22 (compatible; MMEF20; CellPhone). Again
useful info.
When using the MME Emulator, remember that the device operates in two modes. In one mode
the device will talk to the content server (webserver) directly, and read HTML and/or
tokenized WMLC. Accessing a resource that outputs textual WML in this mode will not work
unless you tell the MME Emulator where to find a WAP gateway. In this mode, all WAP
requests are handled by the WAP gateway, and the device now (with the help of the WAP
gateway) accepts textual WML. |