In this section we'll see what's purpose of WURFL (Wireless Universal Resource FiLe) and the WALL (Wireless Abstraction Library) tag library and how far it's efficient as a cloud service (SAAS device detection).
WURFL (Wireless Universal Resource FiLe) is a community effort focused on mobile device detection. WURFL is a set of proprietary application programming interfaces (APIs) and an XML configuration file which contains information about device capabilities and features for a variety of mobile devices. Until version 2.2, WURFL was released under an "open source / public domain" license. Prior to version 2.2, device information was contributed by developers around the world and the WURFL was updated frequently, reflecting new wireless devices coming on the market. WURFL is a repository of wireless device capabilities. The goal of the WURFL project is to describe the capabilities of common wireless devices around the planet and provide a simple API to programmatically query the capability repository.
WALL (Wireless Abstraction Library ) 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.
Problem of 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.
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 Java ME 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). 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 test site 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.
In March 2012, ScientiaMobile has announced the launch of the WURFL Cloud . While the WURFL Cloud is a paid service, a free offer is made available to hobbyists and micro-companies for use on mobile sites with limited traffic. With the popularity of mobile devices, content providers need to identify those devices and their capabilities. Developers can retrieve a list of device capabilities by accessing a Device Description Repository (DDR). WURFL, a popular open-source DDR, has addressed the problem for over 10 years. ScientiaMobile, founded by the WURFL team, offers a DDR solution which addresses the most disparate needs, from large enterprise installation with strict performance and reliability requirements, to regular companies who need a simple inexpensive solution, to non-profit organizations who do not have a budget for a commercial DDR.
The ScientiaMobile WURFL Cloud offering presents a variety of plans for customers, ranging from small hobbyist sites to large enterprise installations. Customers can query the WURFL device detection repository in real time to get the latest device data.
Device detection can be set up in minutes by any averagely skilled programmer in one of the supported platforms.
Standalone solutions offer companies blazingly fast device detection solutions installed and accessed locally on your own environment.
- Install locally on your host
- Periodic updates
- Use without AGPL restrictions
- Full source code
WURFL cloud service provides a continually updated DDR without the hassle of installation at a fraction of the cost. The WURFL Cloud Service is a highly-available installation of the WURFL Device Database which allows companies to query updated WURFL mobile device information in real time. Regular APIs require that developers or system administrators periodically download and deploy a newer wurfl.xml file, to enrich the DDR with the device profiles of recently-released devices.
- Continually updated
- High availability
- Managed Service
- Ease of use
- Monthly rates
Who can use the WURFL Cloud?
WURFL Cloud is open to companies of all sizes, though no OEM clients or software as a service companies (SaaS) can use the WURFL Cloud client to serve their customers. Right now PHP 5.1+, Java 1.5+ and ASP.NET 4.0 are officially supported. ScientiaMobile has developed, but not yet officially released, a Ruby, Python and ASP.NET 2.0 version of the Cloud Clients. In addition to this, at least one premium customer has been allowed to 'speak JSON' to the Cloud directly. Developers can contact ScientiaMobile and request access to pre-release versions of those clients.
How users sign up for the WURFL Cloud?