F
O
R
U
M
N
O
K
I
A
WAP Service Developer's Guide for
Nokia Series 30 Phones with WML Browser
Version 1.1; June 09, 2003
Browsing
Forum.Nokia.com
4.1.2 Line break .................................................................................................................................15
4.1.3 Fieldset element.....................................................................................................................16
4.1.4 Pre element..............................................................................................................................16
Table..........................................................................................................................................................16
Images ......................................................................................................................................................17
4.3.1 Animated GIF ...........................................................................................................................18
Links...........................................................................................................................................................18
Do Element ..............................................................................................................................................18
4.5.1 Prev task....................................................................................................................................19
4.5.2 Cardwide and deckwide scope ..........................................................................................19
WML Input Processing .........................................................................................................................20
4.6.1 Input elements........................................................................................................................20
4.6.2 Direct input access.................................................................................................................21
4.6.3 Select element.........................................................................................................................21
Push ...........................................................................................................................................................23
5.1.1 Service inbox............................................................................................................................23
5.1.2 Service Indication...................................................................................................................23
Wireless Telephony Applications Interface (WTAI) Public Library ........................................24
5.2.1 Making a phone call...............................................................................................................24
5.2.2 Incoming call while browsing............................................................................................24
5.2.3 Sending DTMF tone................................................................................................................24
5.2.4 Adding a phone book entry................................................................................................25
Cookies......................................................................................................................................................25
Accesskey .................................................................................................................................................25
Content Download over WAP ............................................................................................................25
Segmentation and Reassembly (SAR).............................................................................................26
Introduction...........................................................................................................................................................30
WAP Architecture..................................................................................................................................................30
WAP and Internet architecture.........................................................................................................30
Wireless Application Environment (WAE)......................................................................................31
Wireless Session Protocol (WSP) ......................................................................................................31
Wireless Transport Protocol (WTP)..................................................................................................31
Wireless Transport Layer Security (WTLS).....................................................................................31
Developing Applications for Mobile Browsing............................................................................................31
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
3
Forum.Nokia.com
Additional Information ......................................................................................................................................32
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
4
Forum.Nokia.com
Change History
04 Nov 2002
09 June 2003
V1.0
V1.1
Initial document release.
Template changed, Nokia 3510i and Nokia 8910i information removed.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
5
Forum.Nokia.com
Disclaimer
The information in this document is provided ”as is,” with no warranties whatsoever, including any warranty of
merchantability, fitness for any particular purpose, or any warranty otherwise arising out of any proposal,
specification, or sample. Furthermore, information provided in this document is preliminary, and may be changed
substantially prior to final release. This document is provided for informational purposes only.
Nokia Corporation disclaims all liability, including liability for infringement of any proprietary rights, relating to
implementation of information presented in this document. Nokia Corporation does not warrant or represent
that such use will not infringe such rights.
Nokia Corporation retains the right to make changes to this specification at any time, without notice.
The phone UI images shown in this document are for illustrative purposes and do not represent any real device.
Copyright © 2003 Nokia Corporation.
Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation.
Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc.
Other product and company names mentioned herein may be trademarks or trade names of their respective
owners.
License
A license is hereby granted to download and print a copy of this specification for personal use only. No other
license to any other intellectual property rights is granted herein.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
6
Forum.Nokia.com
WAP Service Developer's Guide for Nokia Series 30
Phones with WML Browser
Version 1.1; June 09, 2003
1 Introduction
The following document provides information and practical examples for developers who want to
optimize their WAP services for Nokia Series 30 devices with a WML browser. It is written for service
developers as well as anyone involved in creating the wireless information society who needs to know
more about service creation on mobile terminals. This guide is not intended to describe WAP in detail,
nor is it meant to replace any WAP specification.
1.1
Chapter Topics
Chapter 2 of this document describes several general usability issues concerning WAP service
development. Chapter 3 introduces the browser's user interface elements, keys, display, and browsing
conventions. Chapter 4 outlines some general WML elements that are mandatory features for WAP
1.2.1, according to the WAP Forum specifications. Chapter 5 introduces additional WAP 1.2.1 features
that are supported in Nokia Series 30 phones.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
7
Forum.Nokia.com
2 Guidelines for Design
The Nokia Series 30 UI is designed to be easy to use and intuitive. The following section offers general
guidelines to help developers create browsing applications that will be perceived as usable and easy
to understand.
2.1
Applications for Mobile Use
When deciding what information to include in various applications on a mobile terminal, developers
should consider the types of situations where the mobile phone will be used. The content of the
service should fulfill the needs of the target user group and be optimized for the most common tasks.
Because of the mobility of the small display, the user might primarily use the mobile phone when
there is no PC access to the Internet, and for quick information. Examples might include speedy access
to flight schedules, short news flashes, and access to weather information or checking the
temperature at a traveler’s destination. It is less likely that users will use their mobile phones to surf.
2.2
2.3
Validating WML
There are several XML validators available that validate documents against WML Document Type
Definition. It is recommended that authors validate their WAP pages, because invalid WML is always
treated as an error and discarded (that is, it is not shown to the user).
GPRS Usability
GPRS enables efficient use of resources, instant access, fast delivery of information, and innovative
charging models.
2.3.1
No changes required by developers
Since the WAP standard was designed to allow content to be delivered over any bearer service, it is
not necessary for developers to make changes to their WAP services or applications. This is true even
when delivery of the services is enabled over GPRS, 3G, or any other networks.
2.3.2
Cache utilization
Developers should use HTTP proxy to cache WML content whenever the content is accessed through
the Internet. The proxy should be placed close to the WAP gateway to minimize the distance for data
transfer between the two components. The home page (first page) can alternatively be kept on a local
server, close to the WAP gateway.
Most clients have a cache; using it is a good way to improve the user's experience. Cache headers
should be sent with documents to ensure that pages are cached on the client if possible. Content
developers should not assume that pages are cached by default.
2.3.3
Usability tips
Round trips in the network add a minimum two-second delay to the response time. Therefore the
number of round trips should be minimized. The response time of a first page has a strong impact on
the user experience, so it is worth optimizing.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
8
Forum.Nokia.com
2.3.4
Infrastructure optimization
The latency between the WAP gateway and content server should be minimized. Each query traverses
this link twice, once as a request and once as a response.
The WAP gateway should be placed close to the GPRS gateway. (The GPRS gateway is technically called
a “Gateway GPRS Support Node,” or GGSN.) “Close” in this instance refers to both latency and the
probability of packet loss. Lost messages cause additional delays due to HTTP retransmission.
2.4
2.4.1
Site Organization
Doormat pages
It is not recommended to start the site using a doormat page, which serves no other purpose than to
perhaps greet the visitor and display a logo. It is better if the user can go to the service directly.
2.4.2
Login
Entering login information can be time consuming with a mobile phone. Login information should be
requested only once during the session, not each time after starting navigation from the main page.
Case-sensitive checking of user names and passwords should be avoided.
2.4.3
Detecting the browser
When using a modern Web site hosting environment, it is possible to detect the browser as well as
the language mode and supply the correct content transparently, without user interaction.
The Nokia Series 30 mobile browser sends a user agent field in the WSP header to the WAP gateway
when the content is fetched from the origin server. This user agent field can be used to define the type
of browser and then build a logic on the origin server to serve suitable content. From the WAP
gateway, it is then delivered inside the HTTP header.
2.4.4
Optimizing for size
Interactive pages should be short; informative pages, long. Having pages that are too short and
require many downloads is worse than having close-knit information on one longer page. In
particular, interactive pages with forms should not be too long, as users start to lose their feeling of
control if the form is more than two screenfuls. Empty rows can be misleading, as users may think
there is no more content below.
If, for example, a page contains a story or instructions, the entire content should be on one page.
Subtitles that take the user to points within a page help when browsing long, informative pages.
It is difficult to give hard and fast guidelines about how many links should be provided on one link list
page. If the links clearly belong together and are easy to browse (one line per link, in alphabetical or
other logical order), it is better to provide 30 links on one page than 5 links on six pages.
As for the total downloading time, some studies place an upper limit for acceptable delay on a PC-
based browser at 10 to 15 seconds, including all images. It is highly recommended to have a response
time (excluding connection time) of less than 10 seconds in a mobile environment.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
9
Forum.Nokia.com
2.4.5
The first screen
The first (topmost) screenful of any page is the most important. All often-used navigational links,
search fields, login screens, and the bulk of the information should reside there. The user can then
navigate forward before the rest of the page has been loaded, and will not have to scroll the page.
Wasting the top of the page on banner advertisements or non-informative graphics should be
avoided. It is better to place advertisements at the left or right edge.
2.5
Pictures and Tables
Downloading images takes time, and many users may opt to switch off the loading of images for
more speed. Authors should try to optimize image size. If there are large pictures on the site, authors
should consider using thumbnails for the image index. Color images should be tested for visibility on a
monochrome display. Usually, the same image cannot be used for color and monochrome displays.
An alternative text (using the alt attribute of the <img> element) should be provided for images that
convey information. A null alternative text (alt=””) should be used for images that do not convey
information, or that are used for page layout or decorative purposes only.
The table width or height should not exceed the screen size, since scrolling will make the table less
readable (e.g., column titles are not visible after scrolling down).
2.6
Efficient Navigation
The service provider must be responsible for navigation as a whole. A consistent navigation method
should be provided within the service. Each page should contain links to the main page of the site and
to the possible subsection main pages.
The back function can also be provided as a link on the page, but should not be used, for example, on
pages that will return the user to a purchasing or confirmation page.
If access keys are used, their definitions should be consistent for the main page links, e.g., “1” always
takes the user to the main page of the service.
2.7
Search
A piece of information in the service can be found by moving ahead in a tree hierarchy or by
conducting a search. Ideally, both methods should be provided. The tree hierarchy helps the first-time
user clarify the service structure, but it may be too slow for an experienced user.
Search results should be optimized to include only a few items; if more are found, the user should
have the opportunity to narrow the search criteria.
2.8
Titles and Element Labels
The title describes the contents of the display. Use of titles is recommended in WML. Titles help the
user navigate in the application because they remind the user where s/he is within the application. It
may be a good idea to start the title with the service’s name and keep the total length of the title
short. The item previously selected by the user should determine the header text. For instance, the
title “Bookmarks” tells the user that the display contains a list of bookmarks in the application and
that the options item previously selected was Bookmarks.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
10
Forum.Nokia.com
Proportional fonts are used in header text, and if the header text is too long, it is cut automatically. Cut
titles are usually better than abbreviations, because the user may be confused by unfamiliar
abbreviations.
Although short words are recommended for element labels, acronyms that are not well known by the
target user group should be avoided. The same label should always be used for the same thing,
especially with function labels such as Delete, Remove, Erase, Clear, and Destroy.
2.9
Error Messages and Confirmations
It is especially irritating for users to receive error messages and be asked to correct the input. Services
should be very flexible when interpreting input, e.g., allowing several different formats for date and
time. If an error message must be shown, it should be helpful and polite, explaining why the action
could not be executed, and providing an easy way to correct the situation.
After the user has chosen a command that will carry out an action such as destroying information or
moving money, it is essential to provide a confirmation page before executing the action. It should
also be easy for the user to check the effects of the action. For example, when deleting an item, it is
best to first ask for confirmation and then inform the user that the deletion was executed successfully.
2.10
A Usability Test
It is always good to perform a usability test for new applications. People who have not been involved
in the design or development of an application tend to notice potential usability problems that are
often not obvious to those who know the design by heart. Usability tests should always be performed
as early as possible in the development process. Any necessary changes resulting from the tests can
then be implemented within the development timetable. Testers who are representative of the future
end users should be used. At the least, tests should be conducted on a small scale if the schedule does
not allow for extensive testing.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
11
Forum.Nokia.com
3 Introduction to the User Interface
The following chapter offers a brief overview of the user interface style in 96 x 65 pixel screen
resolution phones. The main focus is on the WAP services element (WAP browser) of the phone. The
WAP browser user interface is designed to comply with the user interaction handling known from
other applications in the phone.
The user interface style is a combination of specific user interface hardware such as keys and display;
user interaction conventions, which include input and output functions and their relationships; and the
audio-visual appearance, which is used in the user interaction conventions. This chapter concentrates
on the hardware part of the 96 x 65 pixel resolution user interface.
3.1
Nokia Phones with 96 x 65 Pixel Screen Resolution
Nokia Series 30 phones have a WAP browser with enhanced features and increased usability. Predictive
text input (T9) can be used in the WAP browser; predictive text input in WAP and a picture viewer are
also supported. Nokia Series 30 phones support Push service indication; in addition most of the June
Nokia 3410
Nokia 3510
Nokia 6310
Nokia 6310i
Nokia 6510
WAP 1.1 +
Push
WAP 1.2.1
WAP 1.2.1
WAP 1.2.1
WAP1.2.1
GSM900/180
0
GSM900/180
0
GSM900/180
0
GSM900/180
0/1900
GSM900/180
0
CSD
CSD, GPRS
CSD, GPRS
CSD, GPRS
CSD, GPRS
Two soft key
UI
Two soft key
UI
Two soft key
UI
Two soft key
UI
Two soft key
UI
3.2
User Interface Hardware – Keys and Display
3.2.1
Two Soft Key Display
The display is a full dot-matrix display with a display resolution of 96 pixels (horizontal) by 65 pixels
(vertical). The display consists of the application area, header area, and an area used for the soft keys.
∗ Excluding Nokia 3410
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
12
Forum.Nokia.com
Figure 1: Structure of the browser screen
The application area is 96 pixels (horizontal) by 45 pixels (vertical). It includes four lines of main text
and can also be used for displaying graphics, which can be scrolled four ways (picture viewer) until the
maximum deck size.
3.2.2
Keys in Two Soft Key User Interface
The Send/Talk key works as a selection key.
The End key exits a data call/GRPS connection and goes into idle state when pressed twice.
The two soft keys are assigned actions that enable the user to manipulate the user interface by making
selections and entering, editing, and deleting text. In Nokia 68xx there is also a third soft key, which is
used only as profile key.
-The left soft key is used as a yes/positive key. It contains options that execute commands and
go deeper into the menu structure. Some example functions are Select, OK, and Options.
-The right soft key is used as a no/negative key. It contains options that cancel commands,
delete text, and go backwards in the menu structure, such as Back, Exit, and Clear.
The scroll keys (arrow keys) allow the user to scroll the options or text in the current display.
3.3
3.4
3.5
Display Fonts
All fonts are proportional fonts. Proportional fonts give a dynamic and minimized width for
each character, improve readability of the display texts, and generally allow more characters to
be displayed per line. On the other hand, having proportional fonts means that it is difficult to
tell how many characters there can be in each line, e.g., compare characters “W” and ”i.”
Accessing the WAP Browser
The browser is accessed by selecting Services from the menu and entering a home page defined for the
currently active settings or a bookmark. For quick access to the browser, the user can make a long key
press on the 0 key; the user is then taken to the home page that is defined for the currently active
settings set. The access point and home page can be set in the Services -> Settings menu.
Navigation, Labels, and Titles
The user should be provided with consistent card headers, element titles and do-element labels. The
title of a <select> element is used in the header of a selection list or option groups list. The title of an
<optgroup>element is used as an option group title and in the header of its selection list. The title of
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
13
Forum.Nokia.com
an input element is used in the editor title. The label of a do element is used in the Service options
behind the Options soft key.
3.6
3.7
Scrolling
The user can move up and down in a card view when it contains elements (hotlinks, input
elements, and selection list items) and static text areas between them. This is done by
”jumping” from element to element. Scrolling through long static sections (that is, text lines) is
done line by line. The first element of a card is highlighted by default if it is on the first display.
Picture Viewer
The picture viewer lets users perform horizontal and vertical scrolling of pictures/animations that are
too wide/high for the display. The picture viewer can only be activated by selecting the options list
item View Picture if the currently active page contains at least one picture/animation. In the picture
viewer, pictures/animations are displayed similarly to the way pictures/animations are displayed in
the browser display except that only one picture/animation can be viewed at a time.
3.8
Cache
The browser places viewed cards in cache, which allows previously visited cards to be quickly accessed,
as there is no need to reload them. The cards stay in cache until it is manually cleared by the user or
until the memory is full. See the Nokia WAP Phone Characteristics document for information on cache
size in different Nokia WAP phones.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
14
Forum.Nokia.com
4 WML Elements for the Nokia User Interface
This chapter serves as a guide for using WML in designing services. It provides an overview of
graphical user interface elements, that is, the WML elements that are critical from the
rendering point of view and their WML capabilities supported by the browser. The document
does not include all possible WML elements and attributes. WAP service developers should pay
special attention to Sections 4.2: Table and 4.3: Images.
The WML elements are briefly described and demonstrated with screenshots. Code examples
include only the essential part related to using the elements, i.e., the document prologue is not
shown after Example 1.
4.1
Text Formatting
The contents of a WML card are displayed in the Application area of the display (see Figures 4.1
and 4.2). The card is a container of text, images, tables, and input elements. The order of
elements in a card is significant, as they appear on the screen in the same order.
4.1.1
Paragraph and content alignment
The paragraph element, p, enables word wrapping and content alignment. A paragraph
always starts on a new line. Normal static text information is always wrapped on a display,
unless word wrapping is set off in the browser settings.
Insignificant white space is ignored. If more than one white space separates the constituents
of a text, these white spaces are ignored unless the pre element is used. See Section 4.1.4 for
more information on the pre element.
The content inside a paragraph can be aligned to the left, center, or right by option; left
alignment is displayed by default. Alignment is determined in paragraph attributes (for
example, <p align="right">). Word wrapping can be set to wrap or nowrap by using the
mode attribute in paragraph.
<p align="center">
Align "center"
</p>
<p align="right">
Align "right"
</p>
<p align="right">
<img alt="3510i" src="file://C:/USERS/wml/3510i.gif" align="top" hspace="0"
vspace="0"/>
</p>
Example 1: Alignment <align>
4.1.2
Line break
New lines in text can be defined by a line break. The line break element, br, can be used inside
other elements as well, as long as it belongs to a paragraph. If a line break is defined after an
aelement, the line break is ignored. If an empty line is needed between two links, it is
necessary to add two line breaks between the aelements.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
15
Forum.Nokia.com
4.1.3
Fieldset element
The fieldset element allows the grouping of related fields and text. The basic idea of grouping
is to show the grouped items on the same display if possible. If the items cannot be displayed
on the same display, the user is not given any notification. Fieldset always starts a new line
and ends with a line break.
4.1.4
Pre element
The pre element is supported. When the pre element is used, the content shown is rendered as
“preformatted” to the extent possible. This implies that white space is left intact when
rendered, that the font in the cards remains the same as for plain text in a card, and that word
wrapping is enabled/disabled according to how the browser is set.
4.2
Table
The <table> element is used together with the <tr> and <td> elements to create sets of rows and
columns of data, such as text, images, and so on. It is possible to have text, images, and tables on the
same card. The cells are shown in bordered rows and columns.
The size of the cells is dynamic, according to the content of the cells. The widest cells affect the
width of the other cells in the same column. There is a minimum cell width of 10 pixels in
order for the columns to remain discernible. The width of the rows will be adapted so that all
can fit. When more cells are defined than can be on the screen, the cells will all be of the
defined minimum width. When the content of the cells is too large to fit the cell, its content is
truncated and three dots are added.
A maximum of one text, image, or link element can be shown in each cell when no row in the
table has been selected. Otherwise text, image, as well as link elements can be shown in a cell.
In a text element, if line breaks are defined, several lines can be shown at a time. When no row
has been selected, the longest line in a cell defines the width of the cell if the cell can be
shown in full width. Otherwise lines of excessive length are truncated and three dots are
added. The full content of each cell can be viewed by scrolling.
The title of the table is shown when a row is selected. If the table has no title, the title of the
card in which the table is situated is used as a title for the table.
<table align="LCC" columns="3">
<tr>
<td>Date</td>
<td>F'cast</td>
<td>T °C</td>
</tr>
<tr>
<td>
<anchor title="date">M 6/7
<go href="#date" method="get" sendreferer="false"/>
</anchor>
</td>
<td>
<anchor>
<img alt="rain"src="file://…/rainy.wbmp"
align="bottom"/>
<go href="#descr" method="get" sendreferer="false"/>
</anchor>
</td>
<td>25°C</td>
</tr>
<tr>
<td>T 6/8</td>
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
16
Forum.Nokia.com
<td> <img alt="part cldy" src="file://…/partcldy.wbmp"
align="bottom"/> </td>
<td>27°C</td>
</tr>
<tr>
<td>W 6/9</td>
<td> <img alt="cloudy" src="file://…/cloudy.wbmp"
align="bottom"/> </td>
<td>24°C</td>
</tr>
<tr>
<td>T 6/10</td>
<td> <img alt="rainy" src="file://…/rainy.wbmp"
align="bottom"/> </td>
<td>28°C</td>
</tr>
<tr>
<td>F 6/11</td>
<td> <img alt="sunny" src="sunny.wbmp" align="bottom"/> </td>
<td>29°C</td>
</tr>
</table>
Example 2: Table element
4.3
Images
The graphics formats Wireless Bitmap (wbmp), static gif (.gif 87a), and animated gif (.gif 89a)
are supported. The static graphics area is at maximum 78 pixels wide and 30 pixels high, but
vertically and horizontally scrollable until the maximum deck size. However, the animated gif
graphics area is at maximum 78 pixels wide and 30 pixels high. Images fitting in the graphics
area are centered unless specified otherwise by the service provider. Static images that are too
wide are left–aligned and truncated on the right. Images that are too long are top–aligned but
scrollable down.
The displaying of images is optional and can be turned off in the browser appearance settings.
Images can also be used inside a table and as a link (see Example 4.2 above). An image that
functions as a link is represented with a full-line frame around it. Images appear in a separate
line than text.
Figure 2: Image in Nokia 6310
Image sizes of a maximum of one line, that is, 10 pixels high, may be shown with two lines of
text on the same display above and/or below the image. Similarly, with an image of a
maximum of 20 pixels there can be one line of text.. There cannot be text next to an image;
the image will always start its own line.
If a requested image does not exist, a small default picture will be shown. Use of the image alt
attribute value is recommended.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
17
Forum.Nokia.com
4.3.1
Animated GIF
number of frames allowed is 13 (note, maximum file size is 2.4 kb).
The animation can be viewed in the browser view. After running the animation in looping
mode for 50 loops the animation will stop. The last frame of the animation will be shown as a
static gif.
4.4
Links
The anchored link element specifies a hotlink. Links are underlined; in Nokia 3510i links are
displayed and underlined in blue. An active link is shown in inverse colors. When a user selects
a link, the associated task is performed. When the link is active, the options list of the browser
display is extended with the option Select. The user can also select a link by pressing the Send
key.
Figure 3: Selected link is highlighted
The a element is a short form of the anchor element, and is bound to a go task without
variables. In general it is recommended to use the a element instead of the anchor where
possible, to allow more efficient tokenization.
A hotlink is automatically followed by a line break. If a line break is defined after an a element,
the line break is ignored. If an empty line is needed between two links, it is necessary to add
two line breaks between the aelements. If a hotlink does not have a title or label, the URL
address of the link is displayed in its full length, and functions as a normal hotlink.
<anchor>text<go href="#card2"/>
</anchor>
<anchor>
<img alt="golf" src="file://…/golf.wbmp"/>
<go href="#card2"/>
</anchor>
Example 3: Image as a link
4.5
Do Element
The do element provides a general mechanism for the user to act upon the current card. The
do elements are mapped behind the browser´s options list together with the preloaded
options. If a do element contains a prev task, the right soft key is labeled "Back." Use of a prev
task is highly recommended in every card because it enables backward navigation. Do
elements have a label, i.e., the text of the item in the browser’s options list. If the label is
available it is used as an option list item. If there is no label, a default text is displayed,
according to Table 4.1 below. However, it is highly recommended to use the labelattribute.
1 All phones that are introduced in this document support gif image formats in the WAP browser.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
18
Forum.Nokia.com
Static text
OK
Type
Accept
Prev
Help
Back
Help
Reset
Reset
Options
Delete
Options
Erase
Unknown
Unknown
Table 1: do elements label default text
4.5.1
Prev task
The author of the WAP service is always responsible for the working navigation model inside
its own service. If there is a need for back functionality, it should be explicitly defined with the
prevtype doelement. The WAP browser does not have any implicit back functionality.
4.5.2
Cardwide and deckwide scope
The do element can be expressed in two ways: in cardwide scope or in deckwide scope in
template. Doelements will be stored in the browser’s options list together with the preloaded
options.
<template>
<do type="prev" label="Back">
<prev/>
</do>
</template>
Example 4: Deckwide backward navigation, prev
<do type="prev" label="Back"
<prev/>
</do>
Example 5: Cardwide backward navigation
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
19
Forum.Nokia.com
<wml>
<template>
<do name="help-button" type="options" label="Ask Help">
</do>
<do type="options" label="Contact">
</do>
<do type="prev" optional="false">
<prev/>
</do>
</template>
<card id="card1" title="Homepage" ordered="true">
<p align="left">
Please, register
<br/>
Username:
<input name="username" type="text" title="Username"
emptyok="false"/>
Password:
<input name="password" type="password" title="Password"
emptyok="false"/>
<do type="accept" label="Enter">
<go href="#confirm" method="get" sendreferer="false"/>
</do>
</p>
</card>
<card id="confirm" title="Confirmation" ordered="true"
newcontext="false">
<p align="left">
$(username), thank you for registering.
</p>
</card>
</wml>
Example 6: Do element
4.6
WML Input Processing
Input processing lets the user input requested information to the service. There are two kinds
of input elements: text fields determined by an input element and selection lists determined
by a selectelement. Optionelements are used to specify a single choice option in a
selectelement. Optionelements can be grouped by using an optgroupelement (see
Example 4.9).
4.6.1
Input elements
The inputelement, which is displayed with brackets, specifies a character entry object. By selecting
the input element, the user evokes the editor. The editor is never displayed directly in the card view.
The options list of the browser display is then extended with the "Edit" option. The T9 option is
enabled in the browser. The user can select the input element by pressing the Send key. The input
element consists of a title, brackets, and a value. There can be a default value inside the brackets. The
title of the element is only displayed when the editor box is displayed, which is after having selected
the input element. The value with the brackets is always wrapped to the next line. If the value cannot
fit into one line, the end of the content is truncated and three dots are added.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
20
Forum.Nokia.com
4.6.2
Direct input access
The user can also select the input element by pressing any numeric key when the edit box
appears and the pressed key is already placed in the edit box, i.e., the user can just start
inputting characters and the edit box appears automatically.
When T9 (predictive text input) is activated, the soft keys are "Options" and "Back" when the editor is
empty. Otherwise the soft keys are "Options" and "Clear." This also applies if T9 is deactivated. Input
fields can be specified by the input element's type and format attributes.
<template>
<do type="previous" label="Back" optional="false">
<prev/>
</do>
</template>
<card id="card1" title="Homepage">
<p align="left">
Please, register
<br/>
Username:
<input name="username" type="text" title="Username"/>
Password:
<input name="password" type="password" title="Password"/>
<do type="accept" label="Enter" optional="false">
<go href="#confirm" method="get" sendreferer="false"/>
</do>
</p>
</card>
<card id="confirm" title="Confirmation" ordered="true">
<p align="left">
$(username), thank you for registering.
</p>
</card>
</wml>
Example 7: Text input <input>
4.6.3
Select element
Selection lists are elements that specify a list of options for the user to choose from. There are
two kinds of selection lists supported: single-choice and multiple-choice lists. The user can
select multiple choice, if the multipleattribute is set as true(selected items are marked
with a selection symbol). The user can highlight and select the selection list item on a card.
The options list of the browser display is extended with "Select." The user can also select the
selection list by pressing the Send key. That same item will be highlighted and displayed with
a selected icon in front of it once the user re-enters the list during the same browsing session.
A selection list item on a card looks similar to an inputelement item; it consists of a title,
brackets, and a value. There is always a default value inside the brackets in a single selection
list (in a multi-selection list there are by default three dots between the brackets unless
specified otherwise by the service provider). If there are no options in the selection list, three
dots are displayed between the brackets. The title is not displayed in the card itself. The value
with the brackets is always wrapped to the next line, which means that there will never be
text and a value with brackets on the same line. If the value cannot fit onto one line, the
remaining part of the content is truncated and replaced with three dots.
The title of the selection list is the first item of the card containing the selection list. If the
value is a value of a multi-selection, the selections are separated with commas. If the value
cannot fit into one line, the end of the content is truncated and replaced with three dots. The
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
21
Forum.Nokia.com
user can view the value between brackets in full by pressing the # key. Until the # key is
released, the content that can fit on the screen is viewed. The soft keys are hidden while the
content is viewed in full. The layout in full view is the same as the one selected by the user for
browsing.
The optionelement specifies a single choice option in a select element. Options can be
grouped with an optgroupelement, which specifies a group of choice items in a select
element. An optgroupelement is displayed with an icon in front of the title of the
optgroupelement. An optgroupelement can be used in single selection lists as well as
multiple selection lists. Only in multiple selection lists it is possible to have option groups that
allow multiple selections.
<wml>
<card id="phones" title="Information Request">
<p align="left">
Send me more information about:
<select name="models" title="Products" multiple="true">
<optgroup title="Phones">
<option value="Nokia 7650">
7650
</option>
<option value="Nokia 9210">
9210
</option>
<option value="Nokia 6310">
6310
</option>
</optgroup>
<optgroup title="Accessories">
<option value="Battery">
Battery
</option>
<option value="Desktop stand">
Desktop stand
</option>
<option value="Charger">
Charger
</option>
<option value="Headset">
Headset
</option>
</optgroup>
</select>
Please, provide your
<br/>
Name:
<input name="name" type="text" title="Name" emptyok="false"/>
</p>
<do type="accept" label="Confirm" optional="false">
<go href="#confirm" method="get" sendreferer="false"/>
</do>
<do type="prev" optional="false">
<prev/>
</do>
</card>
</wml>
Example 8: Select and optgroup
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
22
Forum.Nokia.com
5 Additional WAP 1.2.1 features
5.1
Push
Nokia Series 30 phone is able to receive Push Service Indication (SI) type service messages. Push service
messages are an ideal way for service providers to activate users, since they can be used to notify users
of updated content or to alert them about information in their areas of interest (e.g., new e-mails,
changes in stock prices, flight schedule changes or news headlines). Service messages indicate
downloadable content. The user can view indicated content by using the Service Inbox and the WAP
browser.
5.1.1
Service inbox
The service provider can push a Service Indication message to the phone, which is then saved to the
Service Inbox in the Services menu. The user can view indicated content afterwards by using the
Service Inbox. In the Service Inbox, the received service messages can be viewed, deleted, downloaded,
or moved to another folder. Users can define in the Service message settings whether to receive service
messages or not.
Service messages are sorted in the Service Inbox into the following order:
1. All unread Service Indications appear highest on the list and are grouped according to the applied
priority level, starting with “signal-high,” then “signal-medium,” and finally “signal-low” (see Section
5.1.2 for more information about the priority levels). The messages in each group are shown in
chronological order according to the receiving time.
2. All read service messages appear below unread service messages and are shown in chronological
order according to when the Service Indications were created.
5.1.2
Service Indication
At the least, a Service Indication should contain text that is displayed to the user and a URL address of
content that may be dynamically generated for each push message in the application server. The
Service Indication can contain the following information:
• Text
• URL address
• Creation date
• Creation time
• Expiration date
• Expiration time
Each Service Indication has a Service Indication ID, which is used to uniquely identify different kinds of
Service Indications. Service providers set the Service Indication IDs for messages. The ID allows
reception of multiple Service Indications with the same URL address and priority level. If the received
Service Indication has the same ID as the one stored in memory, the received Service Indication will
replace the stored one only if it is newer.
Service providers can determine the priority level of the message. Priority levels are signal-high, signal-
medium, signal-low, signal-none, and delete. Priority level defines how the received messages are
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
23
Forum.Nokia.com
ordered in the Service Inbox and also whether the user is notified about received Service Indication.
The defined priority level has the following impact:
• signal-high: Notification with an SMS alert tone is presented.
• signal-medium: Notification with an SMS alert tone is presented.
• signal-low: No indication of received Service Indication is displayed to the user. The Service Indication
is silently stored in the Service Inbox.
• signal-none: Service Indication is automatically discarded. The user is not notified.
• delete: If a Service Indication already exists, the Service Indication with the same ID in the Service
Inbox is deleted. If there is no Service Indication with the same ID in the Service Inbox, the received
Service Indication is discarded. The user is not notified.
• If no attribute has been specified, Service Indications will be received as signal-medium.
5.2
Wireless Telephony Applications Interface (WTAI) Public Library
The WAP browser supports three Wireless Telephony Applications Interface (WTAI) public
library functions: making a call while browsing, sending DTMF tones, and saving numbers and
names to the phone book. These functions, MakeCall, SendDTMF, and AddPBEntry, can be used
anywhere in the WML code in the same way as when URI or script references are used for
normal non-WTAI references.
5.2.1
Making a phone call
The MakeCall function is used for making a phone call directly from the WML browser
application. A typical example of the usage of MakeCall is when the user selects an anchored
link, which initiates a phone call. When a MakeCall function is executed, the user is asked to
confirm that the dial-up is to be made. If the phone number that is about to be called does not
exist in the phone book, a confirmation query with the phone number is displayed. If the
number to be called exists in the phone book, a confirmation query is displayed with the name
fetched from the phone book. If the user accepts making the phone call, another confirmation
query is displayed with text "Quit browsing?"
If the user accepts both queries, the browser session will be terminated and the browser
application will close down. The call will then be initiated. When the call is terminated, the
phone is in idle state. If the user rejects the latter confirmation query, the call will be initiated
from within the browser display and the user can browse cached content during the call. No
in-call options such as Mute, Hold, etc., are accessible from within the browser application. The
options list belonging to the browser display remains unaffected by the fact that a call is
active.
5.2.2
Incoming call while browsing
Normal call handling applies when a call is initiated from the browser part (e.g., the called
party is busy, call barring is enabled, etc.).
5.2.3
Sending DTMF tone
The user can send DTMF tones through the network by executing a WTAI function called
SendDTMF. Just like MakeCall, a typical way of using SendDTMF is to assign the SendDTMF
function to an anchored link. The user must have a voice call active. When the DTMF tone has
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
24
Forum.Nokia.com
been sent, the user returns to the card/deck where s/he initiated the sending. The voice call
remains active.
5.2.4
Adding a phone book entry
The AddPBEntry function offers an easy way to store a phone number and a corresponding
name onto the phone book application from a WML card. The service provider provides the
name and number. When the user activates an AddPBEntry function and the service provider
has declared a name and a number, the phone displays a confirmation query with the text
"Save name." When the user accepts the confirmation query, another confirmation query with
the text "With number +44 123 123 4567" is displayed and the number is stored in the phone
book application. When saving is complete, the currently active card is displayed again. Note
that the user does not have to be online or have any voice calls active in order to use the
AddPBEntry function.
5.3
5.4
Cookies
Cookies enable the storage of data such as user information to ease browsing by reducing the amount
of information the user must enter. For example, login can be configured dynamically so that it is
displayed only if the application cannot identify the user.
Cookies in cached files are ignored.
Accesskey
Service providers have the possibility of using the accesskey attribute of the aelement and the
anchor element. This allows users to open links with a long press of the associated access keys.
Keys allowed for access key use are the 0-9 number keys. The service provider should indicate
to the user which keys to press in order to open the desired links; this can be accomplished by
adding the label of the key to the link concerned, e.g., if the service provider associates the “2”
key to a link, the service provider should add the number “2” to the label of the link.
<a accesskey="2" href="phone.wml">(2)a </a>
Example 9: Using accesskey "2"
Only one link can be associated with each access key. A key will also open its corresponding link if the
service provider has assigned it as an access key but does not indicate this to the user. If the user tries
to open a link by using a key that the service provider has not associated with any link, the key will not
react to the action of the user. An access key has an effect on a link even if the link is not highlighted.
The link chosen by the user is highlighted after the corresponding access key has been given a long
press. This is visible while the terminal is fetching the content of the link. A long press of an access key
also has an effect when a card contains both access keys and a highlighted input element. An input
element can be activated by an associated access key through a long press in the same way as
anchored links (described above).
5.5
Content Download over WAP
Content download is a technology that is used to deliver digital content such as entertainment and
business applications to mobile terminals. Another important application is for personalizing terminals
according to a user’s preferences and lifestyle. Content downloading can be initiated by an end user or
by a network application.
The content download mechanism between the mobile terminal and content source is based on open
technologies such as HTTP (and WSP) and Java Community Process technology. This technology allows
the creation of an open, multivendor market for terminal vendors as well as for network server and
broker vendors.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
25
Forum.Nokia.com
5.6
Segmentation and Reassembly (SAR)
Some of the Series 30 phones support Segmentation and Reassembly (SAR) functionality, which is an
optional feature in the Wireless Transport Protocol (WTP) layer defined by the WAP Forum. SAR is used
to split large WTP messages into a number of smaller datagrams and selectively retransmit failed
datagrams. The use of SAR improves over-the-air efficiency for downloading large messages to the
phone and makes content download (e.g., Java MIDlet download) and MMS transfer faster and more
reliable.
The use of SAR enables the transmission of large data files through WAP to the mobile phone. To use
SAR, it must be supported by both of the communicating parties, typically the WAP gateway and the
WAP browser. WAP service developers do not need to take any actions to enable SAR in their service
development. Even though phones supporting SAR allows downloading of large files, it should be
noted that other elements in the network (WAP gateways) might restrict the downloadable file sizes.
Nokia WAP gateways let through files up to 100 KB but the limit might be smaller than that in some
gateways. Another factor to keep in mind is that SAR can only be used in connection-oriented
(permanent) mode.
Further information about SAR functionality can be found in the "Segmentation and Reassembly in the
Wireless Transaction Protocol" document, which is available at the Forum Nokia Web site,
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
26
Forum.Nokia.com
6 Terms and Abbreviations
Term or Abbreviation
Description
Card
Deck
A single WML unit of navigation and user interface.
A collection of WML cards that is the smallest
downloadable unit. You cannot download a single card in
a deck; you must download the entire deck. Service
developers should be aware of this, and not create large
applications in a single deck.
Do element
A way of defining the binding between events (such as a
user selection) and a task (for example, to go
somewhere).
DTMF tone
GPRS
Standard tone used to transmit numeric data via
telephone. Generated when numeric keys are pressed.
General Packet Radio Service. Mobile service that gives a
packet switched access over GSM to external data
networks with high peak transfer capacity.
Graphical User Interface.
GUI
HTML
Hypertext Markup Language. The markup language used
for publishing hypertext on the World Wide Web.
HTTP
Hypertext Transfer Protocol. An application-level protocol
for transferring HTML documents in the Internet.
Hyperlink
A link within a document or card that allows quick
navigation to another document (card).
A markup element that allows for interaction with the
user, that is, letting the user input textual values. These
can be used for inputs to locally stored scripts, or for
parsing to origin servers.
Input element
Multiselection list
Navigation
A selection list, which allows the user to scroll and select
several (or none) options to be active.
The concept of moving between menu items, decks, and
cards.
Proportional font
A font in which different letter widths do not necessarily
have the same number of pixels. "W" and "I" are good
examples.
SAR
Segmentation and Re-assembly. A functionality used to
split large WTP messages into a number of smaller
datagrams and selectively retransmit failed datagrams.
List of user-selectable options.
The phone has one or more function keys whose function
depends on the state of the phone. These keys are called
soft keys because there is an associated text on the
display.
Selection list
Soft key
UI
User Interface.
URL
Uniform Resource Locator. String that identifies resources
in the Web.
W3C
World Wide Web Consortium. An organization that
develops interoperable technologies for Web.
Formatting rule for text appearance.
Wireless Markup Language. Markup language based on
Extensible Markup Language (XML), which is intended for
Word wrapping
WML
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
27
Forum.Nokia.com
use in specifying content and user interface for
narrowband devices, including cellular phones and
pagers.
WSP
Wireless Session Protocol. A layer of WAP stack, which is
optimized for low bandwidth bearer networks with long
latency.
WTAI
Wireless Telephony Applications Interface. Feature that
provides the means to create telephony applications by
using a WAE user-agent with the appropriate WTAI
function libraries.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
28
Forum.Nokia.com
7 References
GPRS-related documentation
Nokia Mobile Internet Toolkit 4.0
Nokia Phone User's Guides
Segmentation and Re-assembly-related documentation
WAP Push-related documentation
Wireless application specifications
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
29
Forum.Nokia.com
Appendix A. Wireless Application Protocol (WAP)
Introduction
The Wireless Application Protocol (WAP) is a set of protocols that allows the development of
applications and services for use with mobile phones and other mobile devices. The WAP Forum
maintains these protocols and their related standards and specifications.
The WAP Forum consists of a number of high-tech companies from the information technology,
software, and telecommunication industries. The objectives of the WAP Forum are to:
•
•
Bring Internet content and advanced data applications to digital mobile phones
Create a global wireless protocol specification that works across different wireless network
technologies
•
•
Enable the creation of content and applications that scale across a wide range of bearer
networks and device types
Embrace existing standards and technology wherever possible
WAP Architecture
WAP and Internet architecture
In order to apply as much leverage to the existing Internet standard as possible, the WAP stack closely
follows the Internet model. This is illustrated in Figure 1A.
Wireless Application
Internet
HTML
Other Services
and
Applications
Wireless Application
Environment (WAE)
TM
JavaScript
HTTP
Wireless Session Layer (WSP)
Wireless Transaction Protocol (WTP)
Wireless Transport Layer Security (WTLS)
WirelessDatagramProtocol (WDP)
TLS - SSL
TCP/IP
UDP/IP
Bearers:
SMS USSD CSD
IS-136
CDMA CDPD PDC-P Etc..
Figure 1A: Comparison of Internet and WAP architecture
This layered architecture allows applications to use the features of the WAP stack through well-
defined interfaces. This close link to the Internet architecture allows developers to use their existing
knowledge and expertise when developing applications for mobile terminals.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
30
Forum.Nokia.com
Wireless Application Environment (WAE)
The Wireless Application Environment (WAE) is a general-purpose application environment that uses a
combination of Internet and mobile terminal technology. It provides a framework for the
development of applications on a mobile terminal. WAE contains support for the following
functionality:
•
•
•
•
Wireless Markup Language (WML) - a lightweight presentation language, similar to Hypertext
Markup Language (HTML) but optimized for use with mobile terminals.
Wireless Markup Language Script (WMLS) - a lightweight script language, similar to
JavaScript™.
Wireless Telephony Application / Interface (WTA / WTAI) - telephony services and
programming interfaces.
Content formats - defined data formats, such as vCard and vCalendar.
Wireless Session Protocol (WSP)
The Wireless Session Protocol (WSP) provides the application layer of WAP with an interface for two
session services. The first is a connection-oriented service that operates above the transaction layer
protocol. The second is a connectionless service that operates above a secure or non-secure datagram
service. The WSP is optimized for low bandwidth bearer networks with long latency.
Wireless Transport Protocol (WTP)
The Wireless Transport Protocol (WTP) runs on top of the datagram service and provides a lightweight
transaction-oriented protocol, suitable for use in mobile terminals. WTP operates over secure or non-
secure wireless datagram networks.
Wireless Transport Layer Security (WTLS)
Wireless Transport Layer Security (WTLS) is based on the industry standard Transport Layer Security
(TLS) and is optimized for use over narrowband communication channels. WTLS may be used for
secure communication between terminals, and applications can selectively enable WTLS features.
Developing Applications for Mobile Browsing
Application developers can use the principles of WAP to develop new services or adapt existing
Internet applications for use with mobile terminals. Applications are written in Wireless Markup
Language (WML) and WMLScript, and stored on either a normal Web server (origin server) or directly
on the WAP gateway. The content stored on the Web server is accessible from mobile terminals via the
cellular network and a WAP gateway or proxy.
The proxy server acts as a gateway between the cellular network and the Internet or Intranet. The
data sent between the origin server and the handset is binary encoded to optimize transmission over
the narrow bandwidth of the cellular network. Note that the content stored on the Web server might
be in either textual or binary format. When the WAP gateway fetches textual content, it automatically
compiles this to the encoded format to minimize network load.
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
31
Forum.Nokia.com
Figure 2A shows the network-related elements required for developing and offering services to
mobile users.
WML
Binary
WAP
Proxy
Web
Server
WML
HTML
HTML
Filter
Wireless
Network
WTA
Server
Binary
WML
Figure 2A: Elements related to mobile browsing
Web server
The Web server stores the applications written in WML. Alternatively, existing HTML applications can
be used.
HTML filter
Any applications written in HTML will have to be converted to WML before they are sent to the mobile
terminal. This HTML filter may form part of the Web server or the WAP proxy.
WAP proxy
The WAP proxy acts as the gateway between the cellular network and the Internet or Intranet. It
encodes the information, which is to be sent to the mobile terminal in binary format and decodes
information sent from the mobile terminal.
WTA server
The WTA server handles network-specific applications. These applications are not discussed in this
document.
Additional Information
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
32
Forum.Nokia.com
Build Test Sell
Developing and marketing mobile applications with Nokia
Go to Forum.Nokia.com
1
Forum.Nokia.com provides the tools and resources you need for content and application development
as well as the channels for sales to operators, enterprises, and consumers.
Forum.Nokia.com
Download tools and emulators
Forum.Nokia.com/tools has links to tools from Nokia and other industry leaders including Borland,
Adobe, AppForge, Macromedia, Metrowerks, and Sun.
2
3
Forum.Nokia.com/tools
Get documents and specifications
The documents area contains useful white papers, FAQs, tutorials, and APIs for Symbian OS and Series
60 Platform, J2ME, messaging (including MMS), and other technologies. Forum.Nokia.com/devices lists
detailed technical specifications for Nokia devices.
Forum.Nokia.com/documents
Forum.Nokia.com/devices
Test your application and get support
Forum Nokia offers free and fee-based support that provides you with direct access to Nokia engineers
and equipment and connects you with other developers around the world. The Nokia OK testing
program enables your application to enjoy premium placement in Nokia's sales channels.
4
Forum.Nokia.com/support
Forum.Nokia.com/ok
Market through Nokia channels
Go to Forum.Nokia.com/business to learn about all of the marketing channels open to you, including
Nokia Tradepoint, an online B2B marketplace.
5
6
Forum.Nokia.com/business
Reach buyers around the globe
Place your applications in Nokia Tradepoint and they're available to dozens of buying organizations
around the world, ranging from leading global operators and enterprises to regional operators and
XSPs. Your company and applications will also be considered for the regional Nokia Software Markets
as well as other global and regional opportunities, including personal introductions to operators, on-
device and in-box placement, and participation in invitation-only events around the world.
Forum.Nokia.com/business
WAP Service Developer's Guide for Nokia Series 30 Phones with WML Browser
33
|