Update on Population Builder

11 Feb 2016 20:32 GMT

I haven't had enough time to post about work on Population Builder in recent months, but there have been a few developments that I think are worth sharing.

New features

I had a few requests from regular users for features that seemed worthwhile and relatively easy to implement. By far the most requested feature was a button to deselect all the currently selected areas with a single click, without having to reload the page. This has now been added. Clicking or tapping “Clear Map” does what you would expect.

More interestingly, a couple of people have told me they are using the app as a general purpose tool for selecting LSOAs and data zones, in order to identify the area codes they need for geographical analysis of other data. To help with this, I have added a feature that allows you to inspect the geographical code of each area.

On a computer with a mouse pointer, hovering over an area highlights its boundary and displays its area code in the overlay control in the bottom right-hand corner.

A screenshot from the application showing a highlighted boundary.

You can highlight an area on a touchscreen device by long-pressing it, which also displays the area code in the overlay control. Another long-press on the same area dismisses the highlight, while long-pressing another area highlights the new area instead. This makes it possible to visually match an area to its code.

New data

The app has been updated to use the latest mid-year population estimates for small areas, which are for mid-2014. I updated the stats in November shortly after the ONS published the latest figures.

Updating the figures for Scotland also meant updating the maps to use 2011-based data zones. So if the boundaries in Scotland seem different, that's because they are.

Open source

The complete source code for Population Builder is now available on GitHub. Of all the things covered here, this was the most work, as I wanted to port the server-side code from PHP to Go before sharing it online. This is partly because Go makes it much easier to download and run the software locally as a standalone application, but also because I've wanted to move to a more modern web-development stack for a few years now and this seemed like a good place to start. Now it's done I can concentrate on new things.