dotMobimobiThinkingmobiForgemobiReadyDeviceAtlasfind.mobiInstant Mobilizer

Version 2.3 Beta Release

The content you requested is only visible to authenticated users.

The 2.3 release of DeviceAtlas brings with it the next major release of our API. Version 2.3 is being released as a Beta to allow users to familiarise themselves with the new features and adapt their implementations to take advantage of these.

Comments and Suggestions

These API's are in Beta. Please send any feedback, bugs or suggestions to da.tech at mtld.mobi.

New Features

Where the current API is simply a means to query the DeviceAtlas JSON data file for device capabilties, version 2.3 extends the base API with a language specific Client object that can be instantiated to represent the connecting device. This makes implementing DeviceAtlas much easier than before.

How about a single line of code to instantiate an object that has all the properties of the connecting device, caches it's properties to improve performance and automatically uses only the headers it needs for the most accurate device capability detection? Check out the documentation and samples, which have been expanded and updated, to help understand this new setup and get going fast.

The new API also brings with it some additions to the JSON data. Specifically the addition of User Agent Profile (UAProf) data. For the Beta testing period developers should use the Sample.json that is bundled with the API for their testing. The new API is backwards compatable with any JSON file downloaded since October 2008, however the old JSON will not contain UAProf data and as such the API will not be able to use this data to improve its recognititon capability.

The new API has been adapted to take ALL device headers as a query parameter and return results based, not only on the User Agent as before but also, on the UAProf. In the future DeviceAtlas will use even more headers therefore using the new HttpHeaders class will future-proof your deployment of DeviceAtlas.

Experienced mobile developers will know that sometimes transcoders or proxies fiddle with the headers sent by mobile devices and it is the developers job to "sniff" out the correct headers to use when calculating device cababilitites. The new HttpHeaders class will intellegently search through all your headers to find the best header to use when querying the API so that this task is accomplished transparently to you the developer.

Compiled code APIs (Java and .NET) now do additional processing of the JSON data at load time to make queries even faster.

Java Servlet and IIS users have the added benefit of some new server side extensions that automatically do device detection on all incoming requests before passing them on to your application. So now even designers can start thinking about designing device aware, mobile web applications without getting their hands dirty in the developer's playground. Check out the docs for details on installing and configuring these modules/filters.

Backwards Compatability

The API has been designed to be backwards compatable, as a drop in replacement for the current API. That said, there are numerous new features that you will miss out on if you don't revise your implementation to use the new added features. Old JSON data (since October 2008) will work with the new API, and the new JSON will work with the old API, however we recommend testing your implementation of the new API with the supplied sample JSON file as this is the format that the file will be distributed in following the official release of the new API.

There have been some language specific changes following customer feedback to ensure the API follows the standards set out by the developer community:

  • The ASP.NET assembly has changed its name from "DA" to "Mobi.Mtld.DA", the Class Library is in Mobi.Mtld.DA.dll.
  • The Java API has changed some of it's methods to accept parameters of the type Map, instead of HashMap.

Langauges

PHP

The PHP API now includes built in caching as part of the Mobi_Mtld_DA_Client. This is an instantiable class so you don't have to type that whole thing out all over your code.

Be sure to read the accompanying documentation for details on how to setup your cache.

File Version Date Size
DeviceAtlas_PHP_API_Beta_2.3.zip 2.3 Beta 2nd February 2009 377Kb (includes sample JSON)

Java

Besides the new classes added to all the APIs, the Java API includes a new package mobi.mtld.da.servlet with classes designed for use in a Servlet environment. These provide an extremely simple way to implement DeviceAtlas within any Servlet container such as Tomcat.

Be sure to read the accompanying documentation for details on how to setup the servlet config file, web.xml.

File Version Date Size
DeviceAtlas_Java_API_Beta_2.3.zip 2.3 Beta 5th February 2009 367Kb (includes sample JSON)
DeviceAtlas_Java_API_Beta_2.3.war 2.3 Beta 5th February 2009 329Kb (includes sample JSON)

.NET

Besides the new classes added to all the APIs, the .NET API includes a new package Mobi.Mtld.DA.Web with classes designed for use purely in an IIS7 or ASP.NET environment. Minimum requirement for the .NET API is the .NET Framework version 2.

Mobi.Mtld.DA will work with recent versions of Mono (the open source .NET framework) and the Mobi.Mtld.DA.Web assembly will work within XPS (the Mono stand-alone server), however this has not been extensively tested.

You can download either the ZIP archive of all files, or download the Windows Installer which will copy all of the API files and documentation to your computer but will also install a new website on your local IIS server with the samples and documentation.

Be sure to read the accompanying documentation for details on how to setup the servlet config file, web.xml.

File Version Date Size
DeviceAtlas_DotNet_API_Beta_2.3.zip 2.3 Beta 2nd February 2009 1,583Kb (includes sample JSON)
DeviceAtlas_DotNet_API_Beta_Installer_2.3.zip 2.3 Beta 2nd February 2009 1,584Kb (includes sample JSON)

Disclaimer

The downloads on this page are in Beta. Use of these API's is done so at your own risk. Please send any feedback, bugs or suggestions to da.tech at mtld.mobi.