Update API and XML files: The Oxygen of Device Detection

Update API and XML files: The Oxygen of Device Detection

May 2017
By Ken Jones

Device detection is like oxygen for the mobile internet. It keeps your site and advertisements optimized and well analyzed. And, like oxygen, once you have it, you might forget it’s there. Unfortunately, that oxygen can get stale and unless you continue to take deep breaths, your performance will suffer.

Healthy device detection requires you keep two elements of the solution up to date:
1) the API which contains the logic for device detection, and
2) the snapshot XML file which contains the universe of devices.

Important Benefits of API Updates

Many WURFL users may not know how critical it is to keep the API up to date. If you neglect updating the API, you will miss out on several fronts:

  • Accuracy – API logic evolves to identify new user-agent patterns, which, in turn, means recognizing more device types and models. An updated API and XML work together to deliver high accuracy over 99%.
  • Speed improvements – ScientiaMobile has been improving the performance of the API constantly throughout the years. For example, from version 1.6.2.2 (September 2015) to our 1.8.4.0 (April 2017), the speed of the WURFL OnSite Java API accelerated 5X. The WURFL InFuze API is now 10X faster!
  • New capabilities and features – We add new, powerful virtual capabilities such as is_robot() or is_app() all the time. You’ll need to update your API to take advantage of them.

In short, while you may not want to rush to update the API minutes after a newer version is released, updating the API once every quarter or two is highly recommended. Just so you know, 34% of our support requests are from customers who have failed to update their installations and only recognized issues when their data started looking way out of whack.

Stay Accurate with Updated Snapshot XML

Updating WURFL’s snapshot XML should be done frequently – preferably on a weekly basis. This update very important – especially if your customers rely on your device accuracy (like advertising networks). In this previous blog, we analyzed what we called the “half-life” of user-agents from devices. The key takeaway is this: if you wait one year to update the XML, then your device accuracy drops to roughly 38%.
update XML - accuracy

Why does this happen? New models arrive. Operating systems update. Browsers change. This all contributes to a rapidly changing universe of user-agents. That is why you need to keep WURFL both the logic to identify user-agents (the API) and the device models (XML) up to date.

New Built-In WURFL XML Updater

We’ve made updating your XML easier. Starting with API 1.8.0.0, WURFL Updater is now built into our API. It will automatically check for a new XML snapshot from your customer vault, download, and reload the engine. It can do this with no interruptions to serving requests. Check the documentation for your API. Below is the configuration for the Java API’s updater (note that the xxxxx is replaced with your personal access token).

String rootPath = "wurfl.zip";
WURFLEngine engine = new GeneralWURFLEngine(rootPath);
// remember to modify the url below with your personal WURFL Snapshot url
WURFLUpdater updater = new WURFLUpdater(engine, "https://data.scientiamobile.com/xxxxx/wurfl.zip");
updater.setFrequency(Frequency.DAILY);
updater.performperiodicUpdate();

Need Help?

You can log in, download, and install the latest API from your customer vault. If you need help or have questions, then our enterprise support team is always here to help you get optimal performance from your WURFL solution.