W3C home > Mailing lists > Public > public-ddwg@w3.org > August 2005

[wbs] Luca Passani response to 'Device Description Technologies Survey'

From: WBS Mailer on behalf of <webmaster@w3.org>
Date: Sat, 06 Aug 2005 14:17:01 +0000
To: luca.passani@openwave.com,member-ddwg@w3.org,public-ddwg@w3.org
Message-Id: <wbs-79357e52d9f0619f59c869354abd043b@cgi.w3.org>

Here are the answers submitted to 'Device Description Technologies Survey'
(the public) for Luca Passani.

Name of device description technology or device description product

Wireless Universal Resource FiLe
Wireless Abstraction Library

Status of technology 
For example, indicate whether the technology is an open standard, a
reference implementation or a proprietary technology.

Open Source project owned by Luca Passani and Andrea Trasatti

Context of the technology 
Is the technology or product used for content adaptation? If not, what is
its purpose? What is the target audience? Is it a standalone technology,
or is it part of another product or platform?

WURFL delivers a universal Device Capability Repository that relies on the
collective knowledge of the developer community (and not on info provided
by carriers and device manufacturers, even though this may be exploited
when publicly available). The WURFL repository is used to build frameworks
that multiserve digital content and different mark-ups to different classes
of devices. The WURFL project also offers hte middleware to deploy and
access the repository on the most popular programming platforms (notably
Java and PHP).
WALL is built on top of the WURFL Java middleware. WALL is a JSP
tag-library (i.e. a mark-up) that looks like HTML, but delivers WML, CHTML
and XHTML-MP content to different mobile devices.
The WURFL project was started in January 2002 on the WMLProgramming
mailing list on Yahoo groups.

What markup languages does your product support? 

 * [x] WML 1.x (WML)
 * [x] WML 2.x (XHTML-MP)
 * [x] iMode/cHTML
 * [x] HTML (3.2 up)
 * [ ] XHTML
 * [ ] VoiceXml
 * [ ] Other W3C Markup (e.g. SVG, SMIL) (Fill the text area below)
 * [ ] Other non-W3C Markup (Newsml, ...) (Fill the text area below)
 * [ ] Proprietary content (Fill the text area below)


WALL multiserve WML and HTML-variants popular on wireless devices and
The WURFL database contains info about most popular multimedia formats and
their level of support on the different devices.

What are input and output features supported by your product ?

 * [x] Touch screen (phone, PDA, "full" size)
 * [x] Limited keys
 * [x] Joystick/mouse (continuous pointer) 
 * [x] Full keyboard (on-screen, detachable, permanent)
 * [ ] Voice
 * [ ] Other (gravity sensor, barcode, etc - please explain) (Fill the
text area below)



 * [x] Text screen
 * [x] Graphic screen (tiny, small, medium, large)
 * [ ] Multi screens
 * [ ] "heads-up screen"
 * [ ] Voice
 * [ ] Other (Fill the text area below)


If you can, please provide a brief architectural overview of the
technology or product.

WURFL is basically a big XML file (in the order of 2.5 Megs) with info
about 7000 devices. The project also offers open-source middleware to
access and optimize performance of the repository.

Reliance or usage of existing standards 
Please indicate how the device-description part of your technology or
product builds (or relies upon) existing standards. For example: HTTP,
XML, CC/PP, etc

Java, XML, PHP, i.e. as de-facto standard as one can get :-) 
One might argue that UAprof is also used by WURFL, albeit not directly.
UAProf is one possible source of information, but UAProf info can be
in the WURFL repository when identified as incorrect by the community of

Does the technology specify, or provide, a repository (or repositories)
for the storage of the device descriptions?
if you answer "yes", provide the following details:

         * a brief description of the data structure
        e.g. flat files, RDMBS, OODMS, hierarchical data structures
         * To what level of abstraction does the repository store the
        e.g. per model, per operator, per browser etc
         * How does the technology manage multiple revisions of the same
        (e.g. inheritance, fallback, etc)
         * How does the technology manage attributes or properties for
unknown devices?
        (i.e. those not yet stored or those not recognised)

         * In
your experience, how many discrete device descriptions do you believe
are essential to produce satisfactory content adaptation worldwide? 
            - < 10
            - 10 - 50
            - 50 - 100
            - 100 - 200
            - > 200


 * (x) Yes
 * ( ) No

Comments (or a URI pointing to your comments): 
WURFL is a flat XML file. The fall-back mechanism keeps it small in size.
The middleware turns the repository into an in-memory database which makes
performance very good.
Storage happens on a per-model basis (actually, even, firmware subversion
of the same model are recognized as different devices). 
The fall-back mechanism guarantees that a value is always provided, 
for all models in the repository.
WURFL models around 7000 devices as of August 2005. This is because of the
global nature of the project. Given a specific market,region or operator,
the relevant amount of devices is usually less than 200, with GSM being
the most tricky market in terms of device diversity.

Does the technology specify an explicit vocabulary of device attributes?
if you answer "yes", please provide the following details:

         * a brief description of the vocabulary
        Is it extensible, typed, based on standard vocabularies, and so on
         * Which areas of a device's capabilities does it cover?
        These might include browser behaviour, markup compliance, physical
characteristics, messaging clients, radio behaviour etc
         * In your experience, how many device attributes do you believe
are essential to produce satisfactory content adaptation?
            - < 10
            - 10 - 20
            - 20 - 50
            - > 50


 * (x) Yes
 * ( ) No

Comments (or a URI pointing to your comments): 
WURFL vocabulary is extensible, but it's not based on other vocabularies
(such as UAProf). Typing is implicit, meaning that the framework treats
all values as strings, but interpretation of these strings results in
booleans, integers and strings.
WURFL covers several areas in wireless content development: mark-ups,
display size, color depth, number of colors, MMS, J2ME, WAP Push,
supported image formats, audio and video streaming formats, WALLPaper and
ring-tone formats.

Does the technology specify, or provide, a process or mechanism  for the
capture of attributes for a specific device?
If you answer "yes", please provide a brief description of the profiling
Is it structured or ad-hoc, empirical (using a real device) or
theoretical? Does it require a human to test the actual device? An active
network connection?

 * (x) Yes
 * ( ) No

Comments (or a URI pointing to your comments): 
There are several sources for device information exploited by WURFL:
manufacturers published documentation, developer reports, test suite,
anecdotal evidence and also guessing (i.e. a new device is assumed to have
similar behavior as related device by the same manufacturer). UAProf is
also used to initialize info about new devices.
Developers who would like to have a new attribute added to the WURFL
suggest it on the WURFL mailing list (wmlprogramming on Yahoogroups).
The discussion that follows decides if the attribute is too ad-hoc or not.
If it's not, a "capability mentor" becomes responsible for maintaining that
piece of data. There is also a public test-suite.

Does the technology specify, or provide, a technique for querying a
repository to extract device descriptions?
If you answer "yes", please provide the following details : 

         * a brief description of the query process
        e.g. DB queries, SPARQL, data is keyed or indexed
         * How can the technology export or provide device descriptions
for the purposes of content adaptation?
        e.g. standalone XML files, text configuration files
         * Do you provide APIs for applications to access the data? Which?
        e.g. Java, PHP, .NET

 * (x) Yes
 * ( ) No

Comments (or a URI pointing to your comments): 
WURFL also provides the middleware to access device info using PHP, Java,
Perl, Ruby, C-Sharp and Python. Being the WURFL format simple and open,
support for a new platform is generally considered simple.
Content adaptation framework can simply query the WURFL (typically using
the User-Agent string as a key) to extract the value of a given
Performance is good enough that queries can happen dynamically.
The middleware provides two basic functions.
     - given a User-Agent string return a device ID (internal WURFL
     - given a device ID and a capability name, 
           return corresponding capability value

Do you believe that the essential device information should be publicly

 * (x) Yes
 * ( ) No
 * ( ) No Opinion

WURFL is about the believing that device info should be publicly
I can't see why this shouldn't be the same for developers and for network
Of course, device manufacturers and companies who sell device capability
repository probably have a different opinion.

These answers were last modified on 6 August 2005 at 14:13:59 E.S.T.
by Luca Passani

Answers to this questionnaire can be set and changed at
http://www.w3.org/2002/09/wbs/1/ddwgld/ until 2005-09-30.


 The Automatic WBS Mailer
Received on Saturday, 6 August 2005 14:17:13 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:00:12 UTC