Connecting to the Web Using Mobile Devices Representation and Management of Data on the Web.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

Tutorial 6 Creating a Web Form
The Web Warrior Guide to Web Design Technologies
1 Dickson K.W. Chiu PhD, SMIEEE Thanks to Prof. S.C. Cheung (HKUST) CSIT600b: XML Programming WML.
Project 1 Introduction to HTML.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
1 HTML Markup language – coded text is converted into formatted text by a web browser. Big chart on pg. 16—39. Tags usually come in pairs like – data Some.
Copyright © Gavin McArdell WML Training Course Gavin McArdell.
CIS101 Introduction to Computing Week 05. Agenda Your questions Exam next week - Excel Introduction to the Internet & HTML Online HTML Resources Using.
CIS101 Introduction to Computing Week 05. Agenda Your questions CIS101 Survey Introduction to the Internet & HTML Online HTML Resources Using the HTML.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
1 CA201 Word Application Creating Document for the Web Week # 9 By Tariq Ibn Aziz Dammam Community college.
1 Static Web Pages Websites on Servers (The Big Picture) –Apache Tomcat can support static web pages –Primarily intended to support servlets and JSP –Some.
Introduction to HTML 2006 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Introduction to HTML 2006 INT197B. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Introduction to HTML 2004 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Web Clipping Presentation By: Alex Jacobs, Philip Kim, Nathan Po Web Clipping.
WAP: Wireless Application Protocol Mike Mc Ardle ACSG April, 2005.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
1st Project Introduction to HTML.
Chapter 2 Introduction to HTML5 Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
CIS101 Introduction to Computing Week 06. Agenda Your questions Excel Exam during second hour Our status after the snow day Introduction to the Internet.
The Internet & The World Wide Web Notes
Chapter ONE Introduction to HTML.
Web Design Basic Concepts.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
An Introduction to WAP/WML. What is WAP? WAP stands for Wireless Application Protocol. WAP is for handheld devices such as mobile phones. WAP is designed.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
New challenge: cellphones & PDAs Show homework (majors) 2-phase xml/xsl Nokia Mobile Toolkit, Openwave WML, WMLScript, wbmp XHTML-XP Homework: download,
ULI101 – XHTML Basics (Part II) What is Markup Language? XHTML vs. HTML General XHTML Rules Block Level XHTML Tags XHTML Validation.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
By Amisha Pardasani. Contents Introduction to Wireless Application Protocol Introduction to Wireless Markup Language WML Formatting Links and Images Input.
Lectured By: Vivek Dimri Assistant Professor, CSE Dept. SET, Sharda University, Gr. Noida.
WAP and WML The Wireless Application Protocol  WAP architecture  WML document structure  WML syntax Basic document syntax Layout Text formatting Images.
WML Wireless Markup Language Presented by: Richa Saxena Roll no
CIS 375—Web App Dev II WAP. 2 Introduction to WAP WAP ________________________ is an application communication protocol that uses a ______ Browser in.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
WML Programming. What is WML WML Programming Wireless mark up language based on XML. Purpose:  to specify user interface behavior and  display contents.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
 2008 Pearson Education, Inc. All rights reserved Introduction to XHTML.
Using Cocoon Page 2 Ovidiu Predescu April 5th, 2001 Using Cocoon to build Web sites for wireless devices Ovidiu Predescu Hewlett Packard ApacheCon 2001.
Using Cocoon Page 2 Ovidiu Predescu April 5th, 2001 Using Cocoon to build Web sites for wireless devices Ovidiu Predescu Hewlett Packard ApacheCon 2001.
WML What is WML? WML stands for Wireless Markup Language. It is a mark-up language inherited from HTML, but WML is based on XML, so it is much stricter.
Ericsson Competence Solutions Rev A16/11/011 Mobile Learning Course for R380 and R520 Presented by Michelle Almeida Course Structure Design Guidelines.
FYP: LYU0001 Wireless-based Mobile E-Commerce on the Web Supervisor: Prof. Michael R. Lyu By: Tony, Wat Hong Fai Harris, Yan Wai Keung.
HTML: Hyptertext Markup Language Doman’s Sections.
Wireless Application Protocol. WAP- Wireless Application Protocol Gateway WAP WEB Server Content Browser HTTP IPWAP Deck WML.
McLean HIGHER COMPUTER NETWORKING Lesson 6 Types of Browsers & WAP Explanation of browser functions Wireless access to the Internet Description of.
Presented By: Dixit Wadhwani B.TECH 3 rd YEAR, CSE 07CS Sir Padampat Singnania University Technical Seminar on Wireless Markup Language Guided By:
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
WML & WML Script Presented by Kelvin Liu 01/06/2000.
WWW Programming Model. WWW Model The Internet WWW architecture provides a flexible and powerful programming model. Applications and content are presented.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
HTML HYPER TEXT MARKUP LANGUAGE. INTRODUCTION Normal text” surrounded by bracketed tags that tell browsers how to display web pages Pages end with “.htm”
 Java Server Pages (JSP) By Offir Golan. What is JSP?  A technology that allows for the creation of dynamically generated web pages based on HTML, XML,
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
Web fundamentals: Clients, Servers, and Communication
Project 1 Introduction to HTML.
Introduction to XHTML.
Chapter 27 WWW and HTTP.
M-Commerce Wireless Markup Language (WML) By Prof T.R. Vaidyanathan.
Teaching slides Chapter 6.
Mobile Internet and WAP
Presentation transcript:

Connecting to the Web Using Mobile Devices Representation and Management of Data on the Web

What are Mobile Devices?

Example Scenario Web Book Store Harry Potter (5) Price: Copies in Stock: 3 Harry Potter (5) Price: Copies in Stock: 2 How Much is Harry Potter (5)? Buy it Hmm.. Harry Potter (5) costs $30.00 here…

Characteristics of Mobile Devices Small screen Difficult to type in data Slow connection Small bandwidth Small memory Limited CPU Speech capability Unsecure line Devices are very different one from another

Statistics about Mobile Devices Millions ,400 1,200 1, Projected cellular subscribers More handsets than PCs connected to the Internet by the end of 2003! 'putting the Internet in everyone's pocket' Projected PCs connected to the Internet (Dataquest 10/98) Projected Web handsets

Standards Evolution

WAP: Wireless Application Protocol

What is WAP? WAP is used to access services and information WAP is inherited from Internet standards WAP is for handheld devices such as mobile phones WAP is a protocol designed for micro browsers WAP enables the creating of web applications for mobile devices. WAP uses the mark-up language WML WML is defined as an XML 1.0 application

More about WAP Developed by the WAP Forum The WAP Forum represents over 90% of the global handset market Based on Internet standards (HTML, XML and TCP/IP) Consists of –A WML language specification –A WMLScript specification –A Wireless Telephony Application Interface (WTAI) specification

What is a Micro Browser? A small piece of software that makes minimal demands on hardware, memory and CPU. Can display information written in a restricted mark-up language called WML. Can also interpret a reduced version of JavaScript called WMLScript.

Examples of WAP Use Checking train table information Ticket purchase Viewing traffic information Checking weather conditions Looking up stock values Looking up phone numbers Looking up addresses Looking up sport results

Architecture

Phone Actually Sends HTTP Request!! Observe that you phone is "sending" and HTTP request Request may be to any page Important to distinguish between requests originating from phone vs from browser. Solution: Use User-Agent header

public class BookStoreServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String agent = request.getHeader("User-Agent"); // you have to write the isMobilePhoneAgent method if (isMobilePhoneAgent(agent)) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("Store.wml"); dispatcher.forward(request, response); }.... }

public class XSQLProcessorServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String agent = request.getHeader("User-Agent"); String styleSheet = ""; if (isMobilePhoneAgent(agent)) { styleSheet = "phone-version.xsl"; } else styleSheet = "computer-version.xsl";.... }

WML: Wireless Markup Language

WML Basics Tag-based browsing language, which contains: –Text, images –User input via forms –Hyperlinks & navigation support Based on XML

WML Basics (cont.) Screen views are split into cards Several cards can be put in a wml documents Navigation occurs between cards (in the same or different wml document) One card is display at a time! Note: Several "pages" are downloaded at once

All Decks Must Contain… Document prologue –XML & document type declaration element –Must contain one or more cards...

Hello World Example <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" " Hello World

Basic Tags defines the beginning and the ending of the ‘deck’, like defines the beginning and the ending of a card

The Result on Different "Phones"

Seeing the Result The content type of a WML text is text/vnd.wap.wml You can send a created WML file with a correct content type by –Using setContentType(“text/vnd.wap.wml”) in a servlet –By configuring Tomcat to return the right content type for WML pages

Text Formats <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " normal, strong, emphasized, bold, italic, underline, big and very big

deckit

Tables <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " Name Phone Bart 123 Lisa 321

Anchors The tag defines a link and what to do when a user chooses it Possible tasks: go, prev, refresh Example: Login page The tag always performs a "go" task Login page

Tasks The task represents the action of switching to a new card The task represents the action of going back to the previous card The task refreshes the variables defined on the page The task says that nothing should be done

Example <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " To Hello World

Handling User Input Select lists to choose from a list of options Input fields to enter text or numbers Values are put into variables defined by the attribute key Values are available to all cards in the deck Values can be explicitly sent in an HTTP request for a different URL

Select From Options <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " HTML Tutorial XML Tutorial WAP Tutorial

Input Fields <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " Name: Age: Sex:

FORMAT Control Characters N Numeric character A, a Alphabetic character X, x Numeric or alphabetic character M, m Any character Leading * specifies 0 or more characters (*N) Leading number specifies number of characters (4N)

The do Action The anchor tag allowed us to make text on the screen into a link The tag is similar. However, the linked word does not appear within the text of the screen, but rather in a special place (e.g., bottom left and right)

Detecting a Click Select Next to go to Card 2. I'm Card 2.

Do Tag Syntax Attribute type with value ACCEPT, OPTIONS, HELP, PREV, DELETE, or RESET Attribute label is the text to appear Contains a Task as a subelement (recall that this is one of GO, PREV, REFRESH, NOOP)

Variables Variables can be defined to store data Variables are available in all cards of a deck Can be defined explicitly, or defined by input from the user Setting a value to a variable:

Setting Variables From Input The Number in Text You selected: $(i)

Input Please enter your name: Your name is $(iname). Click Back to go to previous page.

Sending Data to the Server Please enter your first name:

Sending Data to the Server Bart Lisa Homer More...

Collecting Data from More Than One Card First name: <GO URL=“dbi/myServlet" METHOD="POST" POSTDATA="first=$fname&last=$lname"/> Last name:

Three Types of Events onenterbackward – Occurs when the user navigates into a card using a “prev” task onenterforward – Occurs when the user navigates into a card using a “go” task ontimer – Occurs when the "timer" expires

Timer <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " DTD/wml_1.1.xml"> Welcome to the dbi site!! We will bring you to our main page after 15 seconds. This is our main page. Under construction.

After 15 seconds

Template Element The tag defines a template for all the cards in a deck The contents of the tag is added to each card in the deck You can specify only one tag for each deck A template tag can only contain and tags

First story Second story The TEMPLATE Element First story … _____________ Next Main Second story... _____________ OK Main

Displaying Images It is possible to insert images or local icons within display text Images are ignored by non-bitmapped devices <IMG SRC="../images/logo.bmp" ALT="Unwired Planet"/>

WBMP Wap supports WBMP (Wireless Bitmap Picture) 2 bit images It is possible to convert existing images to wbmp The MIME type of the images is declered with the following header: Content-type: image/vnd.wap.wbmp

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "

Adding Images

WMLScript

What is WMLScript? A scripting language for WML pages Derived from JavaScript Is not part of the WML file WML pages only contain references to script URLs Compiled to byte code on the server; byte-code is sent to the WAP browser Optimized for small-memory, small-cpu devices

WMLScript Example Uses Validate user input Generate local message and dialog boxes Access facilities of the mobile device Reduce network round-trips and enhance functionality

WMLScript Example Calls function go_url in file check.wmls with parameter HelloWorld

WMLScript Example extern function go_url(val) { if (val=='HelloWorld') { WMLBrowser.go(" } else... } Allows function go_url to be called from outside the file

WMLScript Standard Libraries Lang – general-purpose math functionality, random number generation, etc. Float – floating point functions String – string processing functions URL – URL processing Browser – WML browser interface Dialog – alert, confirm and prompt boxes

WTAI: Wireless Telephony Application Interface

Using Your Phone as a... Phone So, we can browse the internet with our phone Suppose that there is a web site with the names and telephone numbers of our friends Would like to be able to "click" on a telephone and have the number be dialed How??? Answer: WTAI

WTAI Capabilities Place, receive and terminate voice calls Get information about voice calls Access and modify device's phone book Access call history WTAI is accessible via a link or a WMLScript

Calling a WTAI Function Format: wtai:// / (; )* [! ] is the type of function (usually wp) are parameters sent to the function is a WTAI that may be set as a result of the call.

Calling a WTAI Function (cont.) Example:

XHTML-MP

Do we REALLY have to Learn Another New Language? WML is similar to HTML, yet different Takes time to learn each new language Solution: The new standard is XHTML Mobile Profile Contains: Subset of XHTML (which is an XML version of HTML) and some of wml 1.0

What is XHTML (Basic)? XHTML is HTML, but: –all tags should be in lowercase (why?) –all tags need a closing tag, or need to end with /> XHTML Basic is a subset of XHTML that can easily be supported by mobile devices –e.g., does not contain frames, nested tables

What is WCSS? WCSS is an extension of CSS to be used for mobile devices Same syntax as CSS

Example: style.css BODY { color: #006699; font-family: Arial, sans-serif; background-color: #FFFFFF} TD { font-family: Arial, sans-serif}.bluetext { color: #006699; }.blue { color: #000000; background-color: #99CCFF;}

MovieLife Your #1 wireless movie guide! 1 Quick Search 2 Top Five Movies 3 Find a Movie

Your offer ($): Valid for (mins): Parking meter spot acceptable? Yes No

Advantages of XHTML-MP Based on a well known language Can be written as html, and then translated to XHTML (e.g., tidy) Allows separation of style from content Should become standard across all hand-held devices No "Deck of Cards", pages are loaded one at a time. (Is this an advantage or a disadvantage?) No variables. (Is this an advantage?)

VoiceXML

Voice Browser Use speech to browse internet –Speak to choose links –Speak to provide form input Instead of just "seeing" the web pages, you should hear them! Should work from any phone

Architecture You don't actually have to own an application that "understands" speech!!

VoiceXML Example Hello, World An interactive element. There can be as many of these as you want

Which do you like better, dogs or cats? } [cat cats] { } ] ]]>

<goto expr="'psychological_evaluation.cgi?affliction=' + favorite_animal"/> I'm sorry, I didn't understand what you said. I'm sorry, I didn't hear you.

Challenges VoiceXML is a standard for voice browsing that does not allow combining "seeing" with "talking" What problems are there in implementing a standard that combines both?

Unified Messaging

The Vision Using Universal Messaging, you get all your "mail" in one "box" – –Voice mail –SMS All types of mail in the "box" can accessed using: –computer –telephone

Challenges Text-to-Voice Translation: –Make it sound natural –Same words might be pronounced differently in different contexts ("I will read you the book", "I read the book to you yesterday") Voice-to-Text Translation: –Different accents –Unclear speaking