WAP - Wireless Application Protocol



www.wapforum.org



Contents

What is WAP ?
How to use WAP
How do I create a WML page ?
Problems with WML page development
Is it worth creating WAP pages ?
Real life problems encountered
Trademark Acknowledgements and Legal Notices
WAP Resources


What is WAP ?

WAP TM, Wireless Application Protocol, is a collection of protocols and transport layers which allow mobile and portable communication devices such as mobile phones and Personal Digital Assistants ( PDA's), to receive information over the airwaves much as personal computer users obtain information over the internet.

As with a computer connection to the internet, there are a number of things involved, some are visible to the users whilst others are hidden away in the background.

From the user's perspective, using WAP is much like surfing the net on a personal computer; the mobile device is fitted with a small, or not so small, display which can be used just like a desktop browser.

Information sources can be selected which are then downloaded and their content is displayed. Hyper Text links and buttons can then be pressed to move around from page to page. Simple.

In this respect, there is very little difference between WAP browsing and desktop surfing, but, behind the scenes there are considerable differences because of the medium through which the information must travel, over radio waves rather than along hard-wired or telephone lines.

Most of the technology involved is of little importance to the average user, how information is taken from a server, how it is translated into packets, how it actually gets transmitted to the phone and received and how it is decoded has little bearing upon how the pages are created by an information provider and seen by a viewer.

Most people will probably not even be concerned with where their data comes from and will be happy to select from a list of available information sources and look at the information they receive; stock market movements, weather forecasts, news and other such things commonly found on the internet today.

A number of people are however interested in being able to provide information which these people, using their mobile devices, can receive. These will be the sort of people who already have their own web pages and want to cater for the growing market of mobile users.

As those who have web pages know, what one can do with their web pages depends on what facilities they have; most home users have their pages hosted by an Internet Service Provider ( ISP ), the lucky few, and many companies, run their own servers, permanently connected to the internet, and are able to perform a lot of tricks which ISP hosted users usually can't.

If you don't run your own server you are generally limited to providing static pages which can only be changed by editing them on a local PC and uploading them via FTP to the ISP. Those with servers can run software which allows them to create pages which continually update, can respond to viewer's button pushes and can deliver, what is known as, real time information.

Whilst these later users will be able, like they are on the internet now, to provide the most dynamic, and up-to-date, content there is no reason that those of us with static sites ( like the Happy Hippy's Home Pages are ) cannot also provide content for mobile users.

There may be less of a scope to provide useful information to the mobile phone user than there is compared to that which PC surfers want. Mobile phone users are likely to be after quick, short, shots of information rather than long essays like this; the small screen sizes of some devices can make anything even slightly complex look rather poor or completely useless and it costs money to download large pages.

There are however areas where information for WAP users can usefully be provided, either for your own use, when out on the streets, or for other members of the public.

The humble 'Christmas/Birthday Present List' can be browsed by those who stumble upon, what they think is, an ideal present whilst out shopping and can instantly check if it's on your 'Wanted' or 'Not Wanted' lists.

Full film reviews may be over the top but a list of film ratings may prove useful for someone trying to weigh up which film to see.

Even recipes may prove handy when shopping for the ingredients of your favourite dish and you've forgotten what you need.

And there are probably many more ideas which you'll have along the way, lists of birthdays, lists of holidays even travel directions.


How to use WAP

Using WAP is very simple, the same principles apply as to the traditional PC internet paradigm ( oh no, I've said paradigm, sorry ).

At the receiving end, inside the mobile phone, there will be a browser which will format the information sent, like a desktop browser does and there will be a lot of technical wizardry and magic which gets the information from where it's stored to the display screen; all this is provided by the phone manufacturer and the phone companies and can be ignored.

Providing information content, which will be displayed on the mobile, is what we're interested in.

To create information which can be viewed by desktop surfers we produce a number of HTML ( Hyper Text Markup Language ) files which contains the information we want to show and all the links we need to tie our various pages of information together.

It is exactly the same for WAP information except we use WML ( Wireless Markup Language ) instead of HTML.

WML is very similar to HTML but also different. WML information must be formatted much more rigidly than HTML is and some of the markup language tokens, the words inside the < and > chevrons are different, however, the style of each is very broadly similar.

Indeed, WML is actually XML ( Extensible Markup Language ) forced to use a particular format, HTML is also derived from XML, however, its parentage has been hidden away, and it is not commonly thought of as being related to XML.

WML is used in a similar way to HTML; pages are created using a text editor, using the formatting and tokens available and then these files are placed on a server just as the HTML pages were.

The only differences being the formatting and tokens within the file and the fact that WML files have the file extension .wml, not .htm or .html.

These files can then be downloaded by a mobile user by specifying the URL, that is the address, using the standard www dot something dot something, etc format.

Viewing the WML files you have created is a bit of a problem, unless you want to keep uploading them to the server and then call them up using a WAP enabled mobile phone.

This is, of course, totally impractical, especially as there should be no reason that a WAP content provider should even need to own a WAP enabled phone, which are still pretty rare on the ground, and not cheap.

WML files cannot be viewed using a normal browser, they are not HTML files and the browser will probably just show you what's in the file you typed, as you typed it, without applying any formatting.

Browsers which understand XML ( like Microsoft Internet Explorer 5.0 ) will be able to show the WML file, but will display the contents formatted by the XML rules it applies and, again, will not show the contents formatted as it will appear on a WAP device.

This will change in time as WAP becomes more common place, but in the meantime it is necessary to use a separate WML browser which runs on your PC much like your internet browser does.

Unfortunately these are also few and far between and either only show what the WML content would look like on a generic WAP enabled device or only show what it would look like on a particular mobile phone.

This too will also change as WAP becomes more widespread and more people take an interest in delivering WAP content.


How do I create a WML page ?

To create a WML page all you need is a text editor to create a .wml file, an ISP and a means of getting the page up to your site on the ISP's server. If you are already creating HTML pages most of this process will probably be familiar to you.

A common misconception is that you must have a WAP server, or have a permanent connection to the internet, to publish WML pages; this is not true. Whilst many commercial WAP content providers may establish WAP servers for that purpose, WML files can be delivered from a standard HTTP server, the same server which your ISP uses to deliver your HTML pages to the desktop, providing it has been correctly configured.

The main difference between creating a HTML file and a WML file is that the contents of a WML file are different from an HTML file. If you have used Front Page, other HTML editors or even generated HTML by saving your word processor pages in HTML format you will need to find a WML editor or use a simple text editor to create the WML files; HTML is not compatible with WML.

There are also WML Script files which serve the same purpose as JavaScript and VB Script files, again, there are differences between WML Script files and the later.

WML files can also be compacted ( compiled ), making them much smaller to send over the air waves but this is not a compulsory step to take.

To create a page successfully you need to be aware of the syntax of the WML file contents, just as you needed to learn HTML programming and JavaScript programming you will need to learn WML programming and WML Script programming.

This subject is too complex to be tackled in this brief introduction and I am only just learning WML myself so I cannot provide a comprehensive tutorial on the subject.

O'Reilly and Que, plus others, will undoubtedly release comprehensive books and manuals on WAP and WML in the future and there is information available on the web from a variety of sources.

The best way to learn of course is by example; the following is the contents of a simple, but complete, WML file ( demo.wml ). It contains two pages ( cards in WAP parlance ) which can be jumped between and also links to another WML file ...

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
    "http://www.wapforum.org/DTD/wml.xml"
    >
    <!-- This is the Happy Hippy's simple WML demonstration -->
    <wml>
    
    <card id="Card1" title="Card 1">
    <p align="center">
    Happy Hippy's WML Demo<br/>
    <big>This is card 1</big>
    </p>
    <a href='http://www.bbc.co.uk/mobile/mainmenu.wml">'
    Link to the BBC
    </a>
    <br/>
    <do type="accept" label="Card 2">
    <go href=">"
    </do>
    </card>
    
    <card id="Card2" title="Card 2">
    <p align="center">
    Happy Hippy's WML Demo<br/>
    <big>This is card 2</big>
    </p>
    <a href='http://www.bbc.co.uk/mobile/mainmenu.wml">'
    Link to the BBC
    </a>
    <br/>
    <do type="accept" label="Card 1">
    <go href=">"
    </do>
    </card>
    
    </wml>
    

As you have probably noticed, the syntax is very similar to HTML but there are many differences ...

Being XML, the WML file has to be formatted for XML and, what is known as, a DTD must be provided; this is standard and is represented by the first few lines.

Multiple pages can be held in a single WML file, the <do ...> token replaces the <input ...> token, most <tokens> have a corresponding </token>, especially note the, now compulsory <p> ... </p> pairing and the familiar <br> has now become <br/>.

Most of the syntax will be familiar to those of you who have used HTML and is very easy to learn. The above file can be cut and pasted to form the basis of your first WML page if you so wish.

Looking at the contents of WML pages delivered by other content providers is also a good way to get a feel for what WML can do and how those pages are constructed.

The definitive documents though are the WAP Specifications which can be found, online, at the WAP Forum Ltd's site.


Problems with WML page development

There are three main problems you are likely to encounter whilst trying to develop WML pages ...

Firstly there is the problem of suitable tools, both for creating the pages and for viewing them on-line and on the development PC. Whilst there are a limited number of WML browsers available, these can be used and, although it is a pain, the WML files themselves can be created using nothing more than a simple text editor.

As WAP becomes more commonplace we can expect the range of tools to become greatly extended, indeed, many of the mobile phone manufacturers themselves have, or are working on, Software Development Kits ( SDK's ) which will make WAP development much easier in the future.

The second problem is one which will also be resolved with time; HTTP servers which do not properly understand WML pages.

When a page requested is delivered from an HTTP server, the type of file ( text, HTML, executable and so on ) is sent along with the delivered file. WML files should be delivered with their MIME type set to "text/vnd.wap.wml", however, not all servers are configured to handle WML files as they should.

Some WML browsers do not care what type of file it is processing, others are very picky. If your ISP does not handle WML files correctly, you will need to contact their Web Master to get them to update their server configuration.

The third problem is one which is inherent in the specification of the WML pages themselves, but it is one which can, never the less, be overcome.

Because each WML page is actually XML data, formatted accordingly, the WML page must contain information which explains the formatting of the XML file. This is itself an XML file and its location is specified as the last part of the <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml.xml"> line found within each WML page.

When a WML browser opens the WML file it can get the description of how the file is formatted by reading the data in the other file, which is where the problem arises.

If you are connected to the internet then there is no problem, the http://www.wapforum.org/DTD/wml.xml file, known as a DTD ( Data Type Definition ), is simply downloaded and used. If you are not connected, the browser will not be able to access the DTD file and it is likely that the browser will abort with an error.

The required DTD file can be manually downloaded and stored in a local file ( wml10.dtd, version 1.0, or wml11.dtd, version 1.1 ) and the WML file modified so it uses the local copy not the on-line one.

This is fine until the WML files under development are uploaded to the server; anyone accessing your WML pages over the internet will be unable to find the DTD file specified unless you have also loaded this to the same directory in which your WML files can be found.

Whilst this approach works, allowing WML pages to be used both locally and from a server, there is a downside; the proliferation of DTD files is to be greatly frowned upon, filling huge amounts of online disk space with identical files.

There is an alternative trick; changing the location and name of the DTD file in each WML page as it is uploaded. This is how the Happy Hippy's WML files are handled, but it does require a program to change the WML files and an automated system in place to reduce effort and prevent errors occurring.


Is it worth creating WAP pages ?

A good question.

WAP has the support of a lot of big industry names, including Microsoft ( but they haven't yet joined the WAP Forum, who control the WAP specifications ), it has been well defined and documented and WAP compliant mobile phones and other portable devices are starting to appear in the shops.

WAP content is already available from many sources and, as you've seen, the capability to create WAP pages is in the hands of everyone. WAP has been designed as a global, open source concept ( much like Linux and Java ) which means there are no restrictions on its use and there should be few surprises around the corner.

We have seen that there are some problems when developing WML pages at the present time, but these should soon be overcome and others can be worked around.

Europe is well ahead of the rest of the world in the mobile technology arena, it is one of the few areas in which the USA lags noticeably behind, it is therefore unlikely that any serious, or proprietary, alternatives to WAP are likely to push it to one side.

Whilst Microsoft's embracing of Sun's Java led it to corrupt the true platform independence of the language, incorporating their own platform specific extensions, WAP is likely to be well established and implemented before Microsoft, or anyone else so inclined, could fragment the market with their own similar, but slightly different, interpretations of what WAP is.

The WAP Forum appears to be solidly supported by the major mobile phone companies in the world and the major information providers and it looks very unlikely that they would move away from vanilla WAP and go it alone.

With the Big Four mobile device manufacturers, Nokia, Ericsson, Motorola and Panasonic, investing heavily in Symbian, who look destined to provide their Epoc operating system for use in their future devices, it looks like WAP will have a stable, and cross-platform compatible, future.

From the scale of support behind WAP it would seem that there is nothing standing in its way of becoming a protocol as common as HTML in the near future.

The dissenting voice is 3 Com who maintain that it would have been better to extend the HTML specification rather than develop the new WML, and associated, specifications.

They do have a very good point. WML has to be learned almost from scratch, as does WML Script, and it is necessary to convert current HTML pages into WML for them to be used over the air waves. This is probably harder to do than extending the HTML specification, and corresponding HTML pages, to be usable with mobile devices and there is a dearth of tools available for WML page creation at present.

There is also the argument that, as displays on mobile devices become larger, users will want to be able to access traditional HTML pages as well as WAP pages; this will mean providing two sets of browsers ( a problem we already have whilst developing WML pages at the present time on a PC ) which increases development costs and component costs within the mobile devices themselves.

On the other hand, WML is packaged up within XML which has been touted as the universal format for data interchange of the future and it is probably fair to say that, even if WAP is not perfect, or even ideal, it will be brought into widespread use anyway, objections or not.

There are proposed changes to the WAP specification; version 1.2 is already under discussion and version 1.0 has fallen by the wayside as version 1.1 has become the latest standard.

Mobile phone browsers, and emulators, which support Version 1.0 WAP only, will probably be unable to understand version 1.1 content and it is highly likely that those supporting version 1.1 won't understand all version 1.2 content.

The situation is therefore less than stable and, unlike the situation with desktop PC's, it may not be easy to upgrade a mobile phone as later versions of WAP become available and used.

There are therefore compelling reasons to hold off entry into both supporting WAP and providing WAP content until the specification has been finalised, but, it does look likely that many mobile devices supporting version 1.1 will be out shortly and those wishing to offer WAP content may need to start now and cater for later versions as they arise, leaving mobile phone manufacturers to take any flack generated by users who are unable to access the later content versions.

Those producing the specifications, along with those implementing it and supporting it, are undoubtedly well aware of the problems that WAP version changes will have and stability should be forthcoming if they don't want to damage their reputations, their profit margins and the takeup of WAP.

3 Com may well have to adopt WML anyhow. Nokia have publicly announced that they will be producing mobile devices supporting 3 Com's Palm OS running on top of Symbian's Epoc; it seems unlikely that Nokia, a supporter of WAP will not specify WAP capabilities even on a device running Palm OS.

Perhaps the biggest question of WAP's usefulness is on mobile phones which have very small displays or limited interaction facilities.

WAP allows actions to be invoked from button pushes, screen tapping and even voice commands, however, every device is different and it is hard to see how a WML page can be designed for the great variety of devices which will exist in the future.

Trying to design a WAP page which looks good and interacts well on both a 1" x 1" display on a mobile phone and the much larger formats of PDA's, like the Palm Pilot or Psion 5's. could prove to be difficult as there appears to be no standardisation on user interface functionality.

Imagine how badly Teletext would have fared if the TV industry had not adopted the familiar four coloured FastText links interface on the bottom of each page and had each provided a different number of buttons and methods to select the required links.

For the content provider, the prospect of having to try and produce content which is compatible with many versions of WAP and various devices will not be enthralling, having suffered similar problems in making HTML files compatible with Microsoft Internet Explorer, Netscape Navigator and numerous other, popular, browsers.

The issue is however a compatibility and standardisation one; it may well need to be tightened up and better defined in the future and mobile phone manufacturers may have to put their differences to one side in order to achieve a unified and workable means of interaction.

Only time will tell how useful WAP becomes. The mobile phone companies and the service providers who are knocking up WAP content services at present appear to be backing it and, whether it is tweaked in the future or not, it looks like WAP is here, like it or not.

And if WAP is the only means to deliver content to a mobile phone user, and that is what you want to do, then it looks like there is no alternative to getting on the bandwagon.

Within the next year or so, WAP skills listed on your CV will probably become just as important as HTML skills.


Real life problems encountered

All my WAP page development was done on my home PC using the XML capabilities of Microsoft's Internet Explorer 5.00 and WAP Browsers and Emulators.

Having got all my pages working perfectly, as far as I could tell, when I got my hands on a WAP enabled mobile phone I was looking forward to seeing my pages appear, magically, over the airwaves.

Unfortunately this was not to be. My Internet Service Provider, Freeserve, delivers WML pages with the correct MIME type but the in-phone WAP Browser has complained about a number of things, and I'm yet to see a page displayed in its full glory.

Firstly, it appears that tags ( <wml> etc ), and so on, must all be specified in lowercase for the in-phone browser to work. This wasn't so when I first started developing and none of the PC based tools I've used since have complained.

Secondly, the "<!DOCTYPE wml PUBLIC ..." line must also have the "wml" in lowercase, another problem which hadn't appeared before.

With problems using the mobile phone company's WAP Gateway persisting over the last few days, I am still not sure if I've solved all the problems yet, but I am keeping my fingers crossed and will update the information to reflect any changes which need to be made to my examples.


Trademark Acknowledgements and Legal Notices

WAP and all WAP-based marks are trademarks or registered trademarks of the Wireless Application Forum Ltd. in the United States, Canada, Japan, Europe and other countries. The Happy Hippy is independent of the Wireless Application Protocol Forum Ltd.

The Happy Hippy is proud to say that he has played no small part in helping to develop the WAP specifications.

Having spotted that the "WAP-Based" phrase in the above acknowledgement, required as part of the strict adherence to the WAP Trademark and Logo Usage Requirements, was in conflict with another part of the same requirements, Do not hyphenate the WAP Trademark or combine it with other words. For example; use "based on the WAP Specification"; not "WAP-based", I reported the problem to WAP Forum Ltd who, I am pleased to say, have now changed the specification.

I am still a little concerned that none of the multi-million pound companies and their heavily financed research teams who are members of the WAP Forum had noticed this themselves. Did any of them send me buckets of cash, fast cars or buy me a Mayfair appartment in thanks for my efforts ? No. Oh, well.


WAP Resources

WAP Specifications

The WAP Specifications are controlled by the Wireless Application Forum Ltd. and the latest, and proposed, WAP Specifications can be found on their official site; www.wapforum.org.

Development Tools

www.slobtrot.com Slob-Trob Software Oy Ab are developing a Windows based VML browser, WinWAP. A Beta version ( Scab ) is currently available as a free download for evaluation purposes.

www.gelon.net Gelon run an on-line VML browser ( The Wapalizer ) which allows WML pages to be viewed as they would on a WAP enabled mobile phone.

The Wapalizer is not able to handle pages delivered from a server as normal text pages ( the error message generated will clearly explain when this is the case ); the server needs to be configured to send WML as the correct MIME type.

The Happy Hippy's WAP Pages

demo.wml This is the simple WML demonstration described in the document above.

index.wml This is the main menu through which other WML pages located on the Happy Hippy's Home Pages can be accessed.

filmlist.wml This is the Happy Hippy's guide to how new UK film releases have rated; films can be viewed in both alphabetical and rating order.

wml10.dtd This is the Happy Hippy's version of the DTD file which describes the content format of the version 1.0 WML files. It is a local equivalent of the WAP Forum Ltd's www.wapforum.org/DTD/wml.xml file used whilst developing and debugging WML files.

wml11.dtd This is the Happy Hippy's version of the DTD file which describes the content format of the version 1.1 WML files. It is a local equivalent of the WAP Forum Ltd's www.wapforum.org/DTD/wml_1.1.xml file used whilst developing and debugging WML files.

Other WAP Content Providers

mmm.aktiesidan.com
mobil.tv2.no/wap
mobileinternet.ericsson.se/emi/default.asp
portalwap.com
shopus.net/wap
telecom.ncbdirect.com
vilaweb.com/mobils/index.wml
wap.2pl.com
wap.compuserve.de/index.wml
wap.dhl.com
wap.fokus.no
wap.n-tv.de
wap.netcom.no
wap.nokia.de/menu.wml
wap.telenor.no/nrk/nrk.wml
wap.telenor.no/start.wml
wap.trondheim.com
wap.tv4.se
wap.vg.no
wapaw.com/index.phtml?format=wml
webcab.de
wwp.aftenposten.no
www.abaris.se/wap
www.bbc.co.uk/mobile/mainmenu.wml
www.boxman.com
www.expressen.se/mobil/wap/index.wml
www.finn.no/wap
www.guay.com/movil/index.wml
www.itavisen.no/wap
www.palmreach.com/index.wml
www.sol.no/trafikanten/wml/velkommen.wml
www.vesti-rtr.com/wap/i.wml
www.waptastic.com/application/wml.asp
www.wapterror.de
www1.wapforum.org/wml/home.wml





Associated Articles

  Demo.wml

  Index.wml
  Filmlist.wml

  Wml10.dtd
  Wml11.dtd

  The Mobile Market



Site Navigation

  Home Page
  What's New
  Search
  Add Bookmark
  Have Your Say
  Guestbook




First published sometime before Saturday the 13th of May, 2000
Last upload was on Tuesday the 23rd of September, 2003 at 19:22:21