Read my book

I wrote books about Webpack and React. Check them out!

Friday, September 13, 2013

Visualization - iPhone LTE Fragmentation

As I mentioned in my previous post I've been up to something during the past few days. I got contacted by Sukh Dugal of Studio March about a scraping task through Wizpert. Apparently he had seen my post about scraping and asked if I could help out with something. As I found the idea interesting I accepted the challenge.

You can see the results as a visualization displaying LTE fragmentation of the new iPhone models. I like the design Ashish Acharya came up with. It's light and gets straight to the point.

The current visualization is somewhat simplistic. We have been considering making another, enhanced one that makes it easier to pick a data plan based on where you travel. Actually if you have some great idea on a visualization, let me know. Perhaps we'll do that instead.

Even though the visualization looks kind of simple, it took a few hours of hard work. I aggregated the data based on Wikipedia and Apple specifications. If you are interested in the technical details, the scraper is available at GitHub.

I ended up writing it using cheerio, a library which provides a jQueryish way to query the DOM structure. Overall it was quite easy scraper to write. There are two scrapers and some logic to modify and aggregate that into form that can be used by the web service.

On frontend side I ended up using Datamaps for the map visualization. It is based upon the popular D3.js visualization library and was a perfect fit for our purposes. Originally we meant to use Google Maps but I realized we can avoid that by using custom map data provided by Datamaps. It seemed to turn out just fine and we avoid having to rely on yet another third party service while at it.

It was extremely fun to work with two talented guys like Sukh and Ashish. I hope we get more cool visualizations done in the future. :)