XHTML MP can trace its routes all the way back to 1994, when Openwave first created HDML (Handheld Device Mark-up Language). While similar to HTML, HDML included phone-specific features, such as support for soft-keys, and introduced a deck/card paradigm whereby a single page, or "deck", could contain multiple "cards" which would display independently of each other, but, since sent down to the mobile device all at once, could be cross-navigated without having to retrieve additional data from the server (this was done with the best of intentions - it proved to be a colossal pain in the ass).
HDML was proprietary, and thus deemed unsuitable for global adoption as a standard. Openwave donated HDML's IP to the newly-formed WAP Forum, a consortium of Openwave, Nokia, Ericsson, Motorola, AT&T, and others, to create WAP 1.0 in 1999. It should be noted that WAP itself is only standard - a set of specifications, one of which dictates the markup language to be used. WAP 1.0 used a language called WML (Wireless Markup Language) which retained the deck/card metaphor from HDML and added only minor features. While sure to be mostly supplanted by XHTML MP, the WAP 2.0 standard mandated that all its phones be backwards-compatible with WAP 1.0, so WML will likely not disappear entirely (much to the chagrin of developers everywhere).
WML was suited to build application for devices with small screens. One disadvantage was the requirement for developers to learn a language that was somewhat different from HTML, the language at the foundation of the World Wide Web. For this reason, some carriers and phone manufacturers inside the WAP forum felt that the wireless mark-up should evolve in the direction of HTML to make developers' lives easier (and development more economical). Simplifying somewhat the situation, it could be said that:After many years of discussion about convergence with the W3C specifications for the wired web, the WAP Forum introduced XHTML MP and the discontinuation of WML 1.X. The convergence to the big web had been realized. with a cost of the loss of some usability-related functionalities, which are expected to become less important as devices become more capable..
- WML had the advantage of facilitating the creation of more usable applications, at the cost of increased complexity and cost for developers.
- HTML would lead to less usable applications, but would restate the continuity between Web and Wireless
One must review this quote, from Openwave's own site, with appropriate skepticism, admiring Openwave's penchant for understatement. It is no secret that WML's convoluted syntax and rigid restrictions (e.g. maximum page size) severely hindered developers' ability to deliver content with the ease and flexibility they had previously been used to with HTML.
HTML, a standard in name only, evolved in a hodgepodge, backwards manner: instead of creating a standard with which developers could then work, each formal release essentially caught up with the modifications made by developers working outside its governing body, the W3C. The desire to reverse this trend coincided with a growing demand to have HTML subsumed by the broader XML framework, and thus XHTML was born in January of 2001.
XHTML is ultimately intended to be a modular language. This means that all elements and attributes of XHTML as a whole will be contained in modular subsets, each with their own schemas, all using XML to both define data types, and encapsulate the data itself. In other words, as noted in XHTML Modularization - an Overview, "The ultimate goal of this reformulation is that XHTML and its descendants will be useful in environments where there are no preconceived notions about the semantics of any element or attribute (generic, adaptive XML environments)."
While this results in some broad upcoming changes with respect to browser and markup development, they are still several years away, and not germane to this introduction. The chief development of this modularization process with which we should be concerned here was the creation of XHTML Basic.
XHTML 1.1, of which XHTML Basic is a part, is largely a stepping-stone: an interim measure which satisfies business interests by providing an immediately usable language with real fiscal benefits (in the form of efficiency/process improvements) while appeasing the lofty (but admirable) goals of academics and forward-thinking business strategists aiming to unify all future markup under the aegis of XML.
The purpose of XHTML Basic is to provide a minimum set of features needed for the creation of simple XHTML documents.
Another module-based XHTML-family document type is "XHTML Basic". The XHTML Basic document type includes the minimal set of modules required to be an XHTML Host Language document type, and in addition it includes modules like Images, Basic Forms, Basic Tables and Object. It is a subset of XHTML 1.1, and is designed for Web clients that do not support the full set of XHTML features. The document type is simple but rich enough for content authoring.
XHTML Basic is designed as a common base that may be extended. For example, an event module that is more generic than the traditional HTML 4 event system could be added or it could be extended by additional modules from XHTML Modularization such as the Scripting Module. The goal of XHTML Basic is to serve as a common language supported by various kinds of user agents.
It helps to think of XHTML Basic as a super-stripped-down version of HTML, without support for frames, CSS, javascript, and a number of other elements, chiefly used for formatting. Of importance is the mentioning of XHTML Basic's ability to be extended, as this enabled the WAP Forum (now part of the OMA - Open Mobile Alliance), recognizing it as the best starting point for cross-platform mobile content delivery, to tack-on support for additional elements and attributes, creating XHTML MP in the process. So, without further ado...
XHTML MP (Mobile Profile - created October 2001 by the OMA) is what is meant when we talk of XHTML in any sort of wireless carrier context. It's simply XHTML Basic plus WCSS support (a subset of CSS styles for use on mobile devices) and some other formatting elements already familiar to those with HTML experience (<b>, <i>, etc). It's the markup language for WAP 2.0, just as WML was for WAP 1.x.
With the inclusion of these modules, mobile devices finally have a markup language which is streamlined enough (the use of CSS and elimination of extraneous tags greatly reduces document size), robust enough (thanks to XML), stylish enough (thanks to the aesthetic controls added to MP), and familiar enough (through the use of standard tags already widely used) to enable acceptable delivery of content.
While very similar to old-fashioned HTML in many respects, one should note that as an XHTML, and thus XML, document, XHTML MP files need to be "well formed". All tags need to be lower-case, attributes (e.g. href="some_url") should be surrounded by double or single quotes, and tags need either be paired (e.g. <tag></tag>) or incorporate a forward slash at their end (e.g. <br /> and <img />). While HTML cuts you some slack here (in the form of tolerant browsers), XHTML will not. Each XHTML MP document needs also to have a DTD declaration at its top.
As of this writing, the only phones I've encountered which fully support XHTML MP (including incorporation of WCSS) are some of the newer Verizon phones (which use an Openwave browser) and some Nokia models (the 3650, 3200, and 6600 - using a proprietary Nokia browser). Other models, such as the NEC 525, support XHTML in some form, but do not meet all the requirements necessary for standards compliance. This will no doubt change as carriers begin to push their XHTML MP initiatives - Verizon and AT&T are already underway with this.
The advantages of XHTML MP are myriad. Here are some:
WAP 2.0 has already gained a strong worldwide foothold. In Asia, KDDI's "au" (3g) service has been delivering XHTML MP content to its users since late 2001, and now boasts over 10 million subscribers. Vodafone Live! (Vodafone's 3G all-in-one service in 16 mostly European countries, heavily reliant on XHTML MP) recently topped 3 million worldwide.
With their recent mMode 2.0 launch, AT&T Wireless has firmly committed to WAP 2.0. Having already invested considerable resources into their previous WML WAP portal, migration to XHTML was a logical, though not entirely painless, progression. Currently only a small minority of their handsets support XHTML, but this includes their flagship phones. WAP 2.0 capability should soon trickle down the price ladder. Despite their limited device support, AT&T is running the most extensive XHTML portal, and remains the most firmly committed to WAP, out of the major U.S. carriers.
While late to WAP in general, Verizon Wireless has indicated that WAP 2.0 will be a priority in 2004. This will consist not only of the deployment of several compliant handsets, but also a total redesign of their browser portal with XHTML specifically in mind. Verizon believes this will better deliver dynamic mobile content to its users, specifically news, weather, email, and other information services which lend themselves to browser-based conveyance. Development is already in the preliminary stages, with launch in the first half of '04.
Sprint PCS carries several devices which support WAP 2.0 (including, but not limited to, Samsung A500 & N400, Hitachi P300, LG 5350, Sanyo 4900, 5300, & 6400), but is not placing nearly the same emphasis as AT&T on its integration, opting to rely on J2ME. This is somewhat paradoxical: they now support WAP 2.0 on a wider selection of phones than any other domestic carrier and will continue to do so, but do not appear to have the appetite for a proportionately advanced portal. It is conceivable that they are simply positioning themselves to enable a quick roll-out should it prove worthwhile in the future.
Cingular, Nextel, and T-Mobile currently offer little indication that they will pursue WAP 2.0 with any vigor. All offer handsets with XHTML MP support, but do not provide any services which take advantage thereof.
Excised from History of XHTML Mobile Profile.
Tags available in XHTML Basic:
| Module | Element |
|---|---|
| Structure | body,head,html,title |
| Text | dfn,div,em,h1,h2,h3,h4,h5,h6,kbd,p,pre,q,samp,span,strong,var |
| Hypertext | a |
| List | dl,dt,dd,ol,ul,li |
| Basic forms | form,input,label,select,option,textarea |
| Basic tables | caption,table,td,th,tr |
| Image | img |
| Object | object,param |
| Meta information | meta |
| Link | link |
| Base | base |
Tags added with MP:
| Module | Element/Attributes |
|---|---|
| Forms | fieldset,optgroup |
|
start attribute on ol, value attribute on li |
|
| Presentation | b,big,hr,i,small |
| Style sheet | style element |
| Style attribute | style attribute |
Please send errors, comments, suggestions to michaelorland [at] yahoo [dot] com.