By Luca Passani, CTO @ScientiaMobile and WURFL Inventor
If you are familiar with our venerable Device Detection API, you know that there’s a key ingredient that you need to feed WURFL to keep it happy: an HTTP request.
Provide an HTTP request — or enough (logged) info to rebuild one — to any of our APIs, and WURFL will tell you what device you are dealing with and its features.
That’s what most of our customers ever needed. “Traditional WURFL” caters to use cases ranging from web optimization to adTech, to data streaming, and more.
However, some use cases have remained unaddressed, even though people have been asking for them since WURFL’s open-source beginnings 20 years ago.
Back then, people would inquire about obtaining a list of devices supporting J2ME Midlets or those compatible with Adobe Flash Lite 3 or higher.
These questions, which were relevant two decades ago, are still pertinent today if you shift the focus to technologies and features characterizing modern devices.
How do you query WURFL based on device features rather than User-Agent strings?
Ladies and gentlemen, may I have your attention, please?
I’m thrilled to announce the public beta of our newest creation, the WURFL Query REST API (or QuWURFL for short).
As trailblazers in the realm of device intelligence, our objective has consistently been to offer our support to businesses needing to manage mobile device information effectively. QuWURFL is a new product that proves our commitment to innovation in the field of Device Detection.
Here is a taste of the new possibilities that QuWURFL brings to the table. The WURFL Query REST API enables you to programmatically access WURFL information based on device names (brand, model name and or marketing name) and device features.
Get a list of all devices from Apple, or Samsung or <add your favorite brand here>
This is a reasonable question. A user may know that they own an iPhone, but the exact model name may be elusive.
Find a device by model name and/or marketing name
Your user may recall that a device is called SM T113, but is it with or without a dash in the name?
The official name is SM-T113 and WURFL reflects that, but QuWURFL is smart enough to return the correct device even when the naming is not 100% identical.
Find the device with the marketing name “Galaxy Tab 3 S8”
Very often, device manufacturers will “recycle” cool marketing names. A popular device will have a natural evolution that will make the manufacturer produce new models, while the popular marketing name is kept to represent them all in the eyes of consumers.
Find all Apple (or Samsung, or LG, or Motorola, or Huawei) produced between these dates
Your marketing people may want to know which devices a given manufacturer has released in a given time frame. That’s a common use-case.
Find all Android tablets that support OS versions 7.0 through 10
Finding devices that support a given OS version is also a question that your people may find relevant. And then, of course, any combination of the queries above.
The Power of WURFL Querying
QuWURFL takes querying to a new level, enabling you and your users to search for devices using brand, model, and marketing names with ease. With a wide variety of strategies available to address common use cases, QuWURFL allows you to find the perfect match for your requirements in just seconds.
What’s in a Name
What’s a “device name”? If you were to ask random people on the street about their devices, chances are that they’d report the correct brand, BUT… How many would give you the correct device name? Far fewer.
And what if you asked whether the device name they provided is the actual model name (as decided by the manufacturer) or an additional marketing name used for promotional purposes? Very few would be able to confidently give an answer in that case.
These challenges highlight the issues we encountered while trying to maximize “discoverability” of a device name.
The solution was to support multiple ways to look up devices by their “name”.
If you are building a dashboard for trained support personnel, you can treat the model and marketing names as any other WURFL property, and run a query on the exact name. On the other hand, if you are providing a service to the general public, you may use one of the other (more lenient) QuWURFL APIs that help guide end-users in identifying their devices.
QuWURFL supports filter operands (such as NearlyEqual) that attempt a match regardless of capitalization, dashes, slashes and other characters that may interfere with an exact match. This is the underlying operator used by the /v1/devices/findByModelName endpoint. But that’s not the only way. The /v1/devices/findByGenericName endpoint goes the extra mile to determine whether specific terms in a search key refer to a brand name (rather than a model name or a marketing name). Take the string “samsung galaxy s21” for example. A human will know that “samsung” refers to Samsung (™), the renowned device manufacturer, but computers won’t have any indication that the name is meant to indicate an actual brand. The endpoint that matches generic names provided by a (non-expert) human will apply a decent amount of ingenuity to figure it out on their behalf and still converge to the correct device.
Figure: The findByGenericName endpoint will match devices also when confronted with an unstructured device name.
“I have a form on my website and I want users to write their phone make and model in it. How can I implement an autofill with all popular devices?”
Finally, there may be cases where QuWURFL has very little to go on in order to discover a device and you want to autofill your input field with the right mobile device name.
This is tricky. Consumers may have only a partial recollection of a brand or device name. For those cases, there is an endpoint that will “cast a wide net”, and come back with quite a few possible matches. Those results may prove inspirational to end users that are trying to identify their devices. This is the use case of web-based autofills: the aptly named /v1/devices/autoFillBySubstring will take any string larger than two characters and return a list of devices that match “something”, where something might contain devices based on their name or brand.
This should be enough to enable even the most absent-minded end-users to zero in on their device with a single click.
At this point, you may wonder what you can do if the user absolutely has no clue about their device.
Supporting Device Detection through a QR code
This is the area where classic WURFL comes to the rescue. This particularly applies to WURFL.js Business Edition: found at the intersection between Device Detection and JavaScript, WURFL.js goes out of its way to recognize a device as it is used to access a website. Thanks to JavaScript, WURFL.js will also detect the actual model of iPhones and iPads, a piece of information that Apple has proactively tried to keep hidden from web developers, for some reason.
As our QuWURFL Demo application demonstrates, if your user is still not sure about their device, you can provide a URL to a page that contains WURFL.js BE, or — here’s a even better idea — a QR code that will let them get there with one click:
Figure: This demo app refreshed when it got notified that the user has a OnePlus 8T device.
Thanks to the /v1/devices/notify/{channel} endpoint, you can notify a web page or an application that a certain WURFL Device (identified through its WURFL ID) should be displayed.
The screenshot above (from the QuWURFL demo app) shows how all the bits of WURFL technology work together to deliver the ultimate device detection solution.
While the REST API will work particularly well with WURFL.js Business Edition, it will play well with other WURFL products through the use of WURFL IDs.
Public Beta: Try QuWURFL Today!
As part of our commitment to fostering innovation and collaboration, we are making QuWURFL available as a public beta for everyone to use. This is your chance to experience the future of mobile device information retrieval first-hand, and help shape the development of this exciting new product!
You can try the WURFL Query REST API right now. Just read our QuWURFL Getting Started Guide and start exploring how you can add support for device detection to your apps and websites today.
We are working hard on delivering QuWURFL Business Edition with a model that is similar to the one adopted for WURFL.js BE. Commercial users will be able to avoid the rate-limiting and — more importantly — they’ll be able to select the custom capabilities that are relevant to them. The end points will also be protected through authentication.
QuWURFL Forum
Early adopters of the WURFL Query REST API can now get support and provide feedback through a new support channel: a Discord server where you can connect with our tech-savvy team and give us your valuable opinion about the new service. We’re always looking for ways to improve, and our Discord server is a great platform for us to respond to user inquiries and provide support. You can find us on Discord at:
While Discord support does not come with an SLA of any kind, the channel will be tended to routinely. So, make sure you join our server and introduce yourself!