At least 200 million people use the Internet today to communicate
with others, search for information, or perform some type of commerce.
In contrast, there are 300 million cellular phone users worldwide
today. As a result of new technologies like Short Message Service
[SMS] and the Wireless Application Protocol [WAP], cell phone users
have joined the Internet revolution - as illustrated by the 2 billion
emails they sent using their phones in October 1999, the multi-month
backorders of cellular phones capable of Web site browsing, and
the emerging mobile eCommerce market segment, which is projected
to grow from just $313 million in 1998 to $23.7 billion by 2003.
If we believe the phone manufacturers, there will be 1 billion
cell phone users by 2005. According to Nokia and Ericsson, fully
half of these will be Internet-enabled, creating a mobile Internet
platform with hundreds of millions of users. Take into account that
the Federal Communications Commission [FCC] has mandated that by
the end of 2001, all cell phones will be able to broadcast their
geographic location using GPS, and all of a sudden cell phones have
become the most sophisticated and dynamically controllable Internet
appliance ever imagined.
Enter the Open Source movement
Before wireless began to dominate the press, the technology darling
of the last few years has been world-beater Linux and the Open Source
movement that delivered Linux. Those who have been involved with the
Internet for years know that Linux is only one of a number of key
technologies that has been spawned and nurtured by the Open Source
movement and helped deliver the Internet itself. Who can deny that
Open Source graduates sendmail, the NCSC browser, and the Apache Web
server were largely responsible for expanding the Internet from the
lab to the mall?
Is Open Source relevant to the accelerating emergence of the wireless
world? Are there efforts today? The answer, of course, is yes. But
before considering these efforts, some key standards critical to
providing linkages between wireless and Internet technologies and
infrastructures could bear review.
Taking Web applications wireless
The implications of the above-cited growth and evolution in cell phone
technology are ominous. Aggressive Internet dot coms and business-to-business
product companies must plan to support their increasingly mobile customers
with the content and services of their Web applications. This must
be done within the restrictions of the more hostile environment of
handheld display devices, which are less accommodating than their
PC counterparts. Handhelds, particularly cell phones, are constrained
by low power consumption requirements, low speed CPUs, nominal bandwidth,
and spotty connections. Worse yet, these devices have barely 12 keys
on their phones to support navigation and data entry functions.
Despite technical and interface design challenges, wireless support
is a natural eventuality for Web applications. Receiving notifications
when, for example, your Mercata bid has crashed below your hoped-for
price point is something perfectly suited for a Web device on the
go. The challenge is for vendors to find a way to rework their existing
Web applications to "speak wireless."
XML bridges the display gap
There are two general challenges for Web applications in a wireless
world: presentation and connectivity.
Presentation refers to the display of content and the user's interaction
with mobile applications. Of course, the more mobile devices behave
like browsers, the better. The wireless industry's answer to HTML
is the Wireless Markup Language, WML, a derivation of HTML in XML
format. Unlike HTML, WML takes full advantage of the mobile user's
experience. The screen is described as a deck, broken up into cards
to deal with the constrained viewing area. The phone's keyboard
is assumed to be the default set of controls, rather than the standard
QWERTY keyboard. And the phone's micro browser even has a scripting
language, WMLscript, and keypad accelerators.
In an environment of exploding technology strategies, there is
more than one way to address the support of multiple display devices.
One technology for performing XML-to-HTML/WML transformations is
the style sheet specification, XSL, eXtensible Style Language. Using
the appropriate XSL style sheet, the Web server/Application server
can format the XML data to appear correctly on the target Internet
screen. An Open Source effort, discussed below, uses Java manipulations
for transforming documents on the server side.
The key to any successful application in the future will be its
ability to create a well-formed XML document, accurately interpreted
for any browser's experience, wired or wireless.
WAP gateways deliver connectivity
Generating WML is all fine and good, but once you have it, how do
you actually deliver it to a wireless device? The fact is that HTTP
is not appropriate for handheld devices. The technology destined to
overcome the resource and communication constraints of wireless devices
is WAP, the Wireless Application Protocol. WAP, as defined by the
WAP Forum, provides
the presentation and delivery of wireless information and telephony
services to mobile phones and other Internet appliances, such as Palm
Pilots, WinCE devices, and automobile computers.
How do you get bandwidth-hungry Web applications to negotiate
with wireless devices? The answer is the WAP gateway. WAP is the
HTTP of the wireless world. A WAP gateway is purposely designed
to leverage the bulk of existing content and services on the Web
side and deliver it to the phone side. WAP translates from one stack,
HTTP, to the other, WAP. It encodes and decodes Web content into
a compact form for the conservative wireless data network. WAP gateways
are essential, helping to isolate the proprietary mechanisms used
by phone companies to access individual subscriber's phones.
The Open Source engines for wireless applications
The advance of Web support for the wireless industry is about to get
a boost from the same source that made Linux nearly a household term:
Open Source. Open Source is an amazingly natural phenomenon - spurred
by the Internet - that leverages email and newsgroup technology to
link thousands of developers across the world to produce top-quality
code. With fingertip access to source code, constant code review is
an inherent process that ensures optimal code supported by many. No
proprietary vendor, including Microsoft, can mimic the development
and deployment environment that Open Source represents.
The Open Source movement is growing to accommodate the WAP and
XML standards. Already, a number of organizations are providing
wireless building blocks to the development community.
Apache Xerces for Open Source parsing
A significant event took place in December 1999 when IBM contributed
the code base of its XML4J XML parser to the Apache project, code-named
"Xerces." This commercial grade tool cleared the logjam of other
Open Source efforts keying on the XML standard. Available for download
from the xml.apache.org group, Xerces is an XML tool that reads
XML-formatted data and generates a data structure in the form of
a Document Object Model, or DOM. The DOM class represents the XML
document as a hierarchical tree of tags, or elements with attributes.
Thus, program logic can manipulate the XML content in memory using
an object-oriented view of the document data. Defined by the w3c.org
group, the same group that defined XML, the DOM specification also
includes the programming methods used to traverse, trim, and augment
a DOM tree. The quality and completeness of the IBM parser combined
with its Open Source status has given a boost to many Open Source
efforts, wireless and otherwise.
Enhydra XML Compiler (XMLC)
One of those dependent efforts is Enhydra, an Open Source project
(www.enhydra.org) that supports a Java/XML application server. Though
not originally designed to support wireless application development,
the Enhydra community saw the value of the XML compiler, XMLC, to
co-serve WML and HTML presentations. XMLC uses the Xerces parser
to put XML in control of serving up Web documents. Originally, XMLC
was created to avoid all the limitations of embedding programming
logic inside a markup language, as popularized by JavaServer Pages,
JSP, and Microsoft's ASP.
XMLC's approach addresses many of the shortcomings of WML/XSL generation.
XSL was designed to completely separate content and presentation
in the publishing world. Writers produce the content and give it
to designers, who specialize in style sheet creation. This model
works well for paper publishing, allowing writers and designers
can concentrate on what they do best.
In Web publishing, however, designers design the pages and programmers
insert the logic that brings those pages to life. In other words,
both designer and programmer work on the presentation. The content
is stored in a database and is separated from the presentation template
(i.e., layout). The real-world problem with embedded script like
JSP and ASP is that every time a designer changes pages, programmers
have to re-do all their code insertion. In the paper-publishing
world, a presentation is designed to be handled by a designer, whereas
in digital publishing, the effort is further divided among designers
XSL, without extensive tools support, doesn't address this problem.
XSL is an extremely low level language, and it is difficult for
non-programmers to create. More succinctly, the tools for supporting
XSL-based development are not yet matured. In the real world, this
fact is a showstopper. XMLC reduces the reliance on XSL for device-specific
transformations, making it possible to continue using XSL style
sheets, but in more useful, non-programmatic ways.
XMLC compiles HTML/XML into a Java object presentation in order
to simplify the manipulation of the presentation programmatically.
The application retrieves the Java object required to generate the
Internet consultant DigitalSesame
(formerly Topware Technology), www.digitalsesame.com, was commissioned
by the online newspaper service FormosaToday to construct a Web
application to support the distribution of news content to multiple
devices, from browsers to handheld devices. DigitalSesame used Enhydra
and the Enhydra XML compiler to build a content management system
called Avalokit. To serve FormosaToday, XML is used heavily in the
backend for content storage. XMLC is used to build the DOM from
XML sources, and then manipulate it via XMLC accessor methods. Java
is used to manipulate the DOM tree, alleviating the need for XSL
Even though Avalokit relies heavily on XML in its backend storage,
DigitalSesame chose to use XMLC instead of XSL for the presentation
creation. The practical question in dealing with Web and handheld
publishing is how to coordinate between designer and programmers?
In order to design the best possible presentation on a new device,
designers must do a lot of experimentation to become familiar with
the characteristics of that device.
With XSL, designers must communicate with programmers to transfer
that same knowledge. Programmers have to learn all this in order
to execute the code insertion. This methodology is fine if time
is not an issue, but time to market normally cannot tolerate this
With XMLC, designers give the mocked-up pages to a programmer who
compiles the pages into Java and manipulates the Java object to
alter the content. DigitalSesame found that this approach significantly
cut down the time to market for a content site serving a new wireless
The migration of today's Web-based services to the wireless data network
will be somewhat rocky. But overall, it's just a matter of leveraging
the incredible cooperation of industry standards groups and Open Source
efforts. Usually, a new industry is fraught with incompatibilities
and backroom political brawls. Certainly some of this still exists.
But the level playing field created by the combination of de facto
Internet standards and technologies such as WAP, XML, WML and DOM
will excuse the migration to the wireless world from many traditionally
Source: Durlacher Research
© 1999-2000 by Lutris Technologies Inc., Santa Cruz, California,
USA. All rights reserved.