dotMobimobiThinkingmobiForgemobiReadyDeviceAtlasfind.mobigoMobi

Downloads

DeviceAtlas is an on-line resource, and you can view the mobile device information by navigating around this site.

However, you will also want to use the data in your own application. For instance, the data can be used for performing content adaptation of your mobile web site. And that requires you to download software and data to your local environment.

There are two elements to these downloads: a programming interface that can be used to conveniently access the data, and the device data itself, in the form of a single file.

The two elements are split out partly because of the rate of their change (the APIs change occasionally, and the device data changes rapidly), but also because the subscription to the data updates is subject to licence.

The Application Programming Interface (API)

The DeviceAtlas API (when provided with the device data) allows you to perform convenient device recognition and retrieve device properties in your application.

The API is provided in a range of languages to ensure that, whatever your web server technology, you should be able to benefit from the DeviceAtlas knowledge. (And we'll be constantly adding to the list of languages and environments supported.)

In all cases, the API is designed to be lightweight, fast, and easy to install. We strive to keep the same functionality available between languages, and do so in such a way that allows you to cache or optimise the engine or results in a way suitable to your platform and design patterns.

Please see the documentation pages for more information about installing and using the API.

The API is currently available in the following languages:


Java

The API for Java environments is provided as a WAR file containing a small number of classes, the associated javadoc, and a sample JSP-based application. It can be deployed directly to a servlet server (it has been tested on Tomcat 5.5 and 6.0 and Java 1.5 and 1.6).

The classes are also available as a standalone JAR file for integration within other Java environments and applications.

File Version Date Size
DA_java_1.3.1.war 1.3.1 30th July 2008 154Kb (includes sample JSON and javadoc)
DA_java_1.3.1.jar 1.3.1 30th July 2008 15Kb


.NET

The API for .NET environments is provided in a ZIP file containing a single DLL, the associated documentation in MSDN format, and a sample ASP.NET-based application. It can be deployed easily into a standard .NET 2.0 environment, such as Internet Information Services v6 on Microsoft Windows XP or Server 2003.

File Version Date Size
DA_dotNet_1.3.1.zip 1.3.1 30th July 2008 195Kb (includes sample JSON)


PHP

The API for PHP environments is provided as a ZIP file containing a single PHP file to be included in your web application, and a sample of use. It can be deployed in whichever way makes sense to the file structure of your application - as long as the initialisation function identifies the location of the relevant files. phpDoc is also available in the zip file.

RELEASE WARNING: From version 1.2, the PHP library is fully object oriented, this is a step forward both in quality and performance. Your previous scripts will have to be upgraded, unfortunately. Old API is still available here with one to one references of the old functions to the new methods.

NB: The PHP API relies on the native JSON functions available in PHP 5.2.3 (and later) and is not supported on earlier versions.

Because of the nature of PHP run-time environments, there are large performance improvements to be gained from caching the device data between client requests. We recommend memcache - or similar - to boost performance in this way. (Both the Java and .NET APIs use static data by default to achieve the same effect).

File Version Date Size
DA_php_1.3.1.zip 1.3.1 30th July 2008 132Kb (includes sample JSON and phpDoc)


Python

The API for Python is provided as two scripts, the main API (api.py) and one for the exceptions (daExceptions.py). Python version 2.3 or higher and the standard simplejson library are required. Standard documentation is available online and in the archive.

File Version Date Size
DA_python_1.3.1.zip 1.3.1 30th July 2008 12Kb (including documentation)


Ruby

The API for ruby requires the standard JSON library that you can install via 'gem'. Standard documentation is available online and in the archive.

File Version Date Size
DA_ruby_1.3.zip 1.3 9th July 2008 35.9Kb (including documentation)


The device data

In addition to the API itself, you need to have a local copy of the DeviceAtlas device data. We provide this in a single file which uses JSON as a compact serialisation of the data. This file is loaded up by the API code on your server prior to recognition and property access.

An example JSON file is available in the sample applications within many of the API distributions.

Although we may occasionally make changes to the API components, we expect to do this fairly rarely. The JSON file, on the other hand, is designed to be updated very regularly. That's the file that contains information about new devices, new properties, and new data.

The frequency with which you can update your JSON file will be dependent upon your licence. Please go to your personal licences page to download any new files available for you.

If you haven't yet obtained a licence, you can do so here. Remember, if you're using the data for development purposes, the licence is free.


W3C DDR Simple API

DeviceAtlas now provides a preview of the implementation of the W3C DDR Simple API Recommendation that is still in draft.


What is the performance of our APIs?

Depending on your hardware (hard disk, memory and processor) you will get different results. During our tests, this is the performance we measured.