Title: COMFest WAP Talk
1 An Introduction to WAP Karli
Watson In-House Author, Wrox Press
Ltd. karliw_at_wrox.com http//p2p.wrox.com
2Talk Overview
- What is WAP?
- What's so special about WAP?
- How do I create WAP enabled applications?
- What are WML and WMLScript?
- What about ASP?
- Where are developer tools available?
- What does the future hold is WAP here to stay?
3What is WAP?
W A P
Wireless Application Protocol
4So, What is WAP?!?
5WAP Specification
- Available from www.wapforum.org
6WAP Architecture
WAP
OSI
Web
WAE
Application
HTTP
WSP
Presentation
NetBIOS
Session
TLS
WTP
TCP
WTLS
Transport
UDP
UDP
WDP
Network
IP
IP/SMS/GPRS
Data Link
Ethernet/PPP
PPP OTA Bearers
Physical
UTP
7What's so special about WAP?
- (Limited) Internet / Intranet access from
anywhere - Location specific data possible (and "push")
- The "gadget factor"
- BUT
- Need to consider device limitations!
8What are the Device Limitations?
- Small display area and very limited
- graphical capabilities
- Small bandwidth
- Small memory
- User input awkward
- CONSEQUENCE
- HTML? No chance!
9How do I create WAP enabled applications?
- The WAP specification includes its own language
for content WML - WAP content (WML files) can be held on existing
WEB servers
10What is WML?
W M L
Wireless Markup Language
11So, What is WML?!?
- A markup language for mobile user agents the
HTML of the wireless world - An XML application
- Optimised for content, unable to specify exact
layout (can lead to interoperability problems) - Has an associated scripting language WMLScript
- May be dynamically generated, via ASP etc.
12WML Example
lt?xml version"1.0"?gt lt!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN" "http//www.wapforu
m.org/DTD/wml_1.1.xml"gt ltwmlgt ltcard
id"First" title"First Card"gt ltpgt
lt!-- Card implementation --gt Let's
get mobile! lt/pgt lt/cardgt lt/wmlgt
13WMLScript Example
- extern function add()
-
- var num1 Lang.parseInt(WMLBrowser.getVar("A")
) - var num2 Lang.parseInt(WMLBrowser.getVar("B")
) - WMLBrowser.setVar("R", num1 num2)
- WMLBrowser.refresh()
-
- Accessed via URL, such as
- http//www.wrox.com/example2.wmlsadd()
14ASP Example
ltResponse.ContentType "text/vnd.wap.wml"gt lt?x
ml version"1.0"?gt lt!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN" "http//www.wapforu
m.org/DTD/wml_1.1.xml"gt ltwmlgt ltcard
id"aspwml" title"ASPWML"gt ltpgt
Today's date is ltResponse.Write(now())gt
lt/pgt lt/cardgt lt/wmlgt
15Examples
16Serving WAP Applications
- Can be achieved from any existing web server
- Need to set up WAP MIME types
- Plain WML documents, .wmltext/vnd.wap.wml
- Compiled WML documents, .wmlcapplication/vnd.wap
.wmlc - WMLScripts, .wmlstext/vnd.wap.wmlscript
- Compiled WML Scripts, .wmlscapplication/vnd.wap.
wmlscriptc - Wireless Bitmap Images, .wbmpimage/vnd.wap.wbmp
17Tools Available
- Toolkits Emulators
- Nokia www.nokia.com
- Phone.com www.phone.com
- Ericsson www.ericsson.com
- Other
- WinWap www.winwap.com
- Gelon www.gelon.net
- WAP-FAQ allnetdevices.com/faq/
18Is WAP Here to Stay?
- Much media coverage has said that WAP is a
passing fad, not very good, and will disappear
soon - Media coverage is missing the following points
- WAP is not "the Internet in your pocket"
- WAP is not just WML
- WAP is here to stay, WML is likely to evolve or
be replaced (possibly by XHTML?) - Alternatives - such as the Japanese iMode system
- do exist, but WAP looks the most feasible at
the moment
19The Future
- Higher bandwidth
- Better processing power (possibly)
- Location dependence (GPS?)
- "Always on"
- Holographic displays projecting huge WAP pages
360 degrees around us, with thought directed
navigation and full sensory immersion smell
that book before you buy it!
20Where to go from here?
- Professional WAP Programming (ISBN 1861004044)
- Beginning WAP Programming with WML and WMLScript
(ISBN 1861004583) - P2P Lists p2p.wrox.com
- wrox_wap - covers all WAP issues
- wrox_wml - WML specific discussion
21 Questions? Karli Watson In-House Author,
Wrox Press Ltd. karliw_at_wrox.com http//p2p.wrox.co
m