A Look At XHTML Basic
Wireless Markup Language (WML), Handheld Device Markup Language (HDML), and Compact HTML (C-HTML), are already popular means for displaying content on mobile devices, and each has its proponents, and critics. An alternative markup language exists, however, in the form of a subset of XHTML known as XHTML Basic.
According to Wikipedia, "XHTML Basic is an XML-based structured markup language primarily used for simple (mainly handheld) user agents, typically mobile devices. XHTML Basic is a subset of XHTML, including a minimal set of XHTML modules for document structure, images, forms, basic tables, and object support. XHTML Basic is suitable for mobile phones, PDAs, pagers, and set top boxes. It will replace WML and C-HTML as more compliant user agents are developed. One large advantage XHTML Basic has over WML and C-HTML is that XHTML Basic pages can be rendered differently in web browsers and on handhelds without the need for two different versions of the same page."
It is the "One large advantage XHTML Basic has over WML and C-HTML is that XHTML Basic pages can be rendered differently in web browsers and on handhelds without the need for two different versions of the same page," section of this definition that has my attention, as heretofore I have been completely happy with my avoidance of XHTML, seeing it as an unnecessary evil.
But facing the challenge of learning C-HTML, the compact form of HTML which targets cell phone and other mobile user agents, when it is already slated for replacement, now seems counterproductive at best. And while I have no desire to replicate an entire web site on a mobile device, but instead intend to offer targeted mobile content alongside my more 'traditional' offerings, investing time in obtaining a working knowledge of XHTML Basic, and by extension, XHTML, seems a wise choice.
The W3C.org website's introductory "XHTML for Small Information Appliances" section states that "HTML 4 is a powerful language for authoring Web content, but its design does not take into consideration issues pertinent to small devices, including the implementation cost (in power, memory, etc.) of the full feature set. Consumer devices with limited resources cannot generally afford to implement the full feature set of HTML 4. Requiring a full-fledged computer for access to the World Wide Web excludes a large portion of the population from consumer device access of online information and services."
As such, and in hopes of avoiding countless, nearly identical HTML subsets incorporated into proprietary architectures as was seen in the "Netscape vs MSIE" browser wars, a common base set of features needed to be established.
"The motivation for XHTML Basic is to provide an XHTML document type that can be shared across communities (e.g. desktop, TV, and mobile phones), and that is rich enough to be used for simple content authoring. New community-wide document types can be defined by extending XHTML Basic in such a way that XHTML Basic documents are in the set of valid documents of the new document type. Thus an XHTML Basic document can be presented on the maximum number of Web clients," continued the W3C document.
Once again, my attention has been aroused by the statement, "Thus an XHTML Basic document can be presented on the maximum number of Web clients." Many of us will remember having to build separate pages for different browsers – a task compounded by developing for different delivery platforms. Creating documents with widespread transparency of deployment will become increasingly critical in reaching a new generation of global consumers, many of whom will either eschew the use of desktop PCs or use their mobile platforms incrementally more.
At the end of the day, the W3C said it best, "Compared to the rich functionality of HTML 4, XHTML Basic may look like one step back, but in fact, it is two steps forward for clients that do not need what is in HTML 4 and for content developers who get one XHTML subset instead of many."
While I am not a professional programmer, I do code my own sites, and as such, need to have a basic understanding of the mechanics involved in this process. My continuing investigation into content delivery for mobile platforms at this point leads me away from C-HTML and into the world of XHTML Basic. Hopefully, this article will help you choose what's right for you.