A new Litter Survey
In a culmination of litter surveys and litter picks, linked data() and data exploration, and remoteStorage and ActivityPub, I have created a web-based litter pick/survey app that I hope will allow federated citizen science.
The Background
Being in the UK for the last few years, I have become ever more aware of the impact of humans on the world. It seems nearly impossible in the UK to go somewhere there isn't a piece of litter. Centres like Cardiff and London are horrendous, even with the council cleaners that I have an admiration for.
While in Cardiff, I bought a litter picker and a bag holder so that I could hopefully make people think twice about the litter. I have also done litter cleanups and surveys for both Thames21 and the Marine Conservation Society.
One thing I have noticed, in the realm of litter and other conservation organisations is there is a lot of data of all types being collected and no great ways of exploring the data or finding it in first place. This, along with looking into decentralised alternatives to social platforms, has led me down the path of looking at technologies such as linked data, ActivityStreams, ActivityPub, JSON-LD, JSON Schema, remoteStorage and IndieAuth and wondering if there is a better way.
The Idea
My pie-in-the-sky idea was to have the tools for a Mastodon of the organisation science world including:
- formalised schemas for observations
- libraries for letting organisations and citizen scientists publish and subscribe to new observations
- customisable apps for collecting and exploring data.
Organisations and people would be able to subscribe to subjects such as species or survey types. They would be able to create and share their own observations, storing them on their own storage and/or submitting them to other central data repositories. Those subscribed would receive notifications about the new data.
Verification of the data or the organisation or person would be needed to make the data useable for research. This could be done numerous ways depending on the type of observation.
The Initial Litter App
The app itself is written using Preact (a lightweight WebApp library) and Leaflet (a mapping library) and uses modern browser APIs for the camera, geolocation, storage and caching.
My aim is make the app as generic and flexible as possible, so that organisations can style and customise what is available to their own needs and it can be used by all in all environments.
The app allows you to record individual bits of litter or collections of litter collected during a litter survey. Each piece of litter is currently categorised using the categories from the Marine Conservation Society beach clean survey form, which is very similar to the European Environment Agency Marine Litterwatch category list. It is able to take photos of litter and record the position of the litter as well as a track during a litter survey. You are able to look through previously picked litter and surveys.
My ideas for future functionality:
- live trash counts from other people on the same survey as you
- different survey types
- specifying the brands of pieces of litter
- automatic recognition of litter through the use of image object recognition
- offline use
The app is currently up at https://litter.gfon.org (note that it doesn't yet submit your data or allow you to store your data remotely - that's still on the TODO). The code, as always, is available on gitlab.