Unlike the desktop web-channel, there is a tremendous amount of
fragmentation in the mobile
device-channel. Markup can be WML,
HTML, HDML,
XHTML Mobile
Profile, etc. In addition, unlike a standard desktop
web-channel, a wireless-device channel will vary on screen size,
ability to support client side scripting, ability to support
various image formats, and even color. Because the markup is
generally sent directly to the phone, there is no opportunity for
a central server to "fix" or adapt to browser limitations or
defects. Software updates for mobile browsers are rare.
WURFL solves this by allowing development of content pages using
abstractions of page elements
(buttons, links and textboxes for example). At run time, these
are converted to the appropriate, specific markup types for each
device. In addition, the developer can specify other content
decisions be made at runtime based on device specific
capabilities and features (which are all in the WURFL).
The WURFL contains over 500 capabilities for each device, that
are broken up into 30 groups. A complete
listing of available capabilities is available from the WURFL documentation
page. There is an online WURFL
testsite called
Tera-WURFL Explorer that
allows one to look up the capabilities of devices based on their
user agents and browse through the devices in the current WURFL
file.