Comparing Satellite Image Providers in iOS and OSX

The Sun Seeker iOS app includes a map view which allows users to see an individual property with solar directions and hours overlaid. This is a valuable way of visually assessing a property’s solar exposure. However, to be especially useful, it does require good-quality (i.e. high resolution) satellite imagery to be available.

In older iOS versions Apple used Google as a maps provider via MapKit, but that changed with iOS6 when Apple introduced it’s own maps, and the unfortunate consequence was that many users of Sun Seeker found that after upgrading to iOS6, the quality of satellite images degraded substantially, as evidenced by numerous customer complaints.

However Google saved the day, eventually, by releasing their own Google Maps SDK for iOS, which allowed me to switch back to showing Google satellite imagery in Sun Seeker, and thankfully the complaints dried up.

Fast forward a few more years and Apple has put a lot of effort into improving their map products. In fact, using Apple’s own Maps app, the satellite image resolution is, in some cases, better than Google’s. However, the odd thing is that this higher resolution imagery appears to be available only in Apple’s own Maps app – and apps that use MapKit still have much lower quality imagery.

The following images from an iPhone 6S running iOS9 illustrate this clearly. They are both for the same location (an apartment block on Sydney’s lower north shore) zoomed in to maximum possible amount.

  • Image on Left – Apple Maps app
  • Image on right – Wind Seeker app using Apple’s MapKit

Note – The imagery used here is identical to that found in Apple’s OSX Maps app and in Apple’s MapKit on OSX respectively i.e. the product offering is consistent between iOS and OSX.

So oddly, Apple is offering far lower satellite image quality in MapKit than they offer in their own apps.

In comparison, the following images, at the same location, and also zoomed in to the maximum allowed level, show the situation with Google’s imaging.

  • Image on Left – Google Maps app
  • Image on right – Sun Seeker app using Google Maps SDK for iOS

The main conclusions are:

  • Apple Maps has some excellent quality satellite imagery available – higher quality than Google’s imagery in this particular example, although despite this they do not allow as high a zoom level as Google does.
  • For some unknown reason, Apple offers lower quality imagery via MapKit than they do in their own Maps app – versus Google where their own app offers the same quality as they allow 3rd party apps to show.

This is unfortunate for my plans to build an OSX version of the Sun Seeker app, in particular because Google does not allow it’s imagery to be used for free by apps on any platforms other than iOS and Android. So my options appear to be:

  • Use Apple’s MapKit – this may not offer adequate satellite image quality for many locations, and the app must then be sold via Mac Appstore, conceding 30% of app revenue to Apple.
  • Use Google’s Maps API via an embedded web view – offers good quality imagery, but must then pay minimum of US$11k per annum licensing fees. Being an ongoing license fee, this implies that the app would have to use some form of ongoing subscription for its revenue, which may be challenging to implement.
  • Do not include any map view functionality in the app – which would be a significant degradation of the app’s feature list, and sabotage it’s chances of ever being a viable product.
  • Hold off for now, and just hope that Apple are just about to release upgraded MapKit satellite imagery capability…

Have I missed other options? What would you do in this situation?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s