A lot of great discussion in here as always – I love you folks. Will try and answer as many of the raised points as possible, pull me up if I missed any
A couple of people mentioned privacy. This is something I care about personally, and that we care about a great deal as a company:
Just to be clear about this: pins are drawn onto the Google Map locally on the device. Data about merchants is gathered on the server-side from Google Places, but that request is not tied to a specific user.
No geocoding is done on-device – our API returns a lat-long with each transaction (Monzo API Docs – the app uses the same APIs) which we draw on the map locally If you’re bored and geeky like me you can grab an SSL proxy (I like Charles Proxy on Mac) and watch the requests we make to Google for yourself
This is the reason
Looking at location data has kind of followed me around in my career – at Hailo (map-based taxi app), I tested Apple, Google, FourSquare, OpenStreetMaps, Nokia HERE (remember them?) and dozens of others for location data quality – Google is far and away the best source of accurate data we can get for merchants, by an order of magnitude.
I’d be interested in a side-by-side comparison. Although it’s only briefly mentioned in the release notes, a huge part of the iOS 1.9.4 release (and something I’m quite proud of) is speed – a ton of careful profiling around power, CPU usage and memory allocation, along with more fundamental architectural changes (if you’ve got a lot of transactions, try logging out and back in – used to be slow as molasses to load feed, is now instant!)
With the change to Google Maps specifically, we allocate a single map instance which is shared across the app. That means when tapping in and out of transactions, the map is visible immediately (including any cached tiles), and should feel really fast
Just want to echo @zancler here – lots of beautiful things on his screen right now that I’m really looking forward to implementing