Information about Wurfl

WURFL stands for Wireless Universal Resource File. It is part of a FOSS (which stands for Free and Open Source Software) community effort focused on the problem of presenting content on the wide variety of wireless devices. The WURFL itself is an XML configuration file which contains information about device capabilities and features for a variety of mobile devices. Device information is contributed by developers around the world and the WURFL is updated frequently reflecting new wireless devices coming on the market. Luca Passani and Andrea Trasatti are the driving forces behind WURFL.

History

At the end of 1999 the first WAP phone was launched in Europe, followed by many others in the following months. By 2001 it became clear that WAP devices exhibited significant differences in the way they handled WAP content. The implication of this was that mobile developers had a hard time supporting an increasing numbers of devices: cost of application development, cost of testing and, last but not least, the cost of the very devices made WAP development unbearably expensive as compared to web development. It did not take long before some developers realized that they could leverage the open-source model to come to their own (and everyone's) rescue. Openwave's Luca Passani and Andrea Trasatti, an independent consultant, united forces and gathered a community around a shared repository of device capability information. WURFL was born. Over the years the project has gained followers and supporters from different geographical regions and with different backgrounds. The first basic API was in Perl. Java and PHP libraries appeared shortly afterwards, soon followed by a better .NET Framework, Perl version, Ruby, and, more recently, Python, XSLT and C++.

The Problem (device fragmentation)

The desktop web-channel, which is primarily divided up between a handful of browsers, relies on HTML as its markup, and content written as HTML can be expected to be visible to most users of a web-based channel via one of the standard browsers (Internet Explorer, Mozilla Firefox, Safari, Opera, and so on). Software updates for desktop browsers are frequently made and widely distributed.

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.

Solution Approaches

There have been several approaches to this problem, including developing very primitive content and hoping it works on a variety of devices, limiting support to a small subset of devices or bypassing the browser solution altogether and developing a J2ME or BREW client application.

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).

WALL, Wireless Abstraction Library

WALL (Wireless Abstraction Library by Luca Passani) is a JSP tag library that lets a developer author mobile pages similar to plain HTML, while delivering WML, C-HTML and XHTML Mobile Profile to the device from which the HTTP request originates, depending on the actual capabilities of the device itself. Device capabilities are queried dynamically using the WURFL API. A WALL port to PHP (called WALL4PHP) is also available.

Supported Implementations

WURFL is currently supported using the following.

See also

External links

Extensible Markup Language

File extension: .xml
MIME type: application/xml, text/xml (deprecated)
Uniform Type Identifier: public.xml
Developed by: World Wide Web Consortium
Type of format: Markup language
Extended from: SGML
..... Click the link for more information.
WAP is an open international standard for applications that use wireless communication. Its principal application is to enable access to the Internet from a mobile phone or PDA.
..... Click the link for more information.
Openwave (formerly software.com, phone.com, Unwired Planet and Libris, Inc) is a mobile phone and messaging software and services company based in Redwood City, California, USA.
..... Click the link for more information.
An application programming interface (API) is a source code interface that an operating system or library provides to support requests for services to be made of it by computer programs.
..... Click the link for more information.
Perl

Paradigm: Multi-paradigm
Appeared in: 1987
Designed by: Larry Wall
Latest release: 5.8.8/ January 31 2006
Typing discipline: Dynamic
Influenced by: AWK, BASIC, BASIC-PLUS, C, C++, Lisp, Pascal, Python, sed, Unix shell
..... Click the link for more information.
Java

Paradigm: Object-oriented, structured, imperative
Appeared in: 1995
Designed by: Sun Microsystems
Typing discipline: Static, strong, safe, nominative
Major implementations: Numerous
Influenced by: Objective-C, C++, Smalltalk, Eiffel,[1]
..... Click the link for more information.
PHP

Paradigm: imperative, object-oriented
Appeared in: 1995
Designed by: Rasmus Lerdorf
Developer: The PHP Group
Latest release: 5.2.4/ 30 August 2007
Typing discipline: Dynamic, weak (duck typing)
Influenced by: C, Perl
Java, C++, Python
..... Click the link for more information.
.NET Framework is a software component that can be added to or is included with Microsoft Windows operating system. It provides a large body of pre-coded solutions to common program requirements, and manages the execution of programs written specifically for the framework. The .
..... Click the link for more information.
Perl

Paradigm: Multi-paradigm
Appeared in: 1987
Designed by: Larry Wall
Latest release: 5.8.8/ January 31 2006
Typing discipline: Dynamic
Influenced by: AWK, BASIC, BASIC-PLUS, C, C++, Lisp, Pascal, Python, sed, Unix shell
..... Click the link for more information.
Ruby

Paradigm: multi-paradigm (functional, imperative, logic, object-oriented (class-based))
Appeared in: 1995
Designed by: Yukihiro Matsumoto
Developer: Yukihiro Matsumoto (among others)
Latest release: 1.8.
..... Click the link for more information.
Python

Paradigm: Multi-paradigm
Appeared in: 1991
Designed by: Guido van Rossum
Developer: Python Software Foundation
Latest release: 2.5.1/ April 18 2007
Latest unstable release: 3.
..... Click the link for more information.
XSL Transformations

File extension: .xsl, .xslt
MIME type: application/xslt+xml[1]
Developed by: World Wide Web Consortium
Type of format: Stylesheet language
Extended from: XML
..... Click the link for more information.
C++
Paradigm: Multi-paradigm
Appeared in: 1983
Designed by: Bjarne Stroustrup
Typing discipline: Static, unsafe, nominative
Major implementations: G++, Microsoft Visual C++, Borland C++ Builder
Dialects: ISO/IEC C++ 1998, ISO/IEC C++ 2003
..... Click the link for more information.
HTML (Hypertext Markup Language)

File extension: .html, .htm
MIME type: text/html
Type code: TEXT
..... Click the link for more information.
Windows Internet Explorer (formerly Microsoft Internet Explorer abbreviated MSIE), commonly abbreviated to IE, is a series of proprietary graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems
..... Click the link for more information.
Maintainer: Mozilla Corporation / Mozilla Foundation

OS: Cross-platform
Available language(s): Multilingual,[1] EULA in English only[2]
Use: Web browser
License: Mozilla EULA for binary redistribution

..... Click the link for more information.
Maintainer: Apple Inc.

OS: Mac OS X, Microsoft Windows

Use: Web browser
License: Proprietary EULA, LGPL
Website: Apple: Safari

Safari is a web browser developed by Apple Inc. and included in Mac OS X.
..... Click the link for more information.
Maintainer: Opera Software ASA

OS: Cross-platform

Use: Internet suite
License: Proprietary
Website: [1] Opera is a cross-platform web browser and Internet suite developed by the Opera Software corporation.
..... Click the link for more information.
Wireless Markup Language, based on XML, is a content format for devices that implement the Wireless Application Protocol (WAP) specification, such as mobile phones, and preceded the use of other markup languages now used with WAP, such as XHTML and even standard HTML (which are
..... Click the link for more information.
HTML (Hypertext Markup Language)

File extension: .html, .htm
MIME type: text/html
Type code: TEXT
..... Click the link for more information.
HDML may refer to:
  • Handheld Device Markup Language
  • Harbour Defence Motor Launch

..... Click the link for more information.
XHTML Mobile Profile (XHTML MP) is a hypertextual computer language standard designed specifically for mobile phones and other resource-constrained devices.

It is an XHTML document type defined by the Open Mobile Alliance. XHTML-MP is derived from XHTML 1.
..... Click the link for more information.
In computing, the Java Platform, Micro Edition or Java ME (previously known as Java 2 Platform, Micro Edition or J2ME) is a specification of a subset of the Java platform aimed at providing a certified collection of Java APIs for the development of software for
..... Click the link for more information.

General

Brew may refer to:
  • Brewing, the production of beverages and fuels through fermentation
  • Binary Runtime Environment for Wireless, a development platform for mobile phones
  • Brew (horse), a Melbourne Cup winner in 2000
  • BREW, Inc.

..... Click the link for more information.
JavaServer Pages (JSP) is a Java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a Web client request. The technology allows Java code and certain pre-defined actions to be embedded into static content.
..... Click the link for more information.
WML may stand for:
  • What's My Line?, a game show
  • , an XML based markup language proposed for wikis
  • Wireless Markup Language, markup used in mobile phones with Wireless Application Protocol, WAP
  • Website Meta Language

..... Click the link for more information.
C-HTML (for "Compact HTML") is a subset of the HTML markup language that works on DoCoMo's i-mode mobile phones. C-HTML also adds several additional features not found in standard HTML, notably the accesskeys, phone number shortcuts for links, and emoji pictorial characters as
..... Click the link for more information.
XHTML Mobile Profile (XHTML MP) is a hypertextual computer language standard designed specifically for mobile phones and other resource-constrained devices.

It is an XHTML document type defined by the Open Mobile Alliance. XHTML-MP is derived from XHTML 1.
..... Click the link for more information.
Hypertext Transfer Protocol (HTTP) is a communications protocol used to transfer or convey information on the World Wide Web. Its original purpose was to provide a way to publish and retrieve HTML hypertext pages.
..... Click the link for more information.
Java

Paradigm: Object-oriented, structured, imperative
Appeared in: 1995
Designed by: Sun Microsystems
Typing discipline: Static, strong, safe, nominative
Major implementations: Numerous
Influenced by: Objective-C, C++, Smalltalk, Eiffel,[1]
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter