WAP and Wireless
Technologies
Sonia Starik
Alexander Levy
Today’s Topics
•
•
•
•
•
•
Wireless Overview
WAP Protocol
WML
WMLScript
Transcoders
Demo
Wireless - History
• 1901 - First digital wireless communication!
– A ship-to-shore wireless telegraph using Morse Code
by Guglieno Marconi
– dot & dashes <-> binary code :)
• Modern digital wireless systems have better
performance but have the same basic idea
Wireless - uses
• Portable office
– telephone calls
– emails
– remote machine connection
• Rescuing workers at disaster sites
– fires, floods
– earthquakes
• Military
Variety of mobile devices
•
•
•
•
•
PDA
Mobile phone
Pager
Embedded system
Automobile Information appliance
(car navigation system)
• Mobile game machine
• Digital book reader
• Smart watch
Hardware Specifics
•
•
•
•
•
•
Small memory capacity
Small display space
Less powerful CPU
Limited input method
No or small data storage
Limited power consumption
Wireless Market Specifics
• Ease of use
– used by people without computing experience
– used in dynamic environment
– simple and quick user interface
• Market size
– 200 million wireless subscribers today
– more than 1 billion by the year 2005
– will demand optimized solutions
Wireless Market Specifics (cont)
• Usage patterns
– wireless data access is expected to make good
performance
– service should be instantly available
• Essential tasks
– small, specific tasks to be accomplished quickly
– possibility to retrieve comprehensive summary
of important information easily
Wireless Network Specifics
•
•
•
•
Less bandwidth
More latency
Less connection stability
Less predictable availability
Wireless - Resume
• Wireless world has specific restrictions
• Wireless market is growing
• Many of phones will (probably) have multimedia
capabilities
=> So - special technologies are needed!
Wireless Application Protocol one of today’s solutions...
• Uses existing standards and adds its own
• Provides fast, reliable and secure service
• Enables point access to desired specific
information instead of bringing the whole page
• We will see it’s functionality in more details
further...
WAP History
• 1995 - Ericsson works on Intelligent Terminal
Transfer Protocol (ITTP) to make it easy to add
services to mobile telephony platforms
• 1996 - Nokia works on Smart Messaging concept
• 1997 - Unwired Planet (Phone.com) creates
HDML (Handheld Device Markup Language) like HTML, optimized for devices with small
screens (phones, pagers, PDAs)
WAP History (cont)
• 1997 - the WAP Forum was established
to create and constantly improve the WAP
specification by Nokia, Motorola, Ericson
and other manufactures
• Recently the WAP membership represents
95% of global handset market...
WAP Network Structure
• Wireless Application Protocol specifies
– End-to-end application protocol
– Application environment
• Network side
– WAP Gateway
WAP Gateway functionality
• Protocol gateway
– translates requests from the WAP protocol stack to the
WWW protocol stack (HTTP and TCP/IP)
• Content Encoders and Decoders
– translate Web content into compact encoded formats
– cache frequently used information
WAP request
1. User presses a phone key that has an URL request assigned to it
2. Browser sends an URL request to a WAP gateway using the WAP
3. Gateway creates HTTP request for the specified URL and sends it to
the web server
4. Web server processes HTTP
and returns the WML deck
5. WAP gateway
- encodes it to binary form
- creates a WAP response
- sends it to the user agent
6. Browser receives the WAP response and displays it
WAP Protocol Stack
WAP Protocol Stack (cont.)
• Plain text headers of HTTP are translated into
binary code
• Suspend and resume
sessions
• Provide reliable datagram
service but more saved
than TCP
Pull & Push
• Pull: client request a service, which then responds
in transmitting information to the client
• Push: server transmits information to a device
without a previous user action
Push Framework
• Push framework allows applications to alert the
subscriber when time-sensitive information
changes
– Email and pager notifications
– traffic alerts
– stock quote triggers
WTA (Wireless Telephony
Applications)
• Allow access to telephony functionality
– call control
– phone book
– messaging
from within WMLScript
• Initiate phone calls from the browser
User Interface Model
• Users navigate through cards with up and down
scroll keys instead of a mouse
• Soft keys allow the user to perform specific
operations appropriate to the application context,
or select menu options
• A traditional 12-key phone keypad is used to enter
alphanumeric characters
• Navigation functions such as Back, Home,
and Bookmark are also provided
Microbrowser
• Control user interface
– present graphical and textual information
– interprets alphanumeric data entry
– script interpreter
• Empowers mobile phone users with
rapid access to
–
–
–
–
email
Calendar
Contact list
To-Do list and corporate applications
WAE & WML/WMLScript
• Wireless Application Environment defines user
interface
• Contains WML, WMLScript and WTA
• We will see in more details what is WML and
WMLScript
The Legend Says...
“In the beginning, Berners-Lee created HTML and the
Web. And the Web was without form, and void; and
darkness was upon the face of the deep. And the
Spirit of Tim moved upon the face of the routers. And
Tim said, "Let there be tags," and there were tags.
And Tim said, "Let there be design in the midst of the
content, and let it divide the content from the
content." And in the beginning there was universality,
and everyone could parse the HTML, read the web
pages, and Berners-Lee saw everything that he had
made, and it was good. And the night followed the
day, and the years passed …”
WML General
• Tag-based browsing language:
– Screen management (text, images)
– Data input (text, selection lists, etc.)
– Hyperlinks & navigation support
•
•
•
•
W3C XML-based language
Inherits technology from HDML and HTML
Don’t assume keyboard and mouse presence
Designed for small displays
WML General
• Card metaphor
– User interactions are split into cards
– Navigation occurs between cards
• Explicit inter-card navigation model
– Hyperlinks
– UI Event handling
– History
• State management and variables
– Reduce network traffic
– Results in better caching
Card-Deck Metaphor
• The basic units of WML are cards
– contains structured content
– navigation specifications
• Cards are grouped into decks - the top-most
element of a WML document
• When receiving a deck, the first card is activated
unless directed to another card by URL reference
WML Syntax
• Entities
– numeric or named
– specify specific characters in document character set
which should be escaped by WML
• &, <
• Elements
– specify all markup and structural information about a
deck
– may be of two forms:
• <tag>content</tag>
• </tag>
WML Syntax
• Attributes
– Specify additional information for an element
– Syntax: <tag attribute1=“value1”
attribute2=valu2…>
– Some attributes are mandatory: for example
< go href=“http://www.yahoo.com”/>
here the go element requires href attribute
– Some attributes are optional and may have default
values. For example, align attribute is optional for img
element and has default value “bottom”
WML Syntax
• Variables
– flexibility, better caching behavior, better perceived
interactivity
– substituted at run-time
– substitution into text (#PCDATA) of a card or into
%vdata or %href of a WML element
– XML syntax has higher priority than var. substitution
– for variable substitution use the next syntax:
• $identifier
• $(identifier)
• $(identifier:conversion)
WML Syntax
• Control Elements
– select lists
• lets user pick from a list of options
• each option specified by option element
• option elements may be organized into hierarchical groups
using optgroup element
• may accept single or multiple selections
– option element
– optgroup element
WML Syntax
• Input Element
– specifies a text entry object
– input is constrained by (optional) format attribute
– if the input does not confirm to the input mask, the user
agent rejects the input
– fieldset element groups related fields and text, allowing
layout & navigation optimization for user agent
WML Syntax
• Event handling
– timer expiring, entering a card etc
– card/deck shadowing
• card level/deck level
• active/inactive event-handling elements
– intrinsic events
• indicate state transitions inside the user agent
• ontimer, onpic, onenterforward, onenterback
• onevent
Shadowing Example
<wml>
<template>
<do type=“options” name=“do1”>
<prev/>
</do>
</template>
<card id=“first”>
<!--inherits the do element-->
</card>
<card id=“second”>
<!--shadows the deck-level-->
<do type=“options” name=“do1”>
<noop/>
</do>
</card>
<card id=“third”>
<!--shadows the deck-level-->
<do type=“options” name=“do1”>
<go href=“options”/>
</do>
</card>
</wml>
Onevent Example
In this example the go task is performed when user causes the
user agent to enter a card using a go task
<card>
<onevent type=“onenterforward”>
<go href=“/url”/>
</onevent>
<p>
Hello
</p>
</card>
WMLScript
• Clint-only scripting platform used in combination
with WML to provide client-side procedural logic
• Derived from JavaScript
• Is not object-oriented
• Compiled via WAP gateway into binary form
• Bytecode + interpreter reference architecture
optimizes utilization of current narrowband
communications chanels and handheld device
memory requirements
WMLScript - Uses
• Check validity of user input
• Access facilities for user agent
– different features on mobile phones
• Generating messages and dialogs locally
– alerts, error messages, conformations etc can be seen
faster by the user
• Building extensions to agent user software
WMLScript Syntax
• Basic syntax
– consists of statements ended with semicolon “;”
– case-sensitive
– comment syntax is identical to Java and C++
• Data types
– Boolean, Integer, Floating-point, String, Invalid
– weekly typed language (no type checking at compile or
run time)
– no variable types are specifically declared
– impossible to create user-defined data types
WMLScript Syntax
• Operators
– value assignment, arithmetic, logical, string,
comparison, array operators
• Flow Control Statements
– loops, conditionals etc. identical to those of JavaScript
• Functions
– extern function identifier(FormatParameterList)Block;
– example:
function RunTime(distance, speed)
{ var time = distance / speed; return time;};
I-Mode C-HTML
• Smart phone
– 100 MHz processor
– many MB of flash memory
– color display
• Transmission protocol
– enable several subscribers
to use the same line at once (CDMA)
• Markup Language
– C-HTML subset of HTML
HDML
• HDML is Markup Language
suited for small screens
• HDML has multiple body sections
• Hello World Example
<HDML VERSION=2.0>
<DISPLAY>
Hello World!
</DISPLAY>
</HDML>
Transcoder Technology
• Transcoder filters and reformat content presented
to user based on
–
–
–
–
device constrains
network constrains
user preferences
organization polices
• Transcoding content reduce or eliminate the need
to maintain multiple version of data and
applications
IBM Transcoder
• Simplify HTML document
– replace images embedded in pages with links to them
– remove objects or features: animations, JScript, Applets
• Convert GIF and JPG to appropriate formats
• Transform HTML into well-formed XML
• Subdivide content into small sections (cards)
• Stylesheet application to XML document
– HTML to WML
– HTML to C-HTML (iMode)
– HTML to HDML
Transcoding Flow (WML path)
2a Client sends an URL request to a WAP gateway (WG) using the WAP
WG creates HTTP request and forward it to Transcoding Proxy (TP)
2b TP sends HTTP request and sends to Web Server (WS) after editing
2c HTTP reply comes back from WS
2d TP converts the doc to WML form
using correct stylesheet
2e TP forwards the WML doc to WG
WG creates a WAP response and
sends it to the user agent
References
•
•
•
•
•
•
•
•
•
•
•
•
•
www.wapforum.org
www.mobilewap.com
www.nokia.com
www.ericsson.se
www.motorola.com
www.palmos.com
www.phone.com
www.w3.org
www.microsoft.com/windowsce/
www-4.ibm.com/software/webservers/transcoding/
www.oracle.com/ip/deploy/database/8i/index.html?lite.html
www.nttdocomo.com
cover pages
© Copyright 2026 Paperzz