SYMBIAN

Symbian is a generic operating system developed for wireless
communications devices. Included is a set of common core
Application Programming Interfaces (APIs). Symbian makes a
distinction between the generic technology used in any
Wireless Information Device (WID) and the Graphical User
Interface (GUI) tailored for a particular design. A generic
design is the heart of Symbian. Technology is shared between
all reference designs.
The operating system includes a kernel; middleware for
communications, data management, and graphics; the lower
levels of the GUI framework; and application engines.
Products such Ericsson’s R380, Nokia’s 9210 Communicator,
and Psion’s Series 5mx were created with very little modification
to the Symbian OS. Two reference designs were created,
one for information-centric products such as the Nokia
Communicator and another for voice-centric products such as
“smart phones,” mobile handsets with built-in browsers.
Symbian’s latest version includes support for GPRS and
WAP 1.2.1.; tablet or keyboard entry; and application development
using C++, J2ME, WAP, or HTML. Support for protocols
such as TCP/IP, WAP, GSM, GPRS, Bluetooth, IrDA, or RS-
232 is built into the operating system. Many other features
such as security, font and text formatting, and a rich suite of
application engines are included.
Symbian uses a generic technology for the specific requirements
of wireless devices. The requirements are tailored to use
device resources efficiently, and to be reliable and adaptable to
device needs. The architecture is illustrated in Figure 2-13.
Manufacturers may use Symbian reference designs and
operating system to reduce time-to-market for new product
development. Support for almost every conceivable wireless
device is included, and any application development platform
can be overlaid on the operating system, such as WAP or
J2ME. 84

J2ME

Java Version 2 Mobile Edition (J2ME) is a compact version of
Sun’s Java technology targeted for embedded consumer electronics.
J2ME includes a set of developer tools and supplies to
be used in mobile applications. As with other Java platforms,
key advantages can be realized using J2ME: Consistency across
products, code portability, reliable network delivery, and leveraging
of the Java programming language. It is also upwardly
scalable to work with other Java platforms.
Sun Microsystems is targeting J2ME for devices with limited
hardware resources such as PDAs, cellular phones, and other
consumer electronics and embedded devices with as little as 128 Kb of RAM. J2ME actually consists of a set of profiles and
configurations as in Figure 2-12. Each profile is defined for a
particular type of device—cell phones, PDAs, smart appliances,
and others. The profile specifies the classes, methods, and configuration
needed. The configuration includes a minimum set of
class libraries required for the particular type of device and a
specification of a Java Virtual Machine (JVM) required to support
the device.
J2ME technology enables wireless device manufacturers,
service providers, and content providers to perform rapid, cost
effective development of new features and applications. The
latest release includes emulation tools for Palm OS, RIM, and
others. Also included is support for Secure Hypertext Transfer
Protocol (S-HTTP).
Using J2ME, developers can write applications such as a
WAP browser for a cellular phone or a PDA. J2ME allows for
third-party developers to create applications that run on manufacturers’
devices without providing proprietary information or
special application programming interfaces and documentation.

i-MODE (COMPACT HTML OR C-HTML)

NTT DoCoMo first introduced i-Mode in Japan in February
1999. Since then it has been immensely successful. There
were more than 20 million users by March 2001. Despite the
fact that i-Mode does not yet exist outside of Japan, i-Mode
accounts for over 60 percent of the world’s mobile Internet
users! There are over 1,500 official Web sites and over 40,000
independent sites. In fact, i-Mode Web sites may be built anywhere
in the world and many times are included with HTML
Web server sites by placing the code in a subdirectory.

i-Mode is a client–server protocol similar to WAP and illustrated
in Figure 2-10. It allows users to navigate a series of
menus on their phone display in order to access Internet content
on i-Mode sites.
One very important comment must be included here about
i-Mode. NTT DoCoMo created i-Mode as a proprietary protocol
without international standards’ body cooperation. The
result is a tightly controlled application environment that NTT
DoCoMo designs and markets to their best advantage. It should
also be noted that DoCoMo is one of the first carriers to offer
usage-based billing for i-Mode. Because i-Mode is packetbased,
they charge for the actual volume of data transmitted.
i-Mode phones in Japan operate on the Personal Digital
Cellular (PDC) network, which is very similar to the North
American TDMA network. Therefore, the data rate is limited
to 9.6 Kbps. In the future, when W-CDMA is launched in
Japan, much higher data rates will become available.
Although i-Mode can only be used on phones inside
Japan, NTT DoCoMo clearly intends to make it a world standard
for Web browsing on wireless devices. Their recent
investment in AT&T Wireless, the agreement giving AT&T
access to i-Mode technology, and the purchase of an ISP—
Verio Communications—demonstrates that they will be very
proactive in advancing i-Mode throughout the world. They
have also taken a 15 percent stake in Dutch KPN Mobile and
claimed 20 percent of Hutchison 3G.

Unlike WAP, which uses WML as its markup language,
i-Mode services are built using i-Mode-compatible HTML,
referred to as compact HTML or c-HTML. On the surface,
both look very similar and in fact, both markup languages have
common elements. An example of i-Mode code is shown in
Figure 2-11. It looks just like HTML to the seasoned Web programmer
with the exception of the accesskey command.
Unlike WAP, there is no card deck, but i-Mode does support
color displays.
DoCoMo based i-Mode on a subset of HTML 2.0, HTML
3.2, and HTML 4.0 specifications with i-Mode specific extensions.
These extensions include tags that have special meaning
on a cellular phone such as the tel: tag, which is used to hyperlink
a telephone number. By clicking on the link, users can
place a call to the number.
Just as in WAP, some i-Mode phones support more than the
basic standard protocol. Features that require cursor movement
in two-dimensions, such as tables, are not supported.

WIRELESS APPLICATION PROTOCOL (WAP)

WAP is an application protocol for providing communications
and connectivity to the Internet using digital mobile phones,
pagers, personal digital assistants, and other wireless devices.
It allows a user to navigate a text menu on his phone and click
on a menu item to select the next action.
Unlike other standards, however, the WAP standard was
not created by an industry consortium like the European
Telecommunications Standard Institute (ETSI) or
Telecommunications Industry Association (TIA). It began as
the idea of a small group of men with a vision at a company
called Libris. Out of that vision, a standard was born. Wireless
Application Protocol is based on a client–server architecture
much like that used on computers. Because of the complexity
and size of the cellular phone, a decision was made to place the
server on the back end.

The programming model for WAP as in Figure 2-7 consists
of a WAP Gateway and a Wireless Application Environment
(WAE) User Agent in the wireless device. Data flows from the
wireless device to the Gateway in encoded requests. These are
forwarded on to the Internet. The response, in the form of
Internet content, is returned to the Gateway where it is encoded
and forwarded to the User Agent in the wireless device.
Applications are written in Wireless Mark-up Language (WML)
and can reside on the WAP Gateway or an application server.
The Gateway converts protocols between message origins and
destinations. WAP also includes WMLScript and Wireless
Telephone Application Interface (WTAI). The script provides a
simple, yet fully functional programming language to run within
WML applications. WTAI is an interface to the telephone
functions of the device. For example, if you send a request to
directory assistance for a new restaurant that you want to try,
the phone number is sent to your user agent; by highlighting
and clicking Enter, the number is dialed automatically.
Libris developed a computer-generated prototype in early
1995 that was used to demonstrate WAP principles to potential
customers and investors. The key to getting WAP started
was buy-in from carriers and phone manufacturers. The Big
Three phone manufacturers—Motorola, Ericsson, and
Nokia—had to be convinced to drop proprietary plans and back
a standard-based proposal. Through relationships with some
key carriers like GTE and AT&T Wireless Services, Libris convinced
manufacturers to support the WAP initiative. The only
way for WAP to succeed was as an open standard: It could not
remain the sole property of its inventor and achieve widespread
usage. With a potential market of more than 1 billion cellular
phones by 2002, it was in the best interest of all manufacturers
to agree to standardization. By mid-1996 Libris changed its
name to Unwired Planet.
The first commercial server and browser software was
released in June 1996. During the next twelve months,
Unwired Planet collaborated with Ericsson, Motorola, and
Nokia to create the first WAP architecture, and published it on
the Internet in September 1997. Figure 2-8 shows some of the
WAP milestones.
A single focal point for WAP development, the WAP Forum,
was created in January 1998. The WAP Forum was created as
an open membership organization to promote Wireless
Application Protocol, write and issue new revisions to the WAP
standard, and to develop a quality-assurance function to verify
compatibility issues between members. In May 1998, the WAP
Forum released the first, open-version WAP 1.0 specifications.
WAP, however, has not been an instant success. The biggest
complaint about WAP is that it required the Internet community
to rewrite sites to support WAP. WAP proponents are quick
to point out, however, that the mobile phone is an entirely different
user interface compared to the typical Internet application.
The display is much smaller and the keypad lacks the full
alphanumeric keyboard that computer users enjoy. It should
not be expected that Internet content could appear the same
on a phone as on a computer monitor. Internet content must
be optimized for presentation to the phone and that presented
the next big challenge—getting application developers to commit
to WAP development.
Another problem common to WAP is inconsistent adherence
to the WAP standard—every phone seems to behave differently
and support different features. This occurs not only
between manufacturers, but between different phones of the
same manufacturer. One phone may center-justify text and the
next ignores all text justification. Displays vary in size and the
number of characters or lines, creating a different look to every
phone. A common mistake in WAP design is to include too
many nested menus for navigation. Better user interfaces and
larger displays and easier-to-use keypads must be created to
improve adherence to the standard.
To prevent wars between rivals, proponents of WAP have
agreed to make XML (Extensible Markup Language) WAPcompliant.
The expectation is that WAP will merge with another
popular application protocol, i-Mode, to become Extensible
Hypertext Markup Language (XHTML). An example of WML
is illustrated in Figure 2-9.
Wireless Application Protocol is a major player in the
microbrowser market. It was first launched in Europe, where
consumers already enjoyed SMS on GSM networks.
Competition was tough in Europe, however—although WAP
was launched, there was a shortage of WAP-enabled phones.
Content was lacking and no two phones worked or displayed
WAP the same. A running joke in Europe described WAP as
standing for “Where Are the Phones?” Despite everything,
Europe is estimated to have over 16 million WAP subscribers.
In the United States, the situation is even worse. Not only is
there a shortage of WAP phones and applications, but TDMA
carriers never deployed WAP gateways because of delays in getting
licensing from manufacturers. Meanwhile, in Japan, WAP
is deployed on CDMA phones that compete directly with i-
Mode. Japanese sources estimate that there are about 6 million
WAP users compared with over 20 million i-Mode subscribers.
One important distinction should be made between today’s
WAP phones and next-generation phones. Until recently the
current generation of standards could only support circuitswitched
connections. Packet data on digital networks did not
exist. Just like CDPD, these phones remained on a dedicated
channel assignment as the user browsed the WAP application.
The launching of GPRS in the GSM world enabled the first
packet-data network.
Wireless Application Protocol will continue to exist but the
big question is “in what form?” Many industry experts believe
that the window of opportunity is closing on WAP. The WAP
Forum is a large and strong industry body, however, and a great
deal of investment has already been made in WAP. The industry
will continue to launch the technology wherever there is a
possibility to create new revenue streams for all.

A WORD ABOUT MARK-UP LANGUAGES

Hypertext Markup Language (HTML) was not the first descriptive
text language to be used. Computer programmers have long
used formatting codes, control codes or macros in software to
direct document formatting. By the 1960s, generic coding began
with descriptive tags rather than cryptic names. One example
would be heading instead of format-17. Many people were working
on similar ideas during the 1960s including scientists at
IBM. A Generalized Markup Language (GML) was developed as
a means of allowing the text editing, formatting, and information
retrieval subsystems to share documents. GML introduced the
concept of a formally-defined document type with an explicit
nested element structure. Of course, GML was implemented for
the mainframe computers circa late 1960s. At that time IBM
was the world’s second largest publisher and they produced over
90 percent of their documents with GML. Over the next few
years, several new concepts were developed such as short references,
concurrent document types, and link processes.
During the 1970s the American National Standards
Institute (ANSI) established a committee to develop a standardized markup language. This became the Standardized
General Markup Language (SGML) which was eventually
adopted in 1986 by the International Standards Organization
(ISO). SGML offers a detailed system for marking up documents
so that their appearance is independent of specific software
applications. It is a stable and well-defined meta-language
that allows other markup languages to be created. SGML is
very powerful and flexible due to the many options included.
Early adopters of SGML were the U.S. Internal Revenue
Service (IRS) and the US Department of Defense.
However, it soon became apparent that SGML’s sophistication
was unsuitable for quick and easy Web publishing. A simplified
markup language was needed so that anyone could learn
it quickly. A result was the Hypertext Markup Language
(HTML), which is basically one specific SGML document
type, or Document Type Definition (DTD). Early Web browsers
supported HTML and it quickly became the de-facto language
of the burgeoning Web and was in large part, a significant reason
for the rapid growth of the Internet’s popularity.
As good as HTML is, there are still problems with it. In many
cases it is too simple. It served the purpose in the early days of
the Web when almost everything was text-based documents but
ran out of horsepower when Web authors started using multimedia
and advanced page designs. Image maps (images with
embedded hyperlinks), text attributes, tables, frames, and
dynamic pages all added complexity. Competition among browser
developers guaranteed incompatibilities with proprietary features
or solutions to the same feature. Over the years Microsoft
has added tags that work only in Internet Explorer, and Netscape
added tags that work only in Navigator and guess what: the Web
author is caught in the middle! Standards were attempted but
never really got full support industry wide. The biggest problem
is that HTML is not extensible. This gave way to Java and
JavaScript and Active Server Pages. Each new addition to HTML
such as these and Cascading Style Sheets (CSS) add flexibility in
Web designs but these are really just patches to mask the problem—
no standard extensibility. It is ironic that HTML grew out
of SGML which is fully extensible.

As extensible as SGML is, it is also extremely complex and
time consuming to customize a set of documents. A new
approach was needed to bridge the gap between SGML and
HTML. The answer is Extensible Markup Language (XML), a
proposal in late 1996 to the World Wide Web Consortium
(W3C). XML was designed with the power of SGML, avoiding
the complexity. HTML is merely one SGML document type,
XML is a new meta-language, a simplified version of the parent
language itself. Yet, XML has the power to define other
markup languages.

APPLICATION PROGRAMMING LANGUAGES AND PROTOCOLS

Many application protocols exist for wireless devices, such as
the most widely discussed WAP and i-Mode. However, other
application platforms have also achieved popular support, such
as J2ME and Symbian. The strange fact is that these do not
really compete with WAP or i-Mode; they can be integrated
into them. We discuss each protocol briefly here.