Preface

The Handheld Device Markup Language (HDML) is a simple language used to create
hypertext-like content for small display, handheld devices. This specification
defines HDML version 2.0.

Introduction

The World Wide Web provides a robust, flexible, and ubiquitous model for
information access. The adoption of the WWW as the preferred means of
disseminating and accessing information from desktop PCs and workstations
has created a demand for access to the same information for other devices.
These devices or "alternate platforms" range from voice- and fax-based user
agents to low-cost Network Computers to handheld devices such as mobile phones
and PDAs.

While the web's infrastructure and protocols fully support these alternate
platforms, HTML itself does not. In particular the navigation and display
models inherent to HTML collapse when applied to a typical handheld device.
However, combining the use of standard web protocols and infrastructure (URLs,
HTTP, SSL plus CGI, Perl, commercial web servers) with an alternate but
complementary markup language, allows handheld devices to function as
full-fledged web clients.

Handheld Devices

While there are many types, styles, and classes of handheld devices, this
specification is useful for a significantly larger class of devices with
similar physical characteristics. Those characteristics include:

This specification will use the data-ready mobile phone as an example of
the typical handheld device. This specification will also continue to use
the term "handheld," recognizing that the term is not inclusive of all devices
which would benefit from HDML.

Physical characteristics

Handheld devices are characterized primarily by a limited display size. A
typical display is capable of displaying 4-10 lines of text 12-20 characters
wide and may be graphical (bitmapped) or text-only. PDA-style displays are
not necessarily included in this handheld device category, although HDML
will be useful on those devices as well.

Handheld devices may or may not have a full keyboard and may or may not have
a pointing/selection device. As an example, the data-ready mobile phone has
only:

the keys normally found on a telephone (0-9, *, #, with alphabet letters
marked on 2-9)

cursor/arrow keys (often just up and down or left and right)

a number of dedicated function keys (SEND, END, etc.)

one or more "soft keys" with programmable labels

Alphanumeric pagers have even fewer keys. Item selection is accomplished
through numbered lists or using cursor keys to highlight a choice and then
request an action on that item. Full 2-D cursor control through pointing
devices such as touch pads, touch screens, roller balls, are rare. A full
QWERTY keyboard is also rare. Input is severely constrained when compared
to a typical PC or PDA.

Network bandwidth is usually low due to limitations of the network technology
or simple economics. The same goes for other resources: memory, processing
power, even battery life. All in the name of economics. While some devices
do have large amounts of memory or processing power, these devices are the
exception. Mass market and consumer-targeted devices will continue to have
these constraints for many years.