In July 2017, after eight long years of deliberation, the European Patent Office (EPO) finally granted Afilias Technologies Ltd patent EP2245836B1 “Determining a property of a communication device”. This patent is at the heart of their DeviceAtlas device detection product.
51Degrees, the company I founded and still run, opposed this patent not because we think it affects any of our current products but because it attempts to monopolise the earlier WURFL (Wireless Universal Resource FiLe) solution now run by ScientiaMobile along with other well-known computing techniques. Others have until 5th April 2018 to register their opposition. Let me explain why Afilias Technologies' patent should not have been granted.
The patent application was orginally filed by dotMobi (a company acquired by Afilias) in 2009. At that time the only other mainstream device detection solution was WURFL, an open source project that had been maintained since about 2002. As acknowledged by Afilias, DeviceAtlas originally used WURFL data among others and, as it turns out, a very similar algorithm to WURFL for processing that data.
It was also in 2009 that I made my first foray into the world of device detection when I adapted a WURFL integration for Microsoft .NET.
Two years later, Luca Passani, the curator of WURFL, formed ScientiaMobile with the intention of taking WURFL forward as a commercial business. By this time I had formed 51Degrees. In order to completely differentiate between my new product and the existing WURFL solution, I created a wholly distinct set of properties (taxonomy) and populated my first database from primary sources only (absolutely no scraping of values from 3rd party web sites and no borrowing of legacy WURFL). My product was a fresh start.
Although Afilias has said it has stopped using WURFL-derived data, its 2009 algorithm remains at the very core of the DeviceAtlas product.
Opposition by 51Degrees
This Afilias patent - and its US counterpart - are comparable to WURFL and I am staggered that the EPO have granted it. In contrast to the EPO, the US Patent and Trademark Office (USPTO) in November 2017, issued a final rejection in relation to similar claims contained in Afilias' patent application US20160070796.
At the heart of Afilias' patent lies a Patricia Trie which was first described in 1968 by Donald Morrison in his paper "Practical Algorithm to Retrieve Information Coded in Alphanumeric". The Patricia Trie links User-Agents to device properties in a similar way to WURFL. The way the Patricia Trie is used by DeviceAtlas includes techniques that are widely used in computing, for example in databases for compression and performance, so are not in any meaningful way innovative. Afilias confirms the relationship between its product and the Patricia Trie in September 2017 blog posts by Ronan Cremin and Pawel Piejko.
It's worth noting that Afilias' claim that the DeviceAtlas API technology is “now secured by patent in most jurisdictions” is factually incorrect as they only have a granted patent in Europe (which 51Degrees is opposing) and a far narrower version of the same algorithm in the US which now appears to stand little chance of being broadened.
Somewhat strangely, they also claim that the patent is the reason that DeviceAtlas is “the fastest out there”. While it is true that using a Patricia Tree is faster method than other algorithms in certain applications, it does not prove that they have the fastest possible algorithm. Our latest patent-pending algorithm is considerably faster: 51Degrees solution achieves 3.4 million detections per second versus DeviceAtlas achieving 1.7 million on near-identical hardware.
They also claim that they achieve "perfect accuracy" and that you don't have to trade off accuracy for speed. There's a great deal to say about the meaning of accuracy and also about the kinds of trade-offs that customers may reasonably want or need to make - for example between memory usage and speed - and which our product allows them to do. We explore some of these deeper questions in a companion post - where we look at some of the algorithms used and some of the subtleties involved in measuring accuracy and performance.
DeviceAtlas and 51Degrees algorithms explained
Opposition by Afilias
In parallel to our opposition to the DeviceAtlas patent, 51Degrees’ granted EPO patent EP2871816 "Identifying Properties of a Communication Device" is being opposed by Afilias, for reasons including that it is not new over Afilias’ patent. We have produced a summary (which you can read here) of the algorithms in question for the lay reader to quickly understand how each works. Clearly there is no similarity beyond the use of a small number of long established computing concepts connected in very different ways.
The EPO appears inclined to agree with me given they’ve brushed aside the vast majority of the attacks against 51Degrees’ patent in their September 2017 preliminary opinion. While we have to wait until May 2018 for their final judgement, if this preliminary opinion were to be upheld, the 51Degrees patent would be maintained, albeit in a marginally narrower form. On the other hand, the dispute in relation to Afilias' patent is likely to run until 2019. For most device detection users this may be of little consequence, merely a couple of companies having an argument about vanity patents. But for me it's an issue of truth and fairness in the world of competition.
51Degrees = Innovation
Ultimately device detection improves revenue for businesses and at 51Degrees we’ve gone out of our way to stay clear of WURFL, ScientiaMobile, DeviceAtlas and Afilias intellectual property.
Since 2011, 51Degrees has grown to become a respected commercial open source business and now employs 27 people, has 3 granted patents with 3 more pending, plus plenty of backing. A list of some of our industry firsts are available here
Of course, I believe 51Degrees provides the best solution, but I would recommend that any prospective user investigate all the product offerings, considering - among other things - operating costs, innovation, accuracy, approach to prediction, false positives and breadth of data.
We're very confident in our solution and have created a free device detection comparison tool to help you make the choice. You can find it on Github.
Happy device detecting.