Goldsmiths Laurie Grove baths Grade II listed

Listed Buildings mobile app

To learn more about mobile development I recently built a simple Android app that shows the location of the nearest historic building to the phone. Historic being defined in the technical sense of a building officially ‘listed’ as of architectural or historic significance. The geographic coverage, at least initially, is England as listing is done separately across the nations of the UK. As far as I know this has not been done before.

The app allows you to find the nearest listed building overall and by type: Grade I the highest level of listing, Grade II* and Grade II (by far the most common type of list designation).

1. Using the App

The App has two buttons to retrieve location information which are located at the bottom of the app:

1. Nearest listed building This shows the location of the nearest listed building on the map with a marker. The grade can be selected from the drop down.
2. Nearest Wikipedia location This shows the location of nearest geo-located Wikipedia references on the map. Some Listed buildings have Wikipedia entries, but most don’t.

The app had two modes that it can switch between:

1. My Location (the default mode the app opens with). In this mode the app uses the phone’s location to identify the nearest listed building.

app_screen12. Elsewhere This mode is selected by pressing the Elsewhere button which allows the user to search for a location (restricted to UK) and then drop a location marker from where the nearest listed building is identified. The example below shows this in operation after searching for Highgate Cemetery. The red marker is created by tapping the screen. Here the closest grade 1 listed building is the tomb of Karl Marx. Pressing the My Location button switches the app back to that mode.

app_screen2

1.2 Getting information about sites

If you click on a marker then press the Get info button the app takes you through to the official Historic England listing entry or the Wikipedia page depending on the type of marker selected. Pressing the button Back to Main from the web page sends you back to the Main screen mode.

app_screen3

2. Data that the app uses/Data protection

To identify the nearest listed buildings the app accesses the location of the phone. It will prompt for permission to access this data the first time you use the app. When the app is in use the location data is sent outside the phone to three places (and on three occasions):

Google: This is to plot your location on Google Maps. This will be happening anyway on an Android phone.

Wikipedia: When the Nearest Wikipedia location button is pressed your phone’s location is sent to Wikipedia servers, which otherwise have no access to it. These then return the nearest Wikipedia entries.

Amazon Web Services (AWS): When you press the Nearest listed building button your phone’s location is sent to AWS. When AWS receives this data it temporarily creates a computer to process the location information, runs the code I have written that identifies the nearest listed building and sends the results to the phone. Once this is done the computer is shut down by AWS. This location information is not collected or stored by me. If it became useful to collect and store location information, permission would be sort from anyone using the app before doing so.

3. Technical details on how the app works

The front-end of the App is written in Kotlin. The backend is written in Python and uses an API call to trigger an AWS Lambda. In the Python script that is run by the Lambda the closest listed building to the phone’s coordinates (or a dropped marker) is identified using the Annoy library. The listed building information is taken from the website of Historic England.

In addition the App makes use of the Google Maps, Wikipedia APIs. The App was not fully built with AI, but Copilot and ChatGPT played a large part in its creation.