Golang and WURFL: an Overdue Marriage

It does not matter how slowly you GO as LANG as you do not stop” – Confucius, slightly adapted

The Golang WURFL Opportunity

By Luca Passani, CTO @ScientiaMobile

Here at ScientiaMobile, we have heard requests over the last several years for a WURFL API that supported the Go programming language (AKA golang). Technically speaking, the idea of supporting golang has been attractive. But then again, a lot of other languages and technologies were worthy of WURFL support. We had to prioritize. Compared to other opportunities in the industry, golang consistently fell a little short.

Nevertheless, we would see many (mostly lame) attempts to bridge the gap between WURFL and golang pop up around the Internet. To us, this was a clear indication that something had to be done.

Be the First to Use WURFL InFuze for Golang!

Last summer we got one of our engineers on the case. He came up with a functioning Go module. The golang WURFL module is still unreleased. Here at ScientiaMobile, we would love to work with someone who already uses golang and can deploy the module in a real-world environment.

We will assist that person or company in the installation/deployment of the module in order to ensure that it functions as advertised. You can contact us through our Inquiry Form.

Looking forward to hearing from you,


Luca Passani – CTO

Read More…

Client Hints in the Wild

Client Hints usage is growing for to help optimize images. The Mobile Overview Report 2016 Q3 (MOVR) shows 6% of images from Chrome browsers now use client hints. And both mobile and desktop usage is growing.

What is Client Hints?

Client Hints is an initiative from Google that addresses the shortcomings of handling responsive images only by markup. It’s simply too cumbersome and difficult to scale.

The draft specification states

An increasing diversity of Web-connected devices and software capabilities has created a need to deliver optimized content for each device.

The Mobile Web Camp has been pushing this approach for years. The need for optimization is critical for a good user experience on mobile devices.

Client Hints enables the browser and the server to “negotiate” the best size, format and resolution for an image. This is known as content negotiation and is made possible by some additional HTTP request header fields. These fields tell the web server serving the images the size of the viewport, size of the image, pixel ratio and more. Capable servers, like ImageEngine, can then tailor the best fit for the specific request. Read more about ImageEngine, Client hints and responsive images here.

Client Hints Adoption

Client Hints has been available since Chrome version 46 and Opera version 33. But are sites using this powerful feature? As a part of our quarterly MOVR reports, we looked into our image request data to find out.

Usage has grown significantly the last 3 months, reaching 6%. Most of this growth is from Chrome and Opera browsers. At the time of writing it is still only the Blink based browsers (Chrome and Opera) that are fully supporting Client Hints.

Client Hints Growth on Chrome Opera

Mobile used to represent a significantly larger proportion of the Client Hints requests, but now they are almost equal.

Client Hints Growth on Mobile, Desktop


Why is Client Hints Growing?

We have a few hypotheses about why Client Hints usage is growing:

  • More CMS plugins are supporting Client Hints out of the box,
  • Developer mind share is growing
  • Some of the big CDN players are starting to show interest in Client Hints

Still, in the big picture, the share of requests with Client Hints is still small so to unleash the full potential of content negotiation. A combination with server side device detection is recommended.

Recalling Samsung Galaxy Note 7 Not So Easy

Update on October 24th: We now see that users are heeding the recall. Usage for Samsung Note 7 has dropped consistently over the last 2 weeks.

After 5 weeks, traffic has just now dropped below the level when the US Consumer Safety Commission issued their first notice on September 10th. The conclusion is that Note 7s are still out there being used. The recall still has a work to do to get the Note 7 out of circulation.

Samsung has clearly had problems with its Samsung Galaxy Note 7.  On October 11, Samsung announced they were discontinuing the model.  But a recall will prove difficult for Samsung because usage continues to grow.  Samsung will need to pry the Galaxy Note 7 from the hands of users who clearly like the smartphone.

As of October 24th, the Note 7 was the 50th most popular smartphone in the USA.  This is dropping also.

Our MOVR report monitors billions of hits from web sites over the world. We will be issuing a full report later this month. Please subscribe to MOVR here.

Case Study: Crazy Factory Optimized Image Delivery


The Challenge of Images on the Mobile Web

Having a rather young audience, mobile and multi-device access is important. Items from the online store is not only browsed on mobile, but also shared through social networks, where the primary use case is mobile. Further, to emphasize the importance of mobile usability for storefronts like, one third of all transactions on black Friday 2015 came from mobile devices.

The German agency Pixolith took on the challenge to do a web site redesign of the entire web site with the goal of making the experience better with a special focus on improving usability for mobile devices. In addition to responsive design and a well crafted user interface with focus on speed and performance, attention was soon drawn to the challenge with the product images. Images are an crucial part of’s product presentation, and must be both fast loading and have high quality. Having a global audience, physical location of the image servers also make a huge difference to performance. Addressing these challenges by responsive design alone proved to be challenging for several reasons.

Introducing ImageEngine in the redesign project saved us a lot of development time. At the same time, we got faster and better image delivery compared to our alternatives.

– Christoph Burchartz, Executive Partner Pixolith

Like most online shops, is built upon a highly customized shelf-ware e Commerce platform. Looking at the complexity of the platform, there was no option to do radical changes in the front end to how images were referenced by for example introducing responsive image tags or other front end solutions. The risk of breaking the web shop front end and editorial process was simply too high.

Moreover, it would have affected the editorial parts of the system by having to add or generate multiple versions of the same image. Retrofitting publishing systems to use responsive images was simply not feasible.

The number of product images alone is enormous. For example, a single web page may show over 2,500 images of various piercing and jewelry. Having to generate and manage several versions of the product images would have affected performance of the platform. Further, deciding the different sizes and formats (breakpoints) had to be done when coding the site or configuring the platform. Which again is a major task if something needs to be changed later.

The ImageEngine Solution

To address these challenges, Pixolith chose ScientiaMobile’s ImageEngine solution. It combines device detection, image resizing, and a high performance image caching and delivery network. Crazy Factory integrated ImageEngine into via simple modification of the HTML image tag. When images are requested by desktop or mobile devices, ImageEngine automatically determines the best size, compression and format of any image for that device. It then caches the image and delivers it quickly, ensuring that subsequent similar requests are even faster.

Several alternative solutions were investigated. For example, client-side solutions for image handling were evaluated, but all alternatives fell short when it came to implementation. Likewise, changing the way images are displayed in the publishing platform was simply too risky. With ImageEngine, the only thing needed was to prefix image urls with a reference to the ImageEngine servers. This simple deployment saved a huge amount of time and effort compared to other alternatives.

A site like with thousands of products and a global audience is dependent on effective caching. ImageEngine’s fast servers and content delivery network (CDN) functionality is crucial to providing a great service to the end users. CDNs are commodity, but usually require some setup and configuration. Moreover, in Crazy Factory’s case, it turned out to be a commercial challenge too. Both due to pricing as well as product packaging. ImageEngine was the best from both worlds; easy setup and specialized functionality on one side, and a scalable and predictable business model.


The Results

Benefits of ImageEngine

  • Saves 95% of development time for image-intensive sites

  • 60% faster Web page download time

  • 60% reduction in image payload

  • Images automatically optimized for each mobile device

During development, the Crazy Factory team used various tools to test and monitor performance. E.g. Google PageSpeed Insights. With ImageEngine, the score is well within the performance budget.

The roll-out started with A/B testing for a small portion of the users. Once statistics were analyzed confirming that the overall user experience was better, ImageEngine was soon serving all of the 1.6 million customers globally.

Another positive effect of introducing ImageEngine is that the editorial process remained unchanged. Product images are produced the same way as before and ImageEngine is optimizing them as needed. If the project would have to include  changing the editorial process, then the scope would have increased beyond what was reasonable. Introduction of ImageEngine was fully transparent to editors as well as end users, but with better performance.

Upfront, Pixolith and Crazy Factory saw a much faster development cycle because of ImageEngine, enabling them to effectively manage the thousands of images on the site. Over several months, Crazy Factory saw much faster load times and savings in terms of image payload delivered. Over a three month period, ImageEngine optimization saved over 8.9 TB of image payload delivery on 5.2 billion images delivered.


iPhone Users Moving to Larger Screens

For iPhone Users, Bigger is Better. Smaller is Not.

In the latest MOVR report, we looked at iPhone Screen size trends. We compared Apple’s new model releases, looking to see if there was a preference for size. Roughly, the iPhone SE is small (diagonal display size of 4”), iPhone 6S is medium (4.7”), and iPhone 6S Plus is large (5.5”).
Today, the “medium” 6S is much larger than its predecessor, the iPhone 5. We classify the iPhone 5’s 4” display as “small”.
The “medium” iPhone 6S is the leader in all countries, with over 15% of iPhone traffic in most countries.
The larger 6S Plus has gained over 5% share in the USA, Australia, Viet Nam. In most countries, it ranks ahead of the small iPhone SE by almost 2X.
While only released in March of 2016, the smaller iPhone SE does not appear to have significant share yet.

Read More…

Are 3 Image Sizes Enough for Responsive Web Design Sites?

Are 3 Image Sizes Enough for A Responsive Web Site?

The answer is: if you care about mobile performance and payload, then you need a better solution than only 3 image sizes. We evaluated over 53 million requests for images from 1.6 million distinct urls (see our MOVR report). On average, it takes only 8 requests to surpass the need for 3 image sizes. Resizing to the standard 3 versions helps reduce the payload to 63% of the original. But if you automatically detect the actual device, resize, and compress to an optimal size, then you can save 84% of the payload. For image-heavy sites with a large amount of mobile users, this performance improvement could have a big impact on user experience and e-commerce conversions, potentially generating millions of dollars.

Read More…

5 Steps to Add iPhone Models to Google Analytics with WURFL.js

Add iPad and iPhone Models in Google Analytics

Do you want information on specific iPhone models in Google Analytics? Ever wonder why Google Analytics can’t give you more detail about iPhones and iPads?  After all, an iPhone 4, iPhone SE, and iPhone 6S Plus are different phones representing VERY different markets. Wouldn’t it be great to drill down into that detail?

Now you can with 5 easy steps:

  1. Get a WURFL.js account
  2. Insert the WURFL.js script into your page
  3. Send the WURFL Device Capabilities to Google Analytics Custom Variable
  4. Set up Google Analytics to track WURFL Custom Variables
  5. Analyze the data and set up dashboards

iPhone Models in Google Analytics Read More…

Is Your Responsive Design Working? Google Analytics Will Tell You

[This article was originally published in Smashing Magazine.  We have updated the section on Universal Analytics to conform with change by Google Analytics.]


Add iPhone to Google Analytics

Responsive web design has become the dominant method of developing and designing websites. It makes it easier to think “mobile first” and to create a website that is viewable on mobile devices.

In the early days of responsive web design, creating breakpoints in CSS for particular screen sizes was common, like 320 pixels for iPhone and 768 pixels for iPad, and then we tested and monitored those devices. As responsive design has evolved, we now more often start with the content and then set breakpoints when the content “breaks.” This means that you might end up with quite a few content-centric breakpoints and no particular devices or form factors on which to test your website.

However, we are just guessing that our designs will perform well with different device classes and form factors and across different interaction models. We need to continually monitor a design’s performance with real traffic.

Content-centric breakpoints are definitely the way to go, but they also mean that monitoring your website to identify when it breaks is more important. This information, when easily accessible, provides hints on what types of devices and form factors to test further.

Google Analytics has some great multi-device features built in; however, with responsive design, we are really designing for form factors, not for devices. In this article, we’ll demonstrate how WURFL.js and Google Analytics can work together to show performance metrics across form factors. No more guessing.

Read More…

Get WURFL Release 1.8

WURFL Release 1.8
ScientiaMobile has released version 1.8 of its WURFL API. To get the best possible performance from your WURFL solution, you should have both the latest API (1.8) and our most recent XML (released weekly to Commercial license customers).

What’s New in Release 1.8

  • Improved detection of iOS 10.
  • Improved ability to identify if the requesting HTTP client is an App
  • Adding of WURFL Updater that simplifies the setting up and maintenance of weekly XML file updates (Java only)
  • Improved decoding of User Agent strings containing special characters
  • Improved identification of MIUI devices

Release 1.8 is available across all WURFL products. WURFL OnSite users can download here.  WURFL InFuze users can sign in and download from their account.  We have moved downloads of the WURFL OnSite API to, which requires an account username and password. Please contact us if you have any issues registering for an account.

WURFL Cloud, WURFL.js, and WURFL InSight customers will automatically benefit from Release 1.8 – no downloads necessary.

Beginning with WURFL Release 1.8, ScientiaMobile will only offer WURFL OnSite under either a Commercial license or an Evaluation license. Previous users of AGPL or other Open Source license versions are welcome to evaluate WURFL OnSite for 30 days under the Evaluation license. After 30 days, you can contact us here to acquire a Commercial license. We also offer several other products that may fit your budget and needs (WURFL.jsWURFL Cloud).

Add ImageEngine To Your CDN Mix

On the web today, there is a strong focus on performance. A website must be rendered as fast as possible for all users regardless of their geographical location, device capabilities, latency and bandwidth. The value of a fast loading web page is well documented. If we look closer at the drivers that slow down a website, then we discover that mobile devices connected through the telco network have a much slower experience. This is because of the resources available in this context. However, there are many things we can do to mitigate these slowdowns. One solution is to use a Content Delivery Network (CDN).

CDNs are not new. They’ve been around for many years for good reasons. By geographically distributing traffic to cache servers close to the end user, latency is reduced. Furthermore, much of the traffic is offloaded to the CDN reducing the risk of DOS attacks, or simply helping to tackle peak traffic, which ensure the availability of the site. So, a CDN is usually a very good investment in better performance. Especially for sites with a global target market.

CDN usage according to

CDN usage according to

Check, I have a CDN

A couple of years back, a CDN was pretty much a CDN. Caching and serving mostly static files with little logic applied. Back then, one single CDN might have been enough. Now, there is a trend towards multiple CDNs used on a single site depending on their characteristics. Different content is served by different CDNs. For example, Google’s CDN is widely used to serve fonts and scripts. ChinaCache is great for sites targeting the Chinese market. Our own ImageEngine is great for quickly serving resized images for mobile devices. Along with the trend of specialized CDNs, there is also a trend to apply more logic “at the edge”, which means that various optimization techniques are applied to the cached content as close to the end users as possible. All to ensure better performance and user experience.

Looking at the data from, 18% of the sites are hosting html on a CDN.  If we dive deeper into the data (made available in Google BigQuery), 37% of all subsequent requests made from the initial html page are served from a CDN (July 2016). The reason for the relatively high difference is likely to be the trend of specialized CDNs with edge computing capabilities.

Multiple CDNs

According to the httparchive data, out of the sites already using a CDN, 69% use more than one (excluding references to social widgets like Twitter and Facebook). 45% use more than two CDNs. Google is usually one of the CDNs in this group due to its convenience for serving fonts and scripts. Aside from that, there is a good mix depending on the needs of the site.

sites using multiple cdns

45% of sites use more than two CDNs

ImageEngine: a Pull-Based CDN That Serves Optimized Mobile Images

This is also the reason why we launched ImageEngine. Looking at the CDNs serving images today, none of them address the challenges of images effectively. Especially for mobile users. For many sites the mobile users now account for more than 50%. For example, 50% of Google searches are now performed from a mobile device, and Google asserts that proportion will grow. We know mobile devices have questionable connection quality. And we also know that images accounts for more than 60% of the bytes of the average web page. So addressing the challenge of fast mobile images with an image-oriented CDN is one of the  this is definitely one of the most important challenges to address in order to improve all aspects of using the web.

ImageEngine is a CDN that specializes in optimizing images particularly for mobile users. ImageEngine brings further innovation to the trend of edge computing by applying advanced device detection to figure out how to best size, compress and deliver a given image. Our estimates suggest a saving of up to 60% in bytes transferred.

ImageEngine is a pull-based CDN. Which means that you don’t have to upload or manage your images before you start using ImageEngine. With most other CDNs it is required to upload or somehow push the images to the CDN first. This process adds overhead and complexity to the workflow. With ImageEngine it is just plug and play – no uploading required.

Even though ImageEngine acts as a proxy, it is not as intrusive as other proxy-based CDNs. Typically, a proxy CDN optimizes your site on the fly, by changing the HTML, combining and compressing resources, in an attempt to increase speed. Unfortunately, this approach results in loss of editorial and visual control. Especially for mobile, we’ve seen “less than successful” attempts at this before. But by using ImageEngine, alone or in combination with other CDNs, you maintain the editorial and visual control over your imagery. At the same time, your users can enjoy a snappy user experience.

See how much ImageEngine can save your site:

  • Categories

  • Recent Posts

  • Tags

  • Monthly Archives