A cityscape of Manchester at night.

Bins and the law.

Tom Forth, .

The law.

In 1995, O.J. Simpson was found not guilty of murdering his ex-wife Nicole Brown Simpson and her friend Ronald Goldman.

In 1997, he was found guilty in a civil lawsuit (that could not result in him going to prison) of those crimes.

In 2007, O.J. Simpson co-wrote a book "If I Did It" with the titled heavily stylized to read "I DID IT" describing exactly how he would have killed his ex-wife and her friend if he had killed them, which he insists he did not.

Bin apps.

I publish three bin apps, Leeds Bins, Luton Bins, and Fenland Bins. They remind people in those three areas when their bins will be collected, inform them what to put in each bin, and show them where to take items that don't go in their bins. The apps also link to council-run services such as one to report missed bins and request a new bin.

I have maintained these apps for up to five years, they are very popular, have good reviews in the Apple and Google Play App stores, and are well-loved in all three places. There are hundreds of messages of praise in the online forums that I maintain for each.

These app are installed today on nearly 100,000 devices, they have delivered 25 million bin days to people, for a total cost to the local governments involved of around ten thousand pounds. £0.0004 per bin day. The associated savings for the councils are between 10 and 100 times their costs, due to fewer letters posted out, more flexibility to announce changes to bin days at short notice, reduced call centre calls, and the use of the open data that my apps generate to target digital inclusion policies. This is what extreme local government efficiency looks like on the ground.

The barriers to open source.

My desire has always been to release the source code of the Leeds Bins app under an open licence. Sadly after years of trying, I now have to concede defeat and admit that this is not possible.

The underlying cause is that the UK's postcode address file is not open. Specifically, within the app as currently deployed I have to buy postcode to address lookups at a cost of about 2p per lookup for every user. If I released the source code without expensive obfuscation of the API method for doing that, other people could make calls to the postcode to address lookup system. This would either cost me a lot of money or, by republishing my locally-cached postcode to address lookups, break the terms of my licence for those lookups.

There are ways for me to use the PAF under a number of licenses designed to avoid exactly the problem I'm having, but the legal costs of implementing these agreements and rewriting my code before making it open mean that it is well beyond the budget of the local authorities I work with. Releasing my software under an open licence is too expensive for me to do.

But let's imagine I found a loophole. Let's imagine that I could use a copy of the PAF that someone else, with a licence, gave me. That would be illegal, but it would make my bin apps service cheaper to run, and possible to deliver at a cost low enough for local authorities to afford. But in this imagined world, I couldn't then share my source code for the bin apps, because it would be proof that I was breaking the law. So yet again, the UK government's licensing of the PAF means I cannot release my bin apps under an open licence.

New features.

In 2020 I added some new features to my apps. I added pull notifications (the user must open the app to see the messages) so that messages on changes to services could be sent to users based on their location. Users are today being warned of service disruptions in their area and informed that they need to make appointments to municipal waste sites using this system. Clicking the message takes the user directly to the waste site booking service, it's a great example of an informally integrated digital service that works at scale.

In 2020 I wrote another feature, which I have not released. I implemented push notifications.

The push notification system in my unreleased apps lets me send any message I want, for free, to any user of any of my bin apps. The messages can be targeted precisely. Here are just three examples of what that allows.

This all happens instantly, it scales effortlessly to thousands of messages per second, and it's free. Microsoft Azure's push notification service is built to, and priced to, send millions of notifications a day from news services and Uber, my code sends a tiny fraction of that.

I have written a system for ultra-targeted, instant, free, rich communication between local government and about a quarter of its citizens. Once deployed I think that it would be used by about three quarters of households. I have written this system. It works. But I have not deployed it.

Push notifications.

Push notification is a core feature of government. Radio and television are the main notification methods that come close, but they still rely on people tuning in. In countries that have deployed the system (the UK chose not to) radio and television are supplemented by true push notifications by Cell Broadcast SMS warnings which arrive instantly.

Cell Broadcast must, necessarily, be implemented at the level at which mobile phones are regulated. That is almost always the national level. But push notifications like I've implemented can be deployed at any level, including by local government. They could be deployed by me, a private citizen who runs a popular service. You get them on your phone all the time.

I hope that you've all got alarm bells ringing inside your heads now. The biggest reason why I've not deployed push notifications in the Leeds Bins app is because I think it's a very bad idea. I am a private citizen beyond much legal accountability. I should not be able to send messages that feel official to anyone I want in Leeds at any time.

I have wavered in that belief at times. Last year the UK government was unable to send messages to its citizens in the middle of a pandemic. When they released a triumphant blog post saying that this was actually good and not a failure, I nearly snapped. The UK government and its digital services ambitions have constrained local government capability for ten years. They have pushed local government to communicate with their citizens via national services. When those national services failed during a pandemic the correct response was an apology, not a celebration. So of course, in possesion of a service that could send such messages, I was tempted to use it.

But I still came down on the side of not using the Leeds Bins app to send messages. I have written and tested the service, but I haven't done the security testing needed to be sure that a bad actor couldn't send messages to everyone in Leeds.

Open data, open source, and control.

It's useful to imagine what good looks like. I think that it would be good if local government in the UK and across the world had a way to communicate instantly and cheaply with their citizens, without having to rely on national governments who might silence them or fail to implement required features. I think that such a system should be open, to enable collaboration on a few good systems instead of hundreds of bad ones.

I think that I've built this system. It's part of a bin app for now, just because that's the most important service that local government still has power over in the UK, but that's just a coincidence.

To end this blog post, I'll explain why I don't think that what I've built will ever be released.


Most people in England are really comfortable with the national government running most of the government services in their lives. I'm not, but I know that I'm in a minority. The situation in Scotland is different, but in England people want the UK government in charge.

In a democracy, and the UK is a pretty good one, the people generally get what they want. So for the past decade we've seen government services steadily move from local government delivery and accountability to national delivery and accountability. A decade ago, I registered to vote with my local council. Today, I use a national website, where I am advertised to by the national government. In the past, schools were controlled locally. Today, most schools are controlled nationally. There are currently plans to centralise the NHS, and the planning system, and even bin collections. Local government cuts mean that nearly all local governments in England are close to bankruptcy. Almost all are completely reliant on national government to avoid that.

Even where local governments are solvent, they are increasingly powerless. When Leeds implemented a digital service to let people book slots at the tip during the pandemic, they received a letter from the UK government telling them to stop. The risks of innovation are greatly increased when someone else can discourage that innovation after the fact. "Discouragement" from the organisation on who your continued existence relies is by definition strong.

I mention the centralisation of digital services in the UK because it's important to completing this story. It is why I have realised that I cannot, for now, launch an update to my bin apps that I think would improve lives. It is why, I suspect, I never will be able to.

The UK government restrains this activity in four ways, so I thought I would spell them out.

This may all be desirable. There are good arguments for ensuring that local government does nothing outside of the bounds that central government has set it. There are good arguments that all communication between "government" and citizens should be handled within nationally guaranteed systems and nationally set boundaries. One of example of this system is that all government websites in England, from parish level to national level, exist on gov.uk domains. Most people think this is good. I am in the tiny minority who doesn't.

Sacrificing innovation and nimbleness for increased equality and scale is justifiable. That is another fascinating conversation to have. But for now I'm just explaining why you won't get a push notification next time it snows and the bin lorry can't collect your recycling. I tried. I'm sorry, but I failed.

blog comments powered by Disqus