WML - Wireless Markup Language
What is the Wireless Markup Language (WML)?
WML is a markup language designed especially for specifying and displaying content on WAP (Wireless Application Protocol) devices. WML is part of the WAP application environment, which requires the use of WML.
WML is the wireless equivalent of HTML for the Web. WML is based on XML and derived from xHTML (the XML version of HTML). There are many differences between WML and HTML. For example, WML has a different mechanism for linking between its pages called "cards" as compared to linking between HTML pages. WML browsers are stricter than HTML browsers by not being tolerant of errors. WML browsers enforce the WML requirement of matching closing "tags", an XML characteristic.
WML works with the WAP micro browsers found on WAP devices. This browser is cognizant of the limited capabilities of WAP devices such as
- small displays,
- limited processing power,
- limited memory,
- narrow bandwidth connection, and
- limited battery use without recharging.
To address the limitations of WAP devices, WML uses the metaphor of card decks, and each page is referred to as a card. The card is the basic unit of navigation and user interface. The user can view only card at a time. WML browsers read the whole deck (complete document) from the server to minimize interaction with the server. Consequently, when flipping (navigating) between the cards in a deck, the browser does not contact the server. This eliminates delays (because each card contains very little text and users are likely to move quickly from one card to another).
A WAP deck is the equivalent of a Web page, the card being the portion of the Web page that can be seen on the screen. Navigation within the cards of a deck is done within the WAP device just as scrolling a Web page is done within the Web device. (without contacting servers in both cases).
An HTML writer does not worry about screen or display boundaries. Instead, the Web browser manages issues relating to the screen boundaries. But a WML writer must be aware of screen boundaries of WAP devices when writing code for cards.
Web server requests are routed through WAP gateways (proxies). A Web server may generate WML content for WAP devices or it may simply dish out HTML (XML). In case the Web server generates HTML (XML), the WAP gateways must convert the HTML (XML) to WML. Before sending the WML to the WAP device, the gateway compresses it to WMLC (the C in WMLC is for compressed). If the WML generated by the Web sever is WMLC, then the compression step is skipped.
Incidentally, converting HTML automatically to WML typically does not produce good or even usable results. For best results, Web servers should generate WML for WAP devices.
What are the Advantages of WML?
Like HTML, WML is easy to use. However, compared to HTML, WML has the following advantages in the context of wireless:
- WML is part of the WAP standard and its use is required.
- Transmission of WML (WMLC) documents requires less bandwidth compared to HTML documents because WML documents are simpler and WML is compressed before it is sent to the WAP device.
- Compared to HTML documents, displaying WML documents requires less processing power and memory. Consequently, a WAP device can work with a less powerful (cheaper) CPU and the use of less power means that the battery can operate longer without recharging.
- WML provides support for limited graphics with a limited gray scale.
What are Some Limitations of WML?
- Like HTML, WML does specify how the content is to be displayed. Thus micro browsers on different WAP devices are likely to display the WML content differently.
- WAP devices such as WAP phones will not accept large decks (1.4K for some WAP phones).
- There are many variations between WAP phones, for example Screen sizes, keypads, and soft keys can be different. Consequently, WML decks should be tested on at least the important WAP devices. This variation is similar to the variation found with Web browsers and their platforms. The problem is harder in case of WML because there are many more WAP devices than Web browsers and their platforms. Also, it is harder to figure out the "least common denominator", i.e., set of features that will work reasonably well on all or most WAP devices.
Where Can I Find More Information?