I was doing a "little" reading over the weekend about handheld devices, and I just had to open up this entry with this quote from Joel Spolsky made over 5 years ago:
If you keep hearing the same examples, you're in deep trouble -- like the idiot WAP people who talk endlessly about how "you'll walk by a starbucks and the GPS in your phone will coordinate to beam you a coupon for that starbucks." I've heard this same example a zillion times from "location based wireless" architecture astronauts and it amuses me, because it solves the one problem that coffee shops DON'T have, namely, advertising to people who are standing right in front of the store! :)
Yep, that's a five and a half year old quote, and he seems to have been right because you didn't see any of that take shape over the last half decade. It would be like getting the Tomlinson menu sent to your phone while you were standing in the Tomlinson cafeteria because, ya know, you couldn't look up and read it from the big hanging signs on the walls.
To continue on, I don't know anything about delivering web content to mobile devices such as Treos, Palms, Blackberries, etc. I knew there were acronyms out there such as "HDML", "C-HTML", "WAP", "WML", maybe some others that I've never heard of. What they did or what they were meant to describe... I didn't know. Wasn't my thing.
So over the weekend, I spent some hours (more than I care to admit) reading up on what the Best Practices™ currently are, what's the next Big Thing™ in the area, and what are the points of tension amongst the various groups toiling in this field (these are usually the most interesting and most informative).
It turns out, I didn't need to know any of those acronyms. HDML and C-HTML were DOA. WAP is still kicking around as a v2.0 deal and is helping prop up WML. But the W3C Mobile Web Best Practices Working Group released Mobile Web Best Practices 1.0 last year, and the recommendation is:
Services should be available as some variant of HTML over HTTP (see 3.7 Default Delivery Context).
Yep, that's right. Good ol' HTML o'er HTTP. The funny thing is, when I first started researching this, my thoughts were "why are they inventing new markup languages for this?" "Who dropped the ball there?" It got even worse when I found out there was a WMLScript language and a wCSS vocabulary. "Holy Mother of All Reinventions, Batman!" I thought to myself.
Luckily, all of those technologies ended up being in various states of non-start-ness and interoperability amongst devices that implement those standards make IE 5.x on the Mac look easy to develop for. As a matter of fact, WAP 2.0 has been constrained to using HTTP and HTML. From the W3C Mobile Web Initative Terminology page (emphasis mine):
... While WAP 1.0 was engineered to work with distinct protocols and the use of WML (Wireless Markup Language) for content markup, WAP 2.0 stipulates end-to-end HTTP and XHTML-MP, a cut down version of XHTML. This keeps it more in tune with the markup format(s) of the World Wide Web, since WML was a distinct format and content had to be adapted to WML in order to render on devices.
The end result it that delivering web content to handhelds is as easy as delivering web content to printers. As long as you started off with clean, semantic HTML and didn't use tables for layout, you specify
media="handheld" for the CSS rules that should apply when delivering content to "handhelds" a.k.a. mobile devices a.k.a. Blackberries and Treos. The article Pocket-Sized Design: Taking Your Website to the Small Screen over on A List Apart gives a good description and starting points for designing HTML and CSS for delivery to mobile devices. Two other great resources are To WML or not from the W3C Mobile Web Best Practices Working Group Weblog and the W3C Mobile Web Best Practices checker.
That's it. Just wanted to share with everybody a heaping helping dose(s) of reading material on delivering web content to mobile devices. May it bore you like it did me. (Or you can just choose not to read any of it, which is an entirely reasonable thing to do.)