app development


Adding value and removing friction in our flagship mobile app, OS Maps

The second in our new series of blogs from the teams behind our apps, maps and services, sharing their experiences in software engineering, cartographic design, user experience and more. Chris Hall, based at our London Geovation Hub, shares his experience on updating OS Maps’ route ratings. 

Whilst I was using our OS Maps app to find a new route, I stumbled upon a frustrating experience with the route discovery process in OS Maps. Through some research and visual exploration, I was able to solve the problem.


OS Maps allows users to find and follow routes all over the country. Users can plot their own routes, and share them with the community publicly. To aid the discovery process we allow users to grade their route out of three options to reflect its difficulty. Routes are currently displayed as a pin on the map with a gradient indicator: Green for leisurely; orange for moderate; and red for challenging. This has created a great spread of the types of routes we get in the app, which for the most part works really well. However, one day I discovered this route:

    Read More


App development: Pie chart cluster markers

The first in a new series of blogs from the teams behind many of our apps, maps and services, sharing their experiences in software engineering, cartographic design, user experience and more. We start with a tale of collaboration, a rapid feedback process and pies! 

It’s never good to be faced with a new problem deep into a project, but it is very satisfying when an effective solution is developed swiftly. During a recent app development sprint, one of our software engineers hit upon one such problem.

The problem

The app in question allows the user to select a group of properties which are rendered as point features on the map. Following standard web map convention, these points are aggregated, or clustered, as the user zooms out. This is to make the map more legible and to improve performance; it saves rendering potentially thousands of points in a single map view. Clustering is a fantastic and much-used technique in web mapping applications. Lots of effort has been put into developing slick clustering behaviour and designing effective markers. It works perfectly well if your points are all representing the same phenomena – and that’s where we ran into a problem.

The app we’re developing splits the point features into four discrete categories, therefore, if we apply standard clustering behaviour, we are effectively grouping these categories into one and hiding a level of information from the user. The user will still see a total value to show how many points are aggregated into each cluster – but in this instance they are also interested in how that total is split amongst the four categories.


Standard clustering behaviour

Cue an informal meeting between software engineer, cartographic designer and UX designer; a mini brainstorm…

Read More