| [April
14,
2000]
Wireless: An Evolution Of Languages
This isn't a traditional CTI@Home column. You won't find me
rambling about the latest SOHO unified messaging application or some new
Palm goodie. Instead, this week is all about Web development for non-PC
browsers. The result? At a minimum, you'll be the envy of the cocktail
party geeks with your newly-found knowledge of the latest wireless
standards.
In her column
from December last year, TMCnet.com's Dara Bloom Mirsky discussed how
WAP technologies can be used in the enterprise. Since then, I've been
privy to (or a victim of, depending on your point of view) numerous
vendors' press releases regarding WAP, along with its cousins -- XML,
XHTML, HDML, WML, and Bluetooth, to name a few. I figure that, inevitably,
some reader is going to ask me to explain these technologies, and to do so
at a level beyond what the acronyms stand for. So, rather than give that
fictitious reader an ad-hoc answer, I will refer them to this column
you're about to read.
This week, I spent a few hours on the telephone with media
representatives from the World Wide Web
Consortium -- a.k.a. W3C -- and from the WAP
Forum. Read on: This stuff is cooler than most people realize.
The first thing that you need to understand is HTML 4.0 (Hypertext
Markup Language) and its parent, SGML (Standard Generalized Markup
Language). As explained in the W3C
document:
SGML is a language for describing markup
languages, particularly those used in electronic document exchange,
document management, and document publishing. HTML is an example of a
language defined in SGML.
SGML has been around since the middle
1980's and has remained quite stable. Much of this stability stems from
the fact that the language is both feature-rich and flexible. This
flexibility, however, comes at a price, and that price is a level of
complexity that has inhibited its adoption in a diversity of
environments, including the World Wide Web.
HTML, as originally conceived, was to be
a language for the exchange of scientific and other technical documents,
suitable for use by non-document specialists. HTML addressed the problem
of SGML complexity by specifying a small set of structural and semantic
tags suitable for authoring relatively simple documents.
So, that's SGML: powerful, but complicated. HTML is less powerful, but
easy.
Enter XML (Extensible Markup Language) and XHTML. As explained in the
same document, the XML 1.x is "a means of regaining the power
and flexibility of SGML without most of its complexity." Meanwhile,
XHTML 1.0 is the merger of XML and HTML: "a family of current and
future document types and modules that reproduce, subset, and extend
HTML." The W3C document cites some of the advantages for sites coded
in XHTML 1.0 (instead of in HTML 4.0):
XHTML documents are XML conforming. As
such, they are readily viewed, edited, and validated with standard XML
tools.
XHTML documents can be written to operate
as well or better than they did before in existing HTML 4-conforming
user agents, as well as in new, XHTML 1.0 conforming user agents.
XHTML documents can utilize applications
(e.g. scripts and applets) that rely upon either the HTML Document
Object Model or the XML Document Object Model. [www.w3.org/TR/xhtml1/#ref-dom]
As the XHTML family evolves, documents
conforming to XHTML 1.0 will be more likely to interoperate within and
among various XHTML environments.
The W3C document at hand continues to note interesting things. Consider
this:
Alternate ways of accessing the Internet
are constantly being introduced. Some estimates indicate that by the
year 2002, 75% of Internet document viewing will be carried out on these
alternate platforms Ultimately, it will be possible to develop
XHTML-conforming content that is usable by any XHTML-conforming user
agent.
As the use of XHTML moves from the
traditional desktop user agents to other platforms, it is clear that not
all of the XHTML elements will be required on all platforms. For
example, a hand held device or a cell-phone may only support a subset of
XHTML elements.
See how it all makes sense now? First came SGML, then HTML, then XML,
then XHTML. Each markup language and each version improved the
power-to-simplicity ratio. The latest languages also focus on non-PC
accessibility, since it's becoming clear that traditional computers will
not be the main way to access the Internet in the near future -- witness
PDAs, Internet
appliances, mobile telephones, audio ISPs, auto PCs, television
set-top boxes, even wearable PCs and refrigerators.
The W3C is doing other telephony-related work as well, all with the
goal of more and better Web access. For example, there's the Mobile
Access project, the Voice Browser
project, and the Web Accessibility
Initiative. I will elaborate on these three projects in the July issue
of Internet Telephony
magazine.
But it doesn't end here. Taking the XML a step (or two or three)
farther, the WAP Forum has developed WML (Wireless markup language), which
is the successor to the current and more primitive HDML (Handheld Device
Markup Language). I strongly encourage all of you to read the excellent WAP
and WML white paper (in Adobe Acrobat format), as well as the joint W3C/WAP
Forum white paper.
On top of the network and transport layers, WAP and the WML features a
security layer (Wireless Transport Layer Security (WTLS)), transaction
layer (Wireless Transaction Protocol (WTP)), session layer (Wireless
Session Protocol (WSP)), and application layer (Wireless Application
Environment (WAE)). Of course, there's no physical layer -- we are talking
about wireless here!
More interesting still, there is a WAP API for voice/data integration,
which is called the WTA (Wireless Telephony Application). To quote from
the white paper:
The Wireless Telephony Application (WTA)
allows application developers to initiate phone calls from the browser
and respond to network events as they occur. The WTA API accomplishes
this by providing an interface to the local and network telephony
infrastructure. The local interface allows WML and WML Script to access
a specific set of telephony functions, such as a function call to dial a
phone number from the mobile handset. The network interface allows an
application to monitor and initiate mobile network events, so that the
application can take action or update information based on these events.
This functionality can be used to keep an updated list of the phone
numbers dialed into an active conference call.
Back to the W3C: they just never stop working. Consider the work on
something called XSL (Extensible Style Language) which will detect what
kind of device you're using and report it to the XML application. The
application will in turn transmit the proper code (whether it's XHTML or
WML) to your browser.
In addition to all of these languages, there's Bluetooth
to consider. Bluetooth is a wireless technology that will run parallel and
in conjunction with WML and the others. However, Bluetooth can do great
things on its own, like automatically detect a node when another node is
placed within wireless range, and it can synchronize data between nodes
without requiring any user input -- for example, walk into your garage or
office while carrying your PDA, and it will automatically synchronize your
email and address book with that of your desktop PC or auto PC.
With the right tools, Webmasters will soon be able to write a single
set of code that is viewable from any browser on any kind of device, and
it will appear (or sound) to the end-user that the site was designed
specifically for that particular browser and device. This is a lot of
information to digest, and it's certainly not easy to master. I hope that,
by reading this column, you've become more fluent in your understanding of
next-gen wireless technologies. Once enough developers learn how to
control these tools, the next step is to write killer applications for
them. Will you be the first?
Evan Koblentz welcomes your comments at ekoblentz@tmcnet.com.
|