If you’ve been losing hair due to browser incompatibilities on the desktop, blame your remaining gray hairs on IE 6.0, Safari or Opera bugs and implementation problems, and have felt the calcium leeching from your tired bones while trying to make standards-based sites compatible in older browsers, you may wish to stop reading right now.
As we expand our horizons from desktop to wireless, browser support isn’t going to get easier. In fact, anyone who has done wireless development already knows cross-device and wireless agent development is much more insane than anything we deal with on the desktop.
The battles we’ve fought and ultimately appear to be winning for screen-based browsers have done nothing to inspire those in the wireless manufacturing and user agent environment to think standards. Add to that literally thousands of unique wireless devices, many with proprietary user agent implementations, and if you haven’t gone bald, gray or lost bone mass, you’re about to.
Here’s a little taste, and I do mean a little, of what kind of XHTML support major agents sport.
|Device or Browser||XHTML Support|
|Openwave||XHTML MP (XHTML Mobile Profile) and WML Extensions|
|Access Systems||XHTML Basic|
|AU Systems||XHTML Basic|
Wrong. Despite the simplicity of both the XHTML MP and XHTML Basic specifications, there’s such inconsistent implementation between the individual devices and browsers it’s enough to make a standardista give up the old holy ghost.
Ready for another morsel? If you’ve read this far, you know you are. So here’s a little taste (and I do mean little) of mobile device and browser inconsistencies:
titleelement woes. Some browsers render it as text, some use it properly within existing agent chrome, some use it for bookmarking. Which does what? You’ll have to test to find out, because even devices coming from the same manufacturer are likely to have different rendering capabilities
- Device manufacturers like to confuse us. Samsung, for example, uses the AU System browser but, get this, implements their own rendering engine. That’s almost as weird as Netscape 8.0 and its dual Trident / Gecko rendering engines
- Provider gateways are not our friend. If MIME types and content negotiation in XHTML 1.0 and 1.1 annoy you, try this on for size. Provider gateways can totally influence the rendering of your documents. Some are sophisticated: They let only valid, conforming XHTML through. Some don’t. Some might translate any graphics, or drop them all together
I did say this was only a little taste, right? Well, we haven’t even covered mobile CSS support, which is either very limited or downright non-existent in most mobile environments. Where it does exist, what happens to many of the best practices we teach for the screen? Out the window! Why? Because most existing mobile browsers that support CSS do not cache CSS! As a result, any CSS in use must be embedded or inline.
I’ll revisit CSS in mobile devices on another day. Right now I think I need to go color my hair.
This entry cross-posted to take your comments.
Post a Reply
Comments are closed.