The Wireless Web: Ready for Primetime?
1. Introducing WAP
Wireless Application Protocol (WAP): Facilitates communication between a wireless device and a gateway, which in turn allows communication with Internet- or intranet-based resources
Wireless Markup Language (WML): Derivative of XML used to create pages for wireless devices
2. The Role of the WAP Gateway
3. Server Options
-
Use a WAP Server
-
Nokia WAP Server - http://www.nokia.com/wap/
-
EdgeMatrix - http://www.edgematrix.com
-
Infinite WAP Servers - http://www.waplite.com
– Features include HTML->WML translation, GIF/JPEG->WBMP translation
-
Configure Your Current Server
-
Configure your current server to serve the proper MIME headers for WAP content
| MIME type | Extension |
| text/vnd.wap.wml | .wml |
| text/vnd.wap.wmlscript | .wmls |
| image/vnd.wap.wbmp | .wbmp |
| application/vnd.wap.wmlc | .wmlc |
| application/vnd.wap.wmlscriptc | .wmlsc |
4. Features of WML
-
Features of WML
-
Optimized for low bandwidth (current max bandwidth is 19.2 Kbps)
-
Source files end in .wml, WMLScript files in .wmls
-
WAP server compiles file "on the fly" prior to transmission
5. WAP Browsers
-
Phone.com browser
-
Used in most non-Nokia phones
-
Emulator available with UP.SDK from http://updev.phone.com
-
Nokia browser
-
Used in recent Nokia phones
-
Emulator available with Nokia WAP toolkit from http://www.nokia.com/wap/
6. WML Tag Structure
-
Each WML "page" is called a deck, which consists of
cards
-
Minimizes # of transmissions between phone and server
Phone displays cards one at a time
Developer cannot count on Back, Forward, Home buttons
7. A Basic Card
<?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="An Example"> <p> Hello World! </p> </card> </wml>
8. Text Styles
| Tag | Style |
| <b></b> | Bold |
| <i></i> | Italics |
| <u></u> | Underline |
| <em></em> | Emphasis |
| <strong></strong> | Strong |
| <big></big> | Big |
| <small></small> | Small |
9. Special Characters
| Character | Entity Name |
| Quote | " |
| Apostrophe | ' |
| Ampersand | & |
| Less than | < |
| Greater than | > |
| Soft hyphen | ­ |
| Non-breaking space | |
10. WML Tagging Rules
Tags are case sensitive
Tags must be nested
-
Tags must always be closed
-
e.g., <br> by itself is not acceptable
-
<br></br> or <br /> is acceptable
-
Attribute values must be in quotes
-
e.g., <go href="phonedir.xml" />
11. Links
May show up on screen or under one of the soft buttons
Linking to another page:
<a href="phonedir.wml">Phone Directory</a>
Linking to another card:
<a href="#djia">Dow Jones Industrial Average</a>
Providing a Back button
<do type="prev" label="Go Back"><prev /></do>
Code above typically results in one of the function keys having the label Go Back.
12. Other WML Features
-
Tables
-
Same as HTML tables, but no <th></th> tag - all data inside <td></td>
-
Images
-
Uses same HTML <img> tag, but only displays WBMP (wireless bitmaps)
-
ALT attribute important for phones that don't display images
13. Other WML Features
-
Templates
-
Allow you to add features to every card in a deck. e.g., to add a Go Back button to every page:
<template> <do type="prev" label="Go Back"> <prev /> </do> </template>
-
Forms
-
Coded very differently than HTML forms
-
<input> tags (for text and password fields) and <select> lists are the only form elements supported
-
Input formats allow you to specify basic patterns that entered data must conform to
-
Submit data to programs running on the server, which in turn can query databases, generate emails, etc.
-
Server-side programs typically written as CGI scripts, ASPs, JSPs, or ColdFusion templates
-
Variables
-
Allow values to be stored and passed to other cards and decks and to WMLScript
-
<setvar /> tag sets variable values
-
Variable values are retrieved via $(varname)
-
Event handling
-
Can handle onenterforward, onenterbackward, onpick, and ontimer events
-
Responses can include loading a new URL, setting variable values, or executing WMLScript
14. Introducing WMLScript
-
WMLScript is used for:
-
Form validations
-
Basic calculations in forms
-
Generating alerts, prompts, confirms
-
Controlling navigation
-
Controlling timers
WMLScript's syntax is very similar to JavaScript
15. Finding WAP Resources
2thumbsWAP.com - http://www.2thumbswap.com/wap/
Google - http://wap.google.com
Yahoo! (via WAP) - http://wap.yahoo.com
Yahoo! (via Web) - http://mobile.yahoo.com/wireless/dir
16. Compelling WAP applications
-
Brief data that users want available while mobile
-
Flight and traffic information
-
Movie listings
-
News
-
Weather
-
Eventually: location-based services
17. Why WAP is Not Quite Ready for Primetime
-
Low bandwidth (19.2 Kbps max)
-
Tiny, monochrome screen
-
Inconsistent browser implementation across phones
-
Content displayed differently
-
Different levels of WML and WMLScript support
-
Phone keypad = poor input device
18. Future of Wireless Web
-
Location-based services
-
Higher bandwidth
-
Better screens
-
Voice control
-
Probable that XHTML over HTTP to PDAs and other larger-screen devices will be more popular than WML over WAP to today's mobile phone
-
WAP/WML likely to fade away over the next few years
-
Java 2 Micro Edition (J2ME) applications may also be successful
19. WAP Tools and Resources
-
Development tools
-
DotWAP (http://www.inetis.com)
-
WAPPage (http://www.wapmine.com)
-
Recommend book
-
Learning WML and WMLScript (http://www.ora.com), ISBN 1-56592-947-0
20. Conclusion
Thank you for joining me today!
It will be exciting to see what the future holds in store
Please email questions to me at mailto:sheckler@westlake.com
Please check complete an evaluation and check around you for personal belongings prior to departing

