Keywords:
HOWTO Instructions WAP ringtones WML mobile internet web server

The following lists my efforts to set up any standard web server application that supports MIME type configuration.
This is not meant as a WML tutorial, but as a reference document to allow administrators to add WAP browsing support to their websites.
Why you would bother?
Probably like me you just wanted to be able to upload polyphonic ring tones to your mobile at the cost of downloads instead of $5 a click on the commercial websites.

I will keep this simple, too many websites I went hunting for this data on just waffled on about complete crap and didn't tell me anything useful, other than links to commercial WML mobile webhosting companies.

Ok, to set up almost any MIME compliant webserver you need to do the following steps:
  1. Set your mime types to include the 2 main WAP mime extensions.
  2. *optional* Add the file extension to your default pages list.
  3. Create a WML document.
  4. Test your page for errors.

1.

MIME TYPES
You need to add a mime type extension for the following file types:
WML
and
WBMP

the WBMP is optional,  but it will allow you to have pictures (or downloads of pictures) in the future should you get ambitious. I don't use pictures, as i can never get the wbmp encoding right. But you may have other plans.

the mime type data for WML is "text/vnd.wap.wml"
the mime type data for WBMP is "image/vnd.wap.wbmp"

For example, if you used the Xitami webserver application, you would add the following line to your defaults.cfg file in your xitami directory:

[Mime]
    wml=text/vnd.wap.wml
    wbmp=image/vnd.wap.wbmp

In assorted versions of Microsoft PWS, you should be able to access mime types in the registry, and the IIS versions should allow access via either the web interface, or the management console. Apache and others are a simple conf file edit.

If you used some other server app, all that is important is the file extension (WML) and the actual mime encoding (text/vnd.wap.wml) you can type whatever crap you like in the comment field it is not usually sent to the mobiles anyway.

2.

Add a file type for your default page
This simply means that you could have a WAP page on your website.
Eg.  WAPdefault.wml  and it would load without needing to add the WAPdefault.wml part to the URL you type into your mobile.
It may sound pointless, but many mobiles are a pain in the ass to type websites into, and removing 10 or so letters from what you need to type can make a minor difference.

For me my WAP website is located at http://phoenixx.wox.org/tones/
and my default page is located in index.wml
(Don't bother hitting the link unless you want to download a copy of my default page. It will only work on WAP devices.)

My default files list is "index.htm" and "default.htm"  i simply added "default.wml" as well for any mobiles WAP webpages.
I could also create a virtual host such as http://WAP.wox.org  and shorten my url even more.

Doing this isn't difficult, but varies on each webserver. In xitami it is easy, you just click on your vhost configuration and add it to the list of file names to check.  Many commercial hosting interfaces may also support it.

3.

Create a WML document.
Ok this isn't brain surgery, but unlike idiot er.. internet explorer.  You MUST terminate all your html tags.  Not that there is an awful lot of tags for WML documents that I am aware of.

The key parts of a WML document are the following:
Header (comprising doc type and xml version)
wml body (comprising a <wml> and </wml> tag
Card (comprising a <card></card> which includes page title and a optional tag)
Paragraph (<p> </p> and optional alignment)

You can have multiple cards in the one page
I wont go into detail but here is an example with most useful tags to start with, adapt it as practical:
Note: This page probably WONT work properly on most mobiles. Generally it is best to keep wml documents VERY basic.
just a single card, and each line or link in its own <p> tag.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="My example site">
<p align="center"><img alt="Me" src="me.wbmp" align="bottom" vspace="0" hspace="0"/></p>
<p><a title="BBC News" href="http://www.bbc.co.uk/mobile/mainmenu.wml">BBC News</a><br/></p>
<p align="left">This is just an example page, and a link.<br/><br/>
<b><small>This is small bold text.</small> </b>
</p>
<p><a href="#link">This is an example of how to access multiple cards</a></p>
</card>

<card id="link">
<p>This is a sample card</p>
</card>
</wml>


4.

Testing your page.
Aside from the obvious way of testing it.. using your mobile.  There are a number of web based WAP "emulators" which can try to load your page and allow you to preview how your page looks. The advantage of these is, they can let you spot obvious problems, but don't cost you the usual WAP access fee charges.

Currently I use:  http://www.inetis.com/ttemulator.asp but there is also ones buried in a number of other sites, including actual phone emulators of various model nokia phones and the like.

Ok thats it. All you really need to know, in order to create WAP wml documents.

-PhoenixX