You can only rank high with Google Maps?
Lately Google has been putting more emphasis on web performance for search results. They've introduced PageSpeed and Core Essentials into web console. Performance is good, of course, but Google is also a single company providing the world's most popular browser, search engine, email and more.
I've never known a nerd that didn't geek out on performance. And while I value the performance goals Google is setting with their initiatives, I can't help but think if they get an unfair benefit of pretty much owning the information search market in many regions. What I mean is that Google can optimize it's own services for the performance metrics it creates and increasingly uses for search ranking scores.
This would be at the expense of competitors who can't optimize for Google's proprietary search ranking algorithms in the way they can. You can argue that the performance metrics are open and you are free to compete with API offerings, but Google can still internally optimize their services for the metrics internally. While competition is busy tweaking for the current best practises, Google teams can optimize for the next iteration internally. Their vast resources don't hurt either.
Testing Maps APIs performance metrics
One of the most prominent non-search or browser related product is Google Maps. Since its introduction in 2005 it has been the de-facto mapping service for the web. Only recently the changes in their API pricing has given the opportunity for alternative mapping APIs to gain marketshare. For users Google Maps remains free, of course, since it provides crucial on advertisement income for Google.
Map services for browsers are complex JavaScript (or maybe WebAssembly soon) applications running in the browser. They have very little to do with what a browser was originally meant to do: Display text documents and related resources like images. I imagine they are also very difficult to build and get right with great performance for the end user. An interactive map is easy to get wrong on the mobile devices.
To find out how different JavaScript mapping APIs services are doing on Google's performance metrics I built simple test apps using the following turn-key mapping API service providers:
Each map view is done by copy-pasting example code from the vendors, representing the baseline implementation you would expect for an average developers map to their website. I chose not use Leaflet, OpenLayers or other abstraction layers because that'd be esting the library and not the raw API. The scope of each app is simple: Display a 640 by 480 pixel map with a pin placed on the City of Rauma.
After building the same map view using each map vendor, I executed a PageSpeed Insights test for each of them. Below are the different APIs sorted by mobile score (higher is better):
- Bing Maps
- Google Maps
- Here
- Mapbox
- OpenStreetMap
- Yandex Maps
-- Pulu Dev Team