WAP and Wireless Technologies Sonia Starik Alexander Levy

  • Slides: 46
Download presentation
WAP and Wireless Technologies Sonia Starik Alexander Levy

WAP and Wireless Technologies Sonia Starik Alexander Levy

Today’s Topics • • • Wireless Overview WAP Protocol WMLScript Transcoders Demo

Today’s Topics • • • Wireless Overview WAP Protocol WMLScript Transcoders Demo

Wireless - History • 1901 - First digital wireless communication! – A ship-to-shore wireless

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

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

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

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

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

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

Wireless Network Specifics • • Less bandwidth More latency Less connection stability Less predictable availability

Wireless - Resume • Wireless world has specific restrictions • Wireless market is growing

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

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

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

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

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

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

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

WAP Protocol Stack (cont. ) • Plain text headers of HTTP are translated into

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

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

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 –

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

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

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

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.

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

WML General • Tag-based browsing language: – Screen management (text, images) – Data input (text, selection lists, etc. ) – Hyperlinks & navigation support • • W 3 C 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

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

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

WML Syntax • Entities – numeric or named – specify specific characters in document character set which should be escaped by WML • &amp, &lt • 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

WML Syntax • Attributes – Specify additional information for an element – Syntax: <tag attribute 1=“value 1” attribute 2=valu 2…> – 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

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

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

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

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=“do 1”> <prev/> </do> </template> <card id=“first”> <!--inherits

Shadowing Example <wml> <template> <do type=“options” name=“do 1”> <prev/> </do> </template> <card id=“first”> <!--inherits the do element--> </card> <card id=“second”> <!--shadows the deck-level--> <do type=“options” name=“do 1”> <noop/> </do> </card> <card id=“third”> <!--shadows the deck-level--> <do type=“options” name=“do 1”> <go href=“options”/> </do> </card> </wml>

Onevent Example In this example the go task is performed when user causes the

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

WMLScript • Clint-only scripting platform used in combination with WML to provide client-side procedural logic • Derived from Java. Script • 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

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 “; ”

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 •

WMLScript Syntax • Operators – value assignment, arithmetic, logical, string, comparison, array operators • Flow Control Statements – loops, conditionals etc. identical to those of Java. Script • Functions – extern function identifier(Format. Parameter. List)Block; – example: function Run. Time(distance, speed) { var time = distance / speed; return time; };

I-Mode C-HTML • Smart phone – 100 MHz processor – many MB of flash

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

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 –

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

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 (i. Mode) – HTML to HDML

Transcoding Flow (WML path) 2 a Client sends an URL request to a WAP

Transcoding Flow (WML path) 2 a Client sends an URL request to a WAP gateway (WG) using the WAP WG creates HTTP request and forward it to Transcoding Proxy (TP) 2 b TP sends HTTP request and sends to Web Server (WS) after editing 2 c HTTP reply comes back from WS 2 d TP converts the doc to WML form using correct stylesheet 2 e 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

References • • • • www. wapforum. org www. mobilewap. com www. nokia. com www. ericsson. se www. motorola. com www. palmos. com www. phone. com www. w 3. org www. microsoft. com/windowsce/ www-4. ibm. com/software/webservers/transcoding/ www. oracle. com/ip/deploy/database/8 i/index. html? lite. html www. nttdocomo. com cover pages