by Luca Passani, CTO @ScientiaMobile
It is the mark of a truly intelligent person to be moved by statistics.
George Bernard Shaw
but also:
There are lies, damned lies and statistics.
Mark Twain
A few years ago, a company called AdMob had a brilliant idea: create a freely-available report on the state of the Mobile Internet: which devices are the most popular? how do OSes and their respective versions break down across regions and countries? what browsers are users using?
The name of that report was AdMob Mobile Metrics Report and it quickly became a reference for mobile stakeholders across the globe. That’s until a larger company acquired AdMob and the report was placed on hold.
Fast forward to 2014. ScientiaMobile, the company that brings WURFL to the world, launches a few awesome services such as WURFL.js and WIT. That’s when the WURFL team realized that we are suddenly sitting on top of a significant amount of HTTP logs from across the globe. Hundreds of millions of HTTP requests that forced us beef up our infrastructure a few times (and learn about funny edge cases in how AWS would regenerate our serves, but got confused in the process…but this is a story for another time).
In short, that’s when we realized that we could take up the torch from where AdMob had left it and produce a report that could serve as a reference for anyone who needs an overview of the mobile space.
Ladies and Gentlemen, please welcome MOVR, the Mobile OverView Report ! You can just click on the link and access the report. No need to register or anything like that.
The Q2 2014 report has a lot of interesting figures about the most popular devices, the market share of the different operating systems and the most popular browsers running on people’s devices around the planet. By partitioning the world into two macro-areas, western countries and Asia, MOVR offers an informative look at the global mobile landscape . The landscape can be radically different in these two worlds. For example, Apple is not the giant that many assume it to be outside of Europe and North America.
Being as good as we are in detecting the long tail of mobile clients, we dedicated a slide to non-smartphones and legacy devices. But let’s be real: no matter how you define them, feature phones only account for 2 to 4% of the mobile market.
An interesting report describes the relative usage of smartphones and tablets during a 24-hours period. Those peaks around 9PM suggest that many enjoy being connected also when sitting on their couches.
But that’s not it. We have also chosen two random countries to dig into for a more detailed view. For this quarter, we picked US and Germany.
Open Data Anyone?
A nice addition to the MOVR initiative is ScientiaMobile’s contribution to Open Data, i.e. “the idea that certain data should be freely available to everyone to use and republish as they wish”. Alongside the PDF report, we released the data we used for the report in CSV and JSON format. This should allow anyone who knows a thing or two about data visualization to dynamically pull data from our servers and use it in ways we still do not foresee. For example, I am by no means an expert in data visualization (and my JavaScript is sort of rusty), but a couple of hours of hacking with Google Charts and jQuery, allowed me to create this viewer of the browser market in different regions of the world:
This Browser Market Viewer utility was implemented with just a few lines of code. I’ll report the highlights here:
Let’s include the tools for the job and load the JSON data from remote.
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.0.js"> </script> <script type="text/javascript"> //load google graph google.load("visualization", "1", {packages:["corechart"]}); //let's load our data var json = (function () { var json = null; $.ajax({ 'async': false, 'global': false, 'url': "http://data.wurfl.io/MOVR/data/2014_q2/MOVR_2014_q2.json", 'dataType': "json", 'success': function (data) { json = data; } }); return json; })();
Pick the data that you need from the JSON file and place it into a Matrix (Array) that Google Chart can consume.
//Let's build an Array out of the JSON data with the data points we intend to visualize //Percentage of browsers running on given 'form_factor' in given region var region = 'Africa'; var formfactor = 'smartphone'; var browsers = [['Browser Name','Percentage']]; function drawBrowserChart(first) { var arrayLength = json.browser.length; var j = 1; for (var i = 0; i < arrayLength; i++) { if (json.browser[i].region == region && json.browser[i].form_factor == formfactor) { //no need to visualize browsers with less than 0.1% market share var percentage = Math.round(json.browser[i].percentage*1000)/10; if (percentage >= 0.1) { browsers[j++] = [json.browser[i].browser,percentage]; } } } if (first) { google.setOnLoadCallback(drawChart); } else { drawChart(); } } drawBrowserChart(true);
Draw the chart with the browers matrix
function drawChart() { var data = google.visualization.arrayToDataTable(browsers); var options = { title: 'Market Percentage of Browser', vAxis: {title: 'Mobile Browsers in '+region+' ('+ formfactor +')', titleTextStyle: {color: 'black'}} }; var chart = new google.visualization.BarChart(document.getElementById('chart_div')); chart.draw(data, options); }
A little jQuery makes switching between charts really simple
<form> Select Region: <select name="myRegion" id="myRegion"> <option value="Africa" selected="selected">Africa</option> <option value="Asia">Asia</option> <option value="Europe">Europe</option> <option value="Global">Global</option> <option value="North America">North America</option> <option value="Oceania">Oceania</option> <option value="South America">South America</option> </select> Select Form Factor: <select name="myFormFactor" id="myFormFactor"> <option value="smartphone" selected="selected">Smartphone</option> <option value="feature">Feature Phone</option> <option value="tablet">Tablet</option> </select> </form> <div id="chart_div" style="width: 900px; height: 500px;"></div> <script> //events for select elements $( "select" ).change(function () { region = $( "#myRegion").val(); formfactor = $( "#myFormFactor").val(); browsers = [['Browser Name','Percentage']]; drawBrowserChart(false); });
A Word about the License(s)
We could have gone for the classic “Copyright ScientiaMobile, All Rights Reserved”, but that would sort of conflict with the openness of this initiative. This is why we went for a Creative Commons license, or actually two. The PDF report itself can be shared without restriction, but we don’t particularly want people to modify it or take excerpts from it (with the obvious exception of Fair Use, of course). Hence the choice of BY-NC-ND. As far as MOVR data is concerned, the license is more liberal and allows integration and modification (BY-NC-SA).
Of course, this is meant to be a starting point. If you have ideas about new reports that are useful (and feasible), we would love to hear about them. Please reach out to us. Feel free to write on our forum and leave your comments and suggestions there.
Enjoy