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 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:
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 |
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) |
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) |
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) |
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) |
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.
DeviceAtlas now provides a preview of the implementation of the W3C DDR Simple API Recommendation that is still in draft.
Depending on your hardware (hard disk, memory and processor) you will get different results. During our tests, this is the performance we measured.