Mapping APIs - Google Maps vs Bing Maps: UPDATE API Download Sizes

Almost a year ago we wrote an article about the download speeds and sizes of the competing map apis, as part of a series comparing the Ajax APIs for Google Maps and Bing maps, since then a lot has changed.

Google have updated their offering with the depreciation of Google Maps ver 2 and the continued development of Google Maps ver 3 focusing on smaller download sizes and support for mobile devices. Bing Maps meanwhile in the last 12 months have released one minor version (6.3) and one major version (7) of their map control.

So its time to see if things have changed since last time, when Google Maps took the crown for initial download size. We will be testing both the old versions of the APIs and the new versions to show what progress has been made by both companies.

Download Size

This test will just measure the download size of any javascript, image and css required to get a basic map loaded. It will ignore the map imagery itself as that can vary so much on different locations and is probably best left for another article.

image

As you can see some interesting things have happened in the last 10 months:

  1. Google Maps Ver 3 has grown considerably from our last test when it less than 50k. Now at 88kb as they have added more of the features originally missing from the first releases of ver 3.
  2. Bing Maps 6.3c “core” control is a great improvement on the full 6.3 clocking in at 76kb. Its also smaller than either of the Google Maps controls
  3. Bing Maps 7 has obviously had a complete rebuild as it now clocks in at 65kb, the smallest of any of the map controls, but at what price?

Digging a Little Deeper

The updated results are very interesting, but they do not really tell the whole story as all the new APIs have a few gotchas, and tricks up their sleeves.

Bing Maps 6.3 “core”

The new lite version of the Bing Maps 6.3 API is a great improvement for those looking for fast loading maps and it is now pretty comparable to Google Maps, however this comes at a cost. The core version can only be used for the most basic of pushpin maps and does not contain support for things like routing, geocoding or polygons (amongst other things). You can get a better idea of what exactly is supported here on MSDN.

Google Maps Ver 3

The new version of Google Maps, ver 3, also has a slightly misleading trick up its sleeve, but a very welcome one. The initial download size is one of the best of the fully featured API’s however it doesn’t tell the full story.

Google have very cleverly made their API modular allowing you to add one script reference but it to dynamically load other scripts if your code requires them. This means for a very simple ‘pushpin on a map’ example as we tested here very little code is required so the download is very small. However load a more complex example like this and quickly the javascript size grows to 471kb. If you have a complex map, requiring lots of functionality its very likely Google Maps ver 3 will get near to the size of the Bing Maps ver 3 download size.

So Google have come up with a great little trick for loading their map API for which they should be congratulated. Its the best of both worlds really, you get a nice fast loading map when your requirements are simple, and a slower experience when you need all the bells and whistles. Although you get a similar experience with the Bing Maps 6.3 and 6.3 core versions its no where near as clever or seamless to integrate.

Bing Maps 7

Similar to the previous 6.3 core control, the Bing Maps 7 control is also a little lite on features, for example there is no geocoding, routing, popup boxes and some controls are less feature rich than before for example the pushpin control no longer accepts html content.

There are some new features though including much better mobile support and multi-touch support for i0S devices.

Bing Maps 7 also seems to feature some kind of modular framework, although currently only splitting the control into 2 files. We hope to see the Bing team follow Google's lead and add the missing features (that were in 6.3) into the ver 7 control using a modular on-demand approach especially for the map popup control.

Summing it all up

So both API’s have made some great improvements to their  initial download sizes. Bing have released a two great versions of their API and now hold the smallest download crown, and Google have implemented some clever loading on demand technology. We will leave it to you to decide if initial loading size is an issue for your application and there are certainly different choices to make depending on the functionality you require.

Come back soon to see our next article comparing the speed of the API’s at various common tasks.