General
- Does DeviceAtlas have worldwide coverage?
- Does the database contain the sales/market share data of the popular model?
- How do I add a User-Agent or header?
- Is DeviceAtlas based on standards?
- How do you reconcile various sources of data?
- Where does the device data come from?
- Who are dotMobi?
- How is DeviceAtlas utilised?
Yes; the wide range of partners of DeviceAtlas helps ensure that coverage is global, and increasingly the growth of worldwide traffic to dotMobi mobile properties ensures that intelligence on mainstream and emerging market devices is captured in DeviceAtlas. There are DeviceAtlas customers in over 130 countries, many of whom provide inputs also.
This is not yet available, but is a planned enhancement for the future.
The DeviceAtlas website does not offer a form or page to add new headers to map to devices.
The best way to add a new header to DeviceAtlas is to take the device and visit the testsuite TA-DA. Logging in and taking a test should take about 10 minutes. If you run a site with a high traffic and do not have access to all the devices that visit your site, our LogAnalyser can help. The LogAnalyser is a small Java and PHP application that you run on your server, feeding it with the headers you have collected from your website. Using a SOAP interface you may upload unique headers to DeviceAtlas. For access to the LogAnalyser, contact us offline (da.tech A T mtld.mobi)or on the mobiForge forum.
Yes; DeviceAtlas complies with the recommendations of the W3C Device Description Working Group. For W3C CC/PP, DeviceAtlas leverages the User Agent Profiles that are readily available from OMA.
Naturally we often get conflicting data from various sources regarding devices. In these cases, we use a weighted system to choose the most likely value for a given property. If everyone agrees the screen size of a device, then that's the one. If most people agree, then we take the most popular answer and adjust the value's confidence factor downwards slightly.
DeviceAtlas data comes from a variety of sources, and uniquely, the provenance of every single datapoint is exposed through the UI. Some is gathered from public domain sources, such as the User-Agent Profile resource for devices. Some is licenced directly from device manufacturers, network operators and infrastructure and tools providers. Other dotMobi properties provide considerable levels of data due to their worldwide footprint. Finally, DeviceAtlas customers provide feedback on unrecognised user agents to ensure continuous improvement.
We are the people behind the .mobi domain name - the only web address that indicates that a site has been designed for mobile users. You can read about us here.
DeviceAtlas is used to provide high speed redirection decision-making, to underpin content adaptation solutions, for demanding content delivery environments such as ad networks, and to support analytics offerings.
Sales
Yes, we're hiring world class staff for the DeviceAtlas project. Contact us if you want to join our team.
If you need 25 (or more) licences and want premium support, or you wish to embed DeviceAtlas in a product or service, you can also purchase an Enterprise or OEM licence.
Please contact our sales department, where a representative will deal with your query directly.
At present there are approximately 6000 devices, for which we provide 100 properties. New properties are added based on market inputs, and the number of devices is growing steadily. You can see a list of all the properties and their descriptions here
Depending on the frequency of updates and number of servers, prices will vary, please see our e-commerce section.
Each application will be counted as a server, so you will have to request 1 licence (developer, basic, standard or premium depending on your needs) for each application.
You can use DeviceAtlas with any domain.
You should buy 1 licence for every active server that runs DeviceAtlas. This means that if you have a load-balancer with, say, 2 active servers answering requests, you should buy 2 licences. If you have a master-slave cluster with, again, 2 servers (1 master and 1 slave), then you may buy only 1 licence as DeviceAtlas will only be active on 1 server at a time.
Even if it is elastic computing, Amazon measures in CPU count, thus you will have to pay for as many CPU's as you use.
API
- Do You Have A Tutorial?
- How Do I Update The JSON File Automatically?
- How Do I Use The Data In My Own Application?
- How Frequent Are The Updates?
- I Get A PHP Uncaught Exception
- I Have My Own Device Profiles, Can I Merge Them Into Your JSON?
- My device is not recognized, it sends the User-Agent 'Mozilla/5.0 (Compatible; OpenWeb 5.6.1.3-03) Opera 8.54'
- Some Devices Use Different User-Agent Strings, Will You Detect Them?
- What Are The Design Priorities For The APIs?
- What's The API Performance?
- Will The API Connect To Your Servers For Every Request?
Our tutorials are collected in our community site, mobiForge, but you can see a list from here, DeviceAtlas tutorials.
Having updated the JSON file, you should ensure you download was completed successfully and that the file is valid and complete. If the download is broken, your application will not work properly. See the manual on Automatic download of JSON updates and how to verify file integrity.
We provide a range of APIs for use in your own applications, and these are available on our downloads page.
The API software is not updated very frequently, we want to make sure that the load on developers is as low as possible. The JSON file (the device profiles, in fact) are updated constantly. Depending on the licence you purchased, you may be entitled to daily, weekly or monthly updates. Developer licences are entitled to daily updates, so you will always get the best!
Fatal error: Uncaught exception 'Mobi_Mtld_Da_Exception_InvalidPropertyException' with message 'The property "mobileDevice" is invalid for the User Agent:"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1"' in /path/DA/Api.php:357 Stack trace:
#0 /path/DA/Api.php(230): Mobi_Mtld_DA_Api::_getProperty(Array, 'Mozilla/5.0 (Ma...' 'mobileDevice' true)
#1 /path/index.php(49): Mobi_Mtld_DA_Api::getPropertyAsBoolean(Array, 'Mozilla/5.0 (Ma...' 'mobileDevice'
All our API's generate exceptions, your code should handle them. Refer to the specific documentation included with our API's to have a full list of the exceptions that might be generated
We like to think of DeviceAtlas as the place to share information, knowledge and experience about devices and the mobile in general. Our preferred method to collect device data is via our test site, TA-DA. We have also turned our website in a real read/write website so if you are registered you may add information about devices simply using your web browser. If you have a large amount of data already stored in some database or file such as XML, get in touch with us, because we have some import API's available. As a last resort, if you really cannot share the information because, for example, you do not own it, let us know, because we are working on a solution for this too.
My device is not recognized, it sends the User-Agent 'Mozilla/5.0 (Compatible; OpenWeb 5.6.1.3-03) Opera 8.54'
This is the OpenWeb proxy, not a real device. You should contact the network operator and ask them to whitelist your sites.
You might find useful these two articles we published on mobiForge.com:
Content Transformation Addendum to Web Browsing Style Guide
Setting HTTP headers to advise transcoding proxies...
Please note that the practices suggested here are for XHTML only. If you serve any WML/WAP 1 pages you should not use the Cache-Control headers suggested in those articles. If you do not get whitelisted, you will receive this user-agent string and a generic HTTP request FROM ANY mobile device and will not be able to detect it.
Content Transformation Addendum to Web Browsing Style Guide
Setting HTTP headers to advise transcoding proxies...
Please note that the practices suggested here are for XHTML only. If you serve any WML/WAP 1 pages you should not use the Cache-Control headers suggested in those articles. If you do not get whitelisted, you will receive this user-agent string and a generic HTTP request FROM ANY mobile device and will not be able to detect it.
The association between a HTTP request and a device is not one to one, but many to one, so
yes, we can detect devices that use different user-agent strings and HTTP request headers.
- speed (a few 10's of ms at start-up, depending on language)
- throughput (10,000's of recognitions per second)
- simplicity
- an efficient file size for regular updates
API performance was tested by us. Results are published on our api page.
No, we syndicate a compact serialisation of our data to be placed on the web server. We also
provide APIs that offer speedy, optimised access to the data - a lightweight JSON file.
Website
We have a complete list of the properties we support available on the site.
Every browser, when visiting a website, sends a number of strings known as "HTTP request headers". The user-agent string is one of these headers and is known as one of the best identifiers to recognize a device. DeviceAtlas uses this as part of its detection system.
We are constantly improving DeviceAtlas and adding new properties, we are interested to hear what properties you need and how you would use them. You can discuss this in our public forum, or send an e-mail if you wish to discuss this privately.
We have a forum where we have open discussions about DeviceAtlas features. We also provide support and give information about upcoming changes and features.