Incentives and web browsers
A little while ago, I had a dream which stuck with me. It was the first night after a few days of sickness that I didn't take any medicine to aid my sleep, so it felt particularly vivid and urgent.
I woke up very startled, and (as you do) immediately started researching the business models of our browser vendors.
In my dream, I was using my computer and noticed that my web browser was behaving unusually slowly. I dug into the problem, opened up the developer tools, and discovered that there was a disturbing amount of information being gathered about my behavior and being sent to somewhere on the internet. By disturbing, I mean that the quantity and detail of information was huge—records of keystrokes and mouse movements, videos of my face while navigating their site, audio recordings of conversations I had with my wife…
I panicked, deleted all that I could find, and then went looking for the source. I discovered that it was not a virus or malware that was collecting this data, but a feature built into the web browser itself. Horrified, I contacted the email list of browser developers with my findings only to get a reply that they were just providing features needed for these websites to function.
The horror, the horror!
Analysis and analytics
While this dream was overdramatic, there is a surprising amount of realism to it. It was about analytics. Our browsers (and network, and ISP) all provide information to the web pages we visit. It's this information that allows advertisements appear to follow us all around the web.
Want to see an example of this data? Take a look at your Google ads settings, which holds the information gleaned from your browsing habits. For me, it's surprisingly accurate.
So how could this work?
- Store a unique id in an unusually potent tracking cookie
- Associate that id with a fingerprint for a browser using something like this fingerprinting tool, and see how it evolves over time
- Work with a large network of websites to associate that id with web pages visited
- Identify the broad categories of information on those web pages, to understand the kinds of information that id views
- If you're Google, also collect a whole bunch of other information: search terms, email contacts, email data, chat messages, photos uploaded, images searched, maps viewed, directions requested, etc…
- Serve ads related to the information collected
So the morning after this dream, I started to think more about incentives. How is it that every popular web browser (any single one being a great feat of software engineering) is available for free? What motivates these companies to give them away?
I think that the most reliable way to answer this sort of question is to follow the money and its incentives.
Who makes the browsers we are using?
According to StatCounter in 2016 Q2, web browser usage was broken down as such:
|Web Browser||Usage %|
Grouping these by the company that produces the core browser software, we have:
- Google (Alphabet subsidiary) produces the Blink rendering engine, used in: Chrome, Android, Samsung Internet, Opera
- Mozilla produces the Gecko rendering engine, used in Firefox
- Apple produces the webkit rendering engine, used in Safari
- Microsoft produces the Trident (MSHTML) rendering engine and the EdgeHTML rendering engine, used in IE and Edge
- Alibaba produces UC Browser
And summing this all up, the following companies are responsible for our web browser usage:
|Browser Producer||Usage %|
So now to get a better understanding of what incentives these companies have, let's dive into understanding where they get their money. Thankfully, every single one of these companies is either publicly traded or discloses their financials.
Follow the money
So where do these companies make the majority of their money?
- Google: Advertisements, specifically pay-per-click for web and pay-per-engagement for video
- Per their 2016 Q3 earnings transcript, “Once again, the primary driver was mobile search with ongoing strength in YouTube, and important contributions from programmatic advertising and Play)”
- Mozilla: Advertisements (transitively), via their partnerships with search engines.
- Per their 2015 annual report, “The majority of Mozilla revenue is from Firefox web browser search partnerships around the world.”
- Apple: iPhones
- Per their FY2016 Q4 summary data, 60% of their revenue came from their iPhone product
- Microsoft: Microsoft Software
- Wow, Microsoft is really diversified! Per their FY2016 Q1 earnings call slides, 9.2% of their revenue came from the commercial licensing of their software. That's the biggest slice of their revenue.
- Alibaba: Retail e-commerce
- Per their FY2017 Q2 report, 83% of their revenue came from their core retail commerce websites.
Flipping this around to what sorts of business interests are powering our web browser software, we have the following breakdown:
|Usage %||Majority Income||Web Browsers|
|69.24%||Advertisements||Chrome, Android, Samsung Internet, Opera, Firefox|
|8.54%||Microsoft software||Internet Explorer, Edge|
|7.44%||Retail e-commerce||UC Browser|
So what now?
Advertisement companies fund over two thirds of the web browser usage today. Advertisement is more accurate when advertisers know more about you.
If you use Chrome, Android browser, Opera, or Firefox, ask yourself: who is more important to the business, you or the advertiser?
Maybe it wasn't the best idea of diving into research immediately after a fever dream, but I am in favor of privacy. I want to control my data, and I think you should too.
So consider switching to a web browser funded by something besides advertisement.
- On an Android? Get UC Browser
- On an iPhone or a Mac? Use Safari
- On Windows? Use Edge
And if you use Google's services, read their privacy information and make the tradeoffs right for you.
As a software engineer who has worked mostly on the web, I've worked on several different analytics pipelines and tools. I've even helped integrate websites with advertisement networks.
I once built a clever piece of an in-house web framework which, in order for developers to write code that reacts to mouse clicks and key events, the system would automatically send all of this event data to our servers for analysis. This provided us with all the data we needed to understand how users were interacting with our features without having developers need to maintain this tracking. From this data, we could construct recordings of our users using the site.
From a business perspective, this was fantastic, as we got tons of information about how our features were used and how our experiments were performing. But in my dream, I would have been the enemy.