So in case you're wondering - like I was recently - what the deal is with the markup languages on the new mobile phones, here's the scoop. This is a for you AND me as if I mess something up, I'm sure someone will help me get it straight.
WAP 1.2.1: Let's start with the "standard" markup for phones (in the Western world at least). This is your plain WML that we've been seeing since 1998. What this version gives us over the previous ones is basically color images and push. It's standard on any phone that also supports multimedia messaging (whether it has a camera or not like the Siemens S55 or SonyEricsson T300) since MMS is actually just an integrated WAP application: SMS sends alerts and WAP handles the uploading and downloading of the files. Anyways, if you're developing an online service for the broadest number of phones, this is the technology to use. Adding the ability to see color menus adds quite a bit to the WAP experience, but WML (the name of WAP's markup) is still quite restricting in terms of its design and flexibility.
XHTML-Mobile Profile / WAP 2.0: This is the next generation markup and is what's on the Nokia 3650 and 7250 among others. The two different names confused me for a while, but I think I now understand that these are the SAME thing. WAP 2.0 uses the XHTML Mobile Profile as its markup language just like WAP 1.3 used WML. However, you can use the terms pretty much interchangeably, though I think many people are starting to avoid using WAP at all because of it's negative baggage. The difference between WML and XHTML-MP is night and day in terms of design and flexibility.
If you go to the W3C home page and do a lookup for XHTML Mobile Profile, you're not going to find anything. The reason is that XHTML-MP is not a W3C sanctioned spec, but a WAP Forum/OMA spec. In other words, the DTDs point to wapforum.org not W3C. This is okay by me because all I really want to be sure of is that it's not one company's proprietary spec. XHTML-MP builds upon XHTML-Basic, the simplest version of XHTML there is. Here's a list of tags for XHTML-Basic:
body, head, html, title, abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var, a, dl, dt, dd, ol, ul, li, form, input, label, select, option, textarea, caption, table, td, th, tr, img, object, param, meta, link, base
Recognized most of those tags? Well, then you're on your way to being a next generation mobile devices designer! Whoohoo! The Mobile Profile additions are very simple: support for b, i, big, small and hr tags and internal style sheets. These extra tags are there for the most part to give a base to cHTML compatability and because they're so commonly used. The internal style sheets are pretty key if you want to format each page for standalone use or mark an individual tag with an inline style attribute.
WCSS: And that's really where XHTML wins over WML - the use of style sheets. XHTML-WP uses a subset of CSS1 called WCSS that cuts out all the functionality that would be useless on a phone screen.. The list of styles is too long to list here, but it doesn't look like there's too much cut and unlike XHTML, I've already noticed that if I include a style element that's not supported, it's simply ignored. My resume which I presented the other day is actually a valid XHTML-MP document, without any effort on my part except changing the doctype. Viewing it on my phone worked perfectly and looked very similar, but if the page was more complex - with different div sections making menus and what not - I could easily create an alternate style sheet for mobile devices instead. Same data - different styles. The value of XHTML/CSS starts to really show itself here, doesn't it?
One interesting thing is the upgrade path. WAP 2.0 browsers are supposed to support WAP 1.2 extensions/markup... but Nokia doesn't because it want's to force the upgrade to XHTML-MP as quickly as possible (it actually says that in the docs). Interesting little war going on.
cHTML: And this brings us to the final markup for phones: cHTML, the markup for i-mode phones. Because of the continuing rollout of iMode throughout the world, support for this markup is integrated into many of the devices. In the Nokia Mobile Internet Toolkit I just downloaded, it allows you to choose a special Nokia DTD called XHTML-MP + cHTML. This allows tags that are in cHTML like center, font, and marquee to be included. However, since it's still an XHTML document, it doesn't allow a super-clean transition as the document has to be well formed still - from what I understand.
So that's the whole scoop. From what I understand both i-mode markup and all versions of WAP are supposed to be moving to WAP 2.0, but that remains to be seen as I think i-mode is still doing its own thing for the most part. Personally, I've decided to focus on doing development just for the 3650 and future phones, so I'm only developing with XHTML. I've flip-flopped on this various times because of Tom Hume's insistence that WML is not dead, but it is and we need to move on. Basically, unless I was getting paid for WML work, I'm not going to waste my time doing it. XHTML-MP is just SO much more compelling on your phone, that there's no comparision. The general rule of thumb in my experience is to develop for the highest end devices available today, not at what's common. The reason is that technology moves so quickly, by the time your application is written, launched, debugged and scaled up, the cutting edge will be the norm. That's the theory anyways.
I got a call a few weeks ago from a guy at OpenWave. He wanted to know if I knew of any cool XHTML-MP sites out there. I didn't AND I couldn't find any. (He also talked to me about developing some custom content as well, but never called back. Oh well. OpenWave doesn't seem to be long for this world anyways.) That's the final reason to target XHTML-MP right now, so as to be the first developing cool new content on a new platform. I can't compete with Vodafone Live's packaging of their WAP services, breadth of content or depth of content. However, since Voda is insisting on using WML because it's a common denominator amongst its clients, that leaves an opening for those who target that next level with good looking XHTML-MP content. And it's not like I'm targeting vaporware, Nokia 3650s exist right now and are being sold in the millions around the world... target that phone now and the rest will follow in due time.