WURFL.js Business Edition: At the Intersection of JavaScript and Enterprise

WURFL.js Business Edition: At the Intersection of JavaScript and Enterprise

By Luca Passani, CTO @ScientiaMobile

“The Constitution only guarantees the American people the right to pursue happiness. You have to catch it yourself.” ― Benjamin Franklin


wbe_logo It was over one year ago that ScientiaMobile announced the WURFL.js Community Edition under the umbrella of the WURFL.io initiative. Believe me. WURFL.js was (and still is) a huge success, just as its siblings,the MOVR report and WIT, the WURFL Image Tailor, are.

For those who are just tuning in now, WURFL.js Community Edition is a free developer tool that enables front-end web programmers to leverage the power of server-side device detection through “JavaScript as they know it”.  Simply embed the following tag into your HTML:

<script type='text/javascript' src="http://wurfljs.com/wurfl.js"></script>

and ScientiaMobile’s Cloud will return an object that looks something like this for all practical purposes:

var WURFL = {
    "complete_device_name":"Nokia Lumia 920",

It goes without saying that the JSON data reports WURFL data, which would be impossible to derive with a JavaScript only implementation (sorry, front-enders!). The tool has been adopted by thousands of websites across the globe. This is not surprising given the new possibilities and the ease of adoption of the new tool. Front-end optimization is one obvious use of WURFL.js, but not the only one. Many use client-side WURFL to improve their analytics and understand, for example, if their responsive website is performing appropriately on mobile devices.

It did not take long before some of the companies out there asked for a commercial version of the WURFL.js, i.e. a version that offers extra features and fewer of the legal restrictions that came with the free service. This is what convinced us to fly Jon Arne, our VP of Innovation, to Washington DC in the middle of a Virginia winter storm for more brainstorming with Steve and myself.  The question in front of us was “What premium features do businesses need that we can deliver via the simplicity of the WURFL.js concept?” The answer to that question was WURFL.js Business Edition, and specifically all of the new features which I’m about to illustrate here.

Commercial Usage

One of the points that users raised most frequently about WURFL.js Community Edition was the fact that the tool could not be used for commercial initiatives, such as services that require fee-based subscriptions. We never thought of this requirement as particularly troublesome. Just to provide an example, Google offers access to Google Maps with the same constraint, yet people are still using those maps pretty much everywhere. Also, it would be risky to offer a free service to companies that may decide to rely on it for their business model.s

Since there seem to be companies that would be perfectly happy to pay a fee to overcome the issue, WURFL.js Business Edition effectively removes that constraint for paying customers. This comes on top of another key advantage over WCE, a dedicated infrastructure.

Separate Infrastructure

While similar from a software perspective, WBE runs on a separate infrastructure. This means that commercial users will not be sharing the same servers with anyone who may decide to adopt the Community Edition from one minute to the next. They will only be sharing the infrastructure with other commercial customers. This is very concretely reflected in the fact that WURFL.js Business Edition is invoked through a different URL to the JavaScript goodies (the actual URL is customizable for enterprises. More about this later).

<script type="text/javascript" src="//wjs.wurflcloud.com/wurfl.js"> </script>

The invocation will only work when embedded in a page that the customer has enabled through their WBE Control Panel (see picture).

Manage hostnames in WBE

Extra Capabilities

Of course, giving commercial users access to more WURFL capabilities was the obvious thing to do. The new capabilities and integration with analytics platforms, such as Google Analytics, will enable analysis of web site performance along more dimensions than previously possible. For example,the capabilities that describe a device’s physical dimension will provide an understanding of how form factors affect user behavior (e.g. by resulting in lower/higher conversion rate).


Custom SSL and CNAME Support

Community Edition already supports SSL through a shared certificate. WURFL.js Business Edition brings this further thanks to support for CNAMING and custom SSL certificates, i.e. the ability to point a customer’s DNS to wjs.wurflcloud.com and refer to the service as if it were run in-house by the customer themselves. Along with the ability to upload one’s own SSL certificate for that server, nesting a reference to WURFL.js Business Edition in the following form becomes possible:

<script type="text/javascript" src="https://wjs.mycompany.com/wurfl.js"> </script>

or simply:

<script type="text/javascript" src="//wjs.mycompany.com/wurfl.js"> </script>

to support SSL and regular HTTP requests irrespective of the protocol of the hosting page. CNAMEs have to be declared in one’s own DNS primarily. In case SSL support is also required, adding the CNAME to the WURFL.js Business Edition Control Panel gives the ability to set up SSL Certificates and Private Keys (see screenshots below):


Define SSL Certificate in the WBE Control Panel

Improved Performance

WURFL.js Business Edition users are served with a version of the WURFL.js JSON object that can be cached more aggressively by browsers. This will result in fewer HTTP requests for those who visit the sites of enterprise customers. The caching feature makes WURFL.js Business Edition perfectly equivalent to other externally hosted JavaScript libraries such as jQuery or Google Analytics when it comes to availability and performance, with the added value that the JSON object is a lot smaller than those libraries.


Service Level Agreement

ScientiaMobile is not committing to any particular SLA with the users of the free Community Edition. WURFL.js Business Edition is different. We commit to 99.99% uptime and offer a SLA that is in line with what the industry offers for similar Cloud services.

Enterprise-Grade Support

WURFL.js Business Edition is a commercial product, and it comes with the support that ScientiaMobile provides to all of its products through its Forum and through direct ticketed support. This is another key element for enterprises.


The market has spoken. Adoption of WURFL.js Community Edition by thousands of websites around the planet shows that WURFL.js fulfills an important need. The launch of the Business Edition brings the tool to the enterprise level. Those WURFL.js Community Edition adopters who replaced their ‘hacky’ JavaScript device detection with WURFL.js, have gained access to better analytics and deeper insight into how users use their services. This great support in the web design process has conquered the trust of front-end developers and paved the way for the introduction of WURFL.js Business Edition.