1. FixMyStreet is now available in Welsh

    Broken street lights, fly-tipping, potholes and other local, place-based issues in Wales can now be reported to the correct authority by citizens in Welsh as well as in English via FixMyStreet, the long-running reporting service for street and environmental problems provided by civic technology charity mySociety, upon which SocietyWorks’ FixMyStreet Pro is built.

    FixMyStreet is a progressive web app that enables citizens across the UK to report local problems to the authority responsible for fixing them, even if they do not know who that is. For the first time since its launch in 2007, users in Wales wanting to make reports in Welsh will be able to view a Welsh-language version of the website and app, including a Welsh-language map provided by Mapio Cymru.

    Image shows a desktop and mobile version of the Welsh-language version of FixMyStreet, including the Welsh-language map tiles provided by Mapio Cymru

    Over half a million people in Wales speak Welsh and the Welsh Government aims to double this by 2050. Having digital services that work as well in Welsh as they do in English is key to achieving this growth in the language. Launched in 2019, Mapio Cymru is a project that aims to ensure mapping services are as good in Welsh as they are in English. Using open data sources Mapio Cymru provides a Welsh-only map of Wales. It also works with organisations across Wales to improve mapping services in the Welsh language.

    Louise Crow, Chief Executive at mySociety, said: “FixMyStreet was built to make it easier for citizens to report problems in their communities. We are delighted to be able to make the service accessible to Welsh-speaking citizens, with a fully translated reporting process and a Welsh-language map, enabling users to select the street names and locations with which they are familiar. We look forward to seeing the Welsh-language version of the service put to good use by more citizens who care about improving where they live.”

    Ben Proctor, Innovation Director at Data Orchard CIC which runs the Mapio Cymru project, said: “Digital mapping technology is really powerful and easy for organisations like mySociety to use in English. Sadly it’s not the same in Welsh. We aim to make it easier for organisations to deliver services on the highest quality Welsh-language mapping available.”

    Are you a Welsh-speaker?

    Welsh-speaking users can start using the Welsh-language version of FixMyStreet straight away by heading to cy.fixmystreet.com or downloading the FixMyStreet app from the relevant app store.

    There are gaps in Mapio Cymru’s Welsh language map because the project relies on volunteers and public bodies to contribute definitive Welsh names. Volunteers can help to plug the gaps by adding the Welsh names for features on the map (buildings, roads, mountains, fields and so on). Public bodies can help to plug the gaps by publishing the Welsh names that they hold for features under an open licence. The Mapio Cymru team is available to advise on these issues. Just visit the Mapio Cymru website.

    Image: Catrin Ellis

  2. How to use FixMyStreet to make roads safer for blind people

    Since FixMyStreet first launched back in 2007, we’ve always loved hearing stories from citizens about how they use the service within their local community.

    Earlier this year, we heard from Lauren and John, who told us about how they’ve been using FixMyStreet to help make roads in their local area safer for blind people by reporting any pedestrian crossings with faulty or missing audio, tactile or visual indicators.

    These indicators are essential for anyone with sight or hearing loss to be able to safely navigate crossing the road, so when they’re broken, it is a serious hazard. A hazard that most people probably wouldn’t notice, let alone report.

    We were so inspired by their story that we asked if we could share it and encourage more people to make use of FixMyStreet in this way.

    Happily, not only did they agree, but they also made a video for us! So, meet best friends Lauren and John:

    John is deafblind and relies on using tactile indicators (those little plastic or metal cones beneath pedestrian crossing boxes, sometimes referred to as ‘twirlers’ or ‘spinners’) to know when it is safe to cross the road.

    The pair say they started reporting any broken pedestrian crossings during lockdown as a way to make the most of their daily exercise: “We wanted to use our time to do something positive that would make journeys safer for other cane and guide dog users in the local area.

    “Covid has hit visually impaired people quite hard and there have been lots of changes to street layouts, one way systems and social distancing is pretty difficult for those that cannot see.”

    There are several things that Lauren and John look out for and report on FixMyStreet: “We look at all aspects of the crossing, including buttons, lights and the spinner.

    “The wait light is surprisingly important because even John, who has very little remaining vision, can see if the light is on or off. If a tactile spinner isn’t working he can work out when it’s safe to cross using this light, as it will go off when the man turns green.”

    That’s not all, though. Broken glass is also high up on their reporting priority list. Lauren explains, “[Glass] is a real hazard for John’s guide dog Daisy who will walk through it if there is no easy way around or if it is very small pieces she can’t see.”

    Lauren says it was a local litter picking group that recommended using FixMyStreet to report all the issues she and John were finding at pedestrian crossings.

    “Before finding the website I actually wouldn’t have known where or who to report the issues to.”

    FixMyStreet uses the location data provided within a report to automatically send it to the correct authority. In Lauren and John’s case, it was Birmingham City Council that received their reports.

    John and Lauren say using FixMyStreet has made reporting problems “easy”, and that they’ve been impressed by how quickly Birmingham City Council has responded to their FixMyStreet reports: “We have had issues fixed in less than 48 hours, which is great.”

    This is something we’re very pleased to hear, and serves as a reminder of why we encourage all UK councils to give their residents the option to make reports via FixMyStreet (currently, around 2% of councils don’t accept reports from third party websites like ours).

    Although lockdown will hopefully be over in the near future, John and Lauren have no plans to stop their walking and reporting routine: “Finding so many problems has motivated us to keep checking and reporting issues.

    “It could be a missing button, broken light or the tactile spinner could be missing or broken. If nobody knows they are broken, then they can’t be fixed!”

    Thanks so much to Lauren and John for sharing their story with us, and for being such active members of their community through FixMyStreet – this is exactly why we created the service in the first place.

    Next time you’re waiting at a pedestrian crossing, why not check that everything’s working as it should, and make a quick report on FixMyStreet if it’s not?

    If you want to follow more of Lauren and John’s adventures, check out their Facebook page.

    How do you use FixMyStreet? Share your own story with us here.

    Image: Valou_c on Unsplash

  3. Hello, is it me you’re searching for?

    There’s a common theme to a lot of mySociety sites: enter your postcode, see something that relates to you.

    From FaxYourMP—the mySociety project so old it predates mySociety itself (paradox!)—through to TheyWorkForYou, FixMyStreet, and WriteToThem, as well as a few of our commercial projects like Mapumental and Better Care, we’ve discovered that asking for a visitor’s location is a super effective way of unlocking clear, relevant information for them to act on.

    So perhaps it shouldn’t have come as a surprise that, while doing some regular monitoring of traffic on this website, we noticed a fairly significant number of people attempting to search for things like postcodes, MP names, and the topics of recent debates.

    Random sample of search terms, July–December 2017
    animal sentience corbyn
    germany CR0 2RH
    theresa may facebook
    EN3 5PB fire
    ruth davidson HG5 0UH
    eu withdrawal bill diane abbott

    By default, the search box on this site delivered results from our blog post archive (it goes all the way back to 2004 don’t you know!)… which is pretty much what you’d expect if you know how we do things here at mySociety. We have this centralised website to talk about ourselves as an organisation; then each of our projects such as TheyWorkForYou or FixMyStreet is its own separate site.

    But, looking at these search terms, it was pretty clear that an awful lot of people don’t know that… and, when you think about it, why should they?

    The most obvious solution would just have been to direct visitors towards the individual sites, so they could repeat their searches there. Job done.

    But we figured, why inconvenience you? If you’ve made it this far, we owe it to you to get you the information you need as quickly as possible.

    Handily, we’ve got rather good at detecting valid postcodes when our users enter them, so programmatically noticing when a user was searching for a location wasn’t hard. And equally handily, TheyWorkForYou offers a powerful API that lets developers exchange a user’s postcode for detailed data about the boundaries and representatives at that location.

    What do you get when you combine the two? Automatic search suggestions for TheyWorkForYou, FixMyStreet, and WriteToThem, when you enter your postcode on www.mysociety.org.

    The search page is also aware of the most frequently searched-for MPs on our site, and will offer a direct link to their TheyWorkForYou profile if you search for their names.

    And finally, if you search for something other than a postcode, we give you a single-click way to repeat your search, automatically, on TheyWorkForYou, opening up decades of parliamentary transcripts to you, with a single tap of your finger.

    It’s not a big, glamorous feature. But it’s something we know will come in useful for the few hundred people who search our site every week—possibly without their ever noticing this little bit of hand-holding as we steer them across to the site they didn’t even know they wanted. And most importantly, it should introduce a few more people to the wealth of data we hold about the decision-makers in their lives.

    Header image, Flickr user Plenuntje, CC BY-SA 2.0

  4. Where Next for Open Standards

    Earlier this week we hosted our Open Standards in Local Government workshop at Newspeak House in London, with the aim of unpicking where open standards might be of benefit and what might be stopping us from making more progress.

    We were joined by 20 smart people representing a bunch of local councils across the UK and it’s fair to say we made a good bit of progress. A number of consistent themes arose through our discussions.

    It was widely agreed that Open Standards are key to getting the basics right, and standardising the ability of different services to speak to one another is a prerequisite for a sustainable local authority service strategy. The insistence on compliance with open standards at the procurement stage should place an imperative on suppliers to build-in interoperability and reduce the fear of vendor lock in – councils shouldn’t inadvertently replace one set of closed systems for another.

    This link between adoption of open standards and the procurement process was fundamental.

    In our opinion demanding compliance from suppliers to agreed open standards up front, is probably the single most important thing that central government could do to help local government.

    Phil Rumens from LocalGovDigital introduced recent progress on the development of the Local Government Digital Standard. Notably, it goes further than the equivalent in central government, with an emphasis on reuse of existing data and services, and commitment to make more data open and reuseable.

    Both the LGA through LG Inform, and GDS via standards.data.gov.uk already look to gather standards for use in central and local government; however adoption by local government often lags substantially behind. Simply put this is a conversation that doesn’t really happen outside a small number of web or digital staff within councils, and the wider group of service staff don’t yet understand the opportunity that open standards represent.

    Indeed, Tom Symons from Nesta who introduced the Connected Council’s reporthighlighted that the councils furthest ahead are those that have both put in the hours to achieve proper internal Governance standards, and have benefitted from leadership by the Chief Exec and Senior management team.

    The biggest need we identified was to showcase great examples of how open standards can lead to better outcomes in practice.

    Showing what’s possible, both with case studies and live services that can be adopted was seen as essential, especially when this leads to actual financial savings and better outcomes for the citizen. This is something we’re keen to put some time into in the future.

    Sarah Prag and Ben Cheetham shared their experiences of collaborating on the DCLG led Waste Standards project. The most interesting thing for me was how a group of committed individuals just decided to get on with it and find some funding to make it happen – a proper coalition of the willing.

    Practical Next Steps

    The second half of the workshop looked at what we should focus on next.

    We were particularly keen to build on the progress that we’ve made in popularising the Open311 standard, which we can use to integrate FixMyStreet.com with each local authorities’ systems.

    We heard two contrasting experiences, firstly from Chris Fairs at Hertfordshire, who employ an extensive internal management system for issue reporting including individual definitions for fault types. They discovered that citizens are not so good at judging the severity of potholes – and through triage inspection, around 40% of reports are downgraded due to misreporting.

    This contrasted secondly with the experience of Nigel Tyrell and his team at Lewisham who have recently adopted an Open311 enabled service, now linked into both FixMyStreet.com and LoveCleanStreets.

    Lewisham Open311 App Results

    Perhaps the most surprising aspect of Lewisham’s experience is that well over half of reports actually come from their own internal staff using the system. This peer to peer approach has been transformative for them, with frontline staff motivated, more in control, more engaged with and connected to residents, and better able to integrate citizen reports into their own workflow – a very neat solution.

    From this discussion we identified three specific actions that we’re going to help take forward;

    1. Identify local authority service areas that would benefit from the development of open standards
    2. Review output from the DCLG Waste Standards project, to determine how a similar approach can be applied elsewhere
    3. Feed back with suggested improvements to Open311.org for non-emergency reporting and update the list of UK Open311 endpoints

    As with any such event the real value comes in the following weeks and months as we look for ways to collaborate together and opportunities to put into practice some of the things that we discussed.

    We’ll certainly be planning follow-up events in the future, so if you’d like to get involved sign up for our newsletter, post a comment below or get in touch at hello@mysociety.org.

  5. Calling all teachers: downloadable lesson plans

    If you’re a teacher, looking to spend the Easter holidays planning lessons, our latest news could save you a little time.

    mySociety has collaborated with the Citizenship Foundation on the creation of materials for use in schools.

    These activities, written and tested in consultation with teachers, introduce students to concepts of democracy, citizenship and community. A number of the materials also show students how they can use mySociety websites such as WriteToThem, WhatDoTheyKnow or FixMyStreet to bring about change.

    We hope that you will find these activities useful. They span years 1 to 13, will fit into a variety of curricula from Politics to Geography, and are completely free to download and use. Access them here – and please do pass the word on to your teacher colleagues.

    Image: Rachel (CC)

  6. Open Data Day resources

    Image by OpenSourceWay

    Note (June 2016): This post is now slightly out of date. FixMyTransport is no longer running, though all of the other APIs and tools listed are still available.

    There is also one significant addition which developers should find useful: EveryPolitician, which provides data on all current politicians around the world (and, in the future, we hope, all past ones too). See more here.


     

    Much of what we do here at mySociety relies on Open Data, so naturally we support Open Data Day. In case you haven’t come across this event before, here’s the low-down:

    Open Data Day is a gathering of citizens in cities around the world to write applications, liberate data, create visualizations and publish analyses using open public data to show support for and encourage the adoption open data policies by the world’s local, regional and national governments.

    If you’re planning on being a part of Open Data Day, you may find some of mySociety’s feeds, tools and APIs useful. This post attempts to put them all in one place. (more…)

  7. An Italian Case Study: Fatequalcosa.it

    Despite being home to the beautiful La Fiorita festival, one man still believes the authorities could do more to fix street problems in his part of Italy. Platforms existed in Venice and across other regions of Italy, so a precedent was set.

    Thanks to local Claudio Carletti, the La Marche region will soon get its very own FixMyStreet platform, fatequalcosa.it, which translates as Do Something! Claudio has shared his experience of using the mySociety code and his plans for the site.

    The beginning

    “I heard about FixMyStreet [after] reading a book called Wikicrazia where the author talked several times about mysociety.org,” Claudio explains. After exploring the mySociety sites he came across a blog post offering free developer time to help people start their freedom of information or street problem reporting projects. “I contacted [mySociety] and told them I wanted to create fixmystreet in Italy, and asked them for help. They responded immediately.”

    Why FixMyStreet?

    Claudio explains, “I chose this platform after trying fixmystreet.com and discovering a really well done service and a user friendly site experience.” He tells us there is already an Italian site running a similar service aimed at councils: decorourbano.org. So Claudio’s plan is to target his site at the Italian youth, 14 to 18 year olds. “I think only a cultural revolution that uses concrete tools (like FixMyStreet) can really change the way you think and act, but I think [it’s] mainly young people who must have the tools to do so.” Plus, he tells us, the youth of today will be the older generation of tomorrow.

    Installation

    After an initial Skype chat with mySociety’s international team Claudio felt confident enough to try a basic install of the software himself.

    “I’m not a website developer but I could do it,” Claudio explains. “My experience was using the installation through the Amazon web service. So most of the work was already done and I just ran the installation following the tutorial.”

    That’s not to say it was all plain sailing. “Most of my issues came from the Ubuntu terminal commands, which I didn’t know how to use. After the release of the 1.2 platform version most of my problems were resolved. One important improvement was the automatic email service set up and the MAPIT_ID_WHITELIST feature.”

    But the mailing list service run by mySociety to help self-installs was an invaluable tool for solving these problems. “Matthew [lead developer for FixMyStreet] always wrote back to my emails, spending a lot time helping me understand the problems,” Claudio says.

    Customisation

    One of the perks of the FixMyStreet code is that it’s quite simple to change basic design elements of the site, such as colours and logos, so it can look unique from other installations. Claudio tells us, “After understanding the conf/general.yml file everything went smoothly.”

    Launch plans 

    Claudio has recently begun collaborating with another user on this service, and is presenting his idea to the Projetto Kublai platform where he hopes to gain more support through their community. He’ll also be taking the project to a EU meeting in Berlin in the hopes that there might be some funding there. The launch date isn’t set but he has plans for collaboration with local schools and youth organisations. “[The youth] are more familiar with smartphones and they spend more time living in the city’s streets, because they take the bus or walk or cycle, but they don’t use cars.” And Claudio envisions these will be his superusers.

    Moving forward

    As Claudio tells the community on Projetto Kublai, “If you look at this site http://www.emptyhomes.com you understand how in reality there are no limits to the possibilities of use of the platform.” Other instances in other countries have reported any number of different types of problems. And it doesn’t just have to be email based, FixMyBarangey in the Philippines allows users to report issues using SMS.

    The bigger picture behind Claudio’s installation, he tells us, is this: “Let’s say that the platform fixmystreet is a good starting point, because it works and is easy to install and use. I’d like to have the opportunity not only to bring a problem to solve; for example organizing task forces where people will agree to go and clean up an area filled with concrete waste or to sort out a pitch in order to organize a [football] tournament. This will be the site that will give the tips (video tutorial) to fix that problem. Having said so it sounds pretty utopian idea, but I also believe that if you let people participate (and give them the means to do so) they’ll believe in it and do everything they can to achieve it.”

    An inspirational idea!

    Image credits:
    Romantica 2010 by Jukka Heinonen, Artisaniaflorae CC BY-NC-ND 2.0

  8. Co-brands, code additions and pull requests

    More and more people are starting to build websites to help people become more powerful in their civic and democratic lives. Some of these are on codebases that mySociety has created which is so great. There are some things which we would love to happen when you take our code and re-use it.

    We want people using our code to keep it as up to date as they can, so that they gain the benefits of any changes made to the code by us or by other users. There are a few reasons for this:

    • You can co-brand the site without breaking anything.

    Dave, one of our developers, explains how you do this. “So suppose, instead of calling it FixMyStreet you want to call it FixMyBorchester with a Borchester logo. Obviously this is a very real requirement, because people want to rebrand. One very feasible (but wrong! As you’ll see…) way of doing this is downloading the FixMyStreet code, finding the bit that paints the FixMyStreet logo and replacing it with the words <h1>FixMyBorchester</h1> and an image. This would work as far as the FixMyBorchester branding would appear on the site.

    But if you then saved and committed your change to git and passed it back to us as a push request, we would reject it. This is for the obvious reason that if we didn’t, next time we deployed FixMyStreet in the UK it would have your logo on it.

    However, say we suddenly discover there is a bug with FixMyStreet. For (a bizarre) example, if someone put the number 0 in instead of a postcode and the site returns a huge picture of a kitten. We love kittens, but that’s not what the site is trying to do. So, we make some fixes to the code that rejects zeros, commit it, update the repo, and it’s now there on the master branch. We write to everyone saying “really everyone, update to the latest (most up-to-date) place on the master branch” And you think, “yeah OK!” and you download the latest version.

    If you just download it and copy it into place, you’re going to lose your FixMyBorchester changes, because there’s a more recent version of that file from us that hasn’t got them. If you did a “git pull” (which roughly means, “git! get me the latest version of master branch”) then git will refuse because there’s a conflict on that file.

    So, instead of inserting your FixMyBorchester stuff over ours, which can’t work, you make a new directory in the right place called ‘FixMyBorchester‘, put your stuff in there and switch the FixMyStreet config — which knows this is something people want to do — to use that cobrand. Any templates FixMyStreet finds in there will now be used instead of ours. You can now safely update the codebase from our repo from time to time and FixMyStreet and git will never damage your templates, because they are in a place it doesn’t mess with.”

    • You can add new features

    Dave continues. “Say when someone uses FixMyBorchester it’s essential that you have their twitter handle, because every time a problem is updated, FixMyBorchester direct-tweets them a kitten for fun. Right now there is no capacity to store a twitter handle for a user in FixMyStreet.

    You simply add a column to the users table in your database and add some code for accepting that twitter handle when you register, and sending the kittens etc. That’s new code that isn’t in FixMyStreet at all. Sooner or later you’ll need to put at least one line into the main FixMyStreet program code to make this happen. As soon as you do that you have the same problem we had before, only this time it’s in code not in an HTML template.

    What we would encourage you to do is put all your new code in a branch that we can look at, and maybe set it to run only if there’s a config setting that says USE_TWITTER=true. That way any implementation that doesn’t want to use twitter, which is — at this point — every other FixMyStreet installation in the world — won’t be affected by it. You send that to us as a pull request and a developer checks it’s not breaking anything, and is up to scratch in quality, and has good test coverage. Then we’ll accept it.

    Even though currently nobody else in the world wants your twitter feature, it’s not breaking anything and it’s now in the repo so you can automatically update from our master when we change bits of our files, and the installation/overwrite/git-pull will work. Plus anyone that does decide they want this feature will now be able to enable it and use it.

    And all of this helps everyone using the code; you have a secure website that can be patched and updated each time we release something, other people have access to features you’ve built and vice versa. And overall, the project becomes more feature rich.

    Please do make changes and push them back to the main codebase!

    Image credit: US Coast Guard CC BY-NC-ND

  9. The Flexibility of FixMyStreet

    A lot of people come to mySociety to reuse our code having seen the UK websites, which is great! Then you can see what we’re trying to do in the UK and how you could replicate it abroad. But what I wonder, and what lead me to write this blog post, is are we reining in your imagination for what these platforms could be used for?

    9 times out of 10, when someone contacts me about FixMyStreet, it’s for street reporting problems. Naturally, it’s in the name of the platform!  But we do get the occasional request to use it differently, which is something we’re really keen to explore. Here are some things I think it could be used for, that aren’t street related:

     

    1) Antiretroviral Drug shortages in clinics in Africa.

    The background: 34% of the world’s HIV positive population currently live in Southern or Eastern Africa [1]. These people need antiretroviral drugs to survive, some of which could be supplied by the Government’s medical stores, some of which could be supplied by charities, but it is often reported that there are shortages of drugs at some clinics [2][3]

    The concept: A mobile responsive FixMyStreet site which health clinic staff can use to report the status of their stock to the relevant supplier. The site would instantly send an email to the clinic supplier when the staff member dropped a pin on their clinic on a map in the site. There could be different alert categories such as “stock running low”, “stock critically low” and “Out of stock”

    Impact it would hope to achieve: The aim would be to enable clinics to report on the status of their stock far enough in advance that the supplier could order and deliver stock before they hit the Critically low or Out of Stock status. This would mean that people would always be supplied with ARVs if they need them. Another point would be that patients could check the map to see if the clinic in their area has stock of the ARVs they need, and potentially choose another clinic if there is a shortage.

     

    2) Contributing data on endangered wildlife

    The background: It’s no surprise to anyone to hear that some species of wildlife are under threat. Wildlife conservation charities, like the Royal Society for the Protection of Birds (RSPB), annually monitor population levels for endangered species [4] to ensure they have accurate data on population growth or decline and the lifestyles and habitats of the wildlife they are aiming to preserve.

    The concept: A mobile responsive FixMyStreet site which allows people to report sightings of endangered animals to wildlife conservation charities. The site would be tailored for area (eg the endangered animals native to certain countries) or could simply be per species (eg mammals, avians etc). The public would then be able to take a picture of the animal, attach it to the report and leave a short message, like “2 adult bitterns accompanied by young seen at 10:41am). The report will give the charities the location the animal was spotted in and they will be able to add this to their research data.

    Impact it would hope to achieve: Hopefully this idea would contribute valuable data to the research of Wildlife Conservation charities. Another hope is that it would make people more interested in the wildlife in their surrounding area, thus more involved in conserving it and its habitat.

     

    3) Reporting polluted Waterways

    The background: You may have seen the reports from China earlier this year about the dead pigs found in the Huangpu River [5]. It’s not just a Chinese phenomenon: around the world rivers, canals and lakes are becoming more and more polluted. [6] In fact the statistics coming from the UN are quite shocking[7]. This not only has a harmful effect on wildlife in the river, but could lead to longer term issues with clean drinking water, especially in countries where cleaning polluted water is an expensive option.

    The concept: This is very similar to the classic FixMyStreet. A website would be set up where a person could submit a photo and report of a polluted waterway by dropping a pin on a map at the position of the river. This report would then get sent to the local council or persons responsible for caring for the waterway.

    Impact it would hope to achieve: Similarly to FixMyStreet in the UK, this would help to get citizens more actively involved in their local area and government. The idea would also be that the council would hopefully start dedicating more resources to clear rivers and waterways. Or local residents could form a group to remove litter themselves. In the case of chemical or oil spills this would obviously not be advised. However if chemical waste or oil spillages were noticed to be originating from specific buildings then the council would have the opportunity to bring this up with the residents or companies in these buildings.

     

    So those are some of my ideas! What are yours?

    We’re actively looking to support non-street uses of FixMyStreet so please do get in contact  on hello@mysociety.org with your ideas and we’ll work together to see how we can achieve them!

    Oh, and, don’t worry if you still want a classic FixMyStreet, we’ll help you with that too!

     

    References:

    [1]http://www.unicef.org/esaro/5482_HIV_AIDS.html

    [2]http://allafrica.com/stories/201307070100.html

    [3]http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3194149/

    [4]http://www.rspb.org.uk/ourwork/projects/details/258718-annual-bittern-monitoring-

    [5]http://behindthewall.nbcnews.com/_news/2013/03/18/17357810-china-rivers-dead-pig-toll-passes-13000-but-officials-say-water-quality-is-normal?lite

    [6]https://www.gov.uk/government/consultations/tackling-water-pollution-from-the-urban-environment

    [7]http://www.unwater.org/statistics/en/

    [8] Orangutan by Matthew Kang

    [9] Primary colours by Vineet Radhakrishnan

  10. Open311: Extended

    This is the third of our recent series of Open311 blog posts: we started by explaining why we think Open311 is a good idea, and then we described in a non-techie way how Open311 works. In this post we’ll introduce our proposed extension to Open311, and show how we use it in FixMyStreet.

    The crux of our suggested improvement is this: normal people want to know what has happened to their problem, and Open311 currently isn’t good enough at telling them whether or not it has been dealt with. To be more specific, our additions are all about reports’ status change, by which we mean something like this:

    That pothole?

    I just totally fixed it.

    That’s robot-311 from the previous post, if you’ve dropped in here without reading the previous posts. Once again we’re blurring the distinction between client and user (the girl you’ll see below) a little, to make things simpler to follow.

    Create→send→fix→update

    Every month in the UK, thousands of problems are reported on www.fixmystreet.com and, moments later, sent on to the councils who will fix them. Here’s what happens with a problem report for something like a pothole or a flickering streetlight:

    1. You create the report on FixMyStreet.
    2. FixMyStreet sends that report to the right department at the right council.
    3. That body puts it into its own back-end system.
    4. Later, when the council fixes the problem, FixMyStreet is updated, and everyone knows it’s fixed.

    On the face of it, you might think we need only care about 1 and 2. But really, FixMyStreet isn’t just about dispatching reports, it’s about helping to get things like potholes actually fixed. And neither citizens nor local governments benefit if work gets done but nobody finds out about it – which is part 4 on the list above.

    What do we mean by “status change”?

    The example at the top of the page shows the robot effectively changing a problem’s status to “fixed”.

    Actually, statuses can be simple, such as either OPEN or CLOSED, or more detailed, such as “under investigation”, “crew has been dispatched”, “fixed”, and so on. But since we’re only concerned here with the status changing, that specific vocabulary deployed doesn’t really matter – it can be anything.

    In situations where FixMyStreet is not integrated with council systems (i.e we just send email problem reports) FixMyStreet problems still frequently get marked as fixed, because anyone can change the status of a report just by visiting the page and clicking the button.  Obviously, though, we prefer to have FixMyStreet directly connected to the local government back-end databases, so that news of a fixed report can be automatically bubbled from the back-office up into FixMyStreet and out onto the net.

    And here’s where the problem lies: Open311 doesn’t quite support this business of getting problem updates from the back office out to the public. So first, we’ll show you how it can be done today, using Open311, and we’ll explain why this isn’t a good option. Then we’ll show our preferred solution, which we’ve proposed as an extension.

    Looking at everything just to spot one change (bad)

    One way to notice if any problems’ statuses have changed is to use Open311 to ask for every single service request, and see if any of them have a different status since the last time you checked.

    Tell me all the service requests you’ve ever received

    OK:

    request 981276 the pothole on the corner by Carpenter Street is now CLOSED (I filled in the pothole)

    request 988765 the pothole by bus stop on Nigut Road is now CLOSED (I filled in the pothole)

    request 998610 gaping hole at the end of Sarlacc Road is now OPEN (the pothole fell through)

    request 765533 where the street was cracked outside Taffey’s Snake Pit is now CLOSED (I filled in the pothole)

    . . .

    continues for thousands of requests

    Um, OK. Now I’ll look at all these and see if any have changed since I last asked *sigh*

    Obviously there are some problems with this. Even though Open311 lets you ask for quite specific service requests, you have to ask for all of them, because by definition you don’t know which ones might have changed. Remember, too, that problems can potentially change status more than once, so just because it’s been marked as CLOSED once doesn’t mean it won’t become OPEN again later. This exchange is very wasteful, very slow and ultimately (with enough reports) may become de facto impossible.

    Asking for just the changes (good)

    So here’s a better way of doing it. We’ve actually been doing this for some months, and now seems the time to share.

    The client asks the server for just the updates on a regular basis, so any requests that have recently changed get updated on FixMyStreet automatically, usually just a few minutes later.

    Have you changed the status of any of service requests today?

    Yes, request 981276 was CLOSED at 3 o’clock (I filled in the pothole)

    Or, more practically for keeping FixMyStreet up to date:

    Have you changed the status of any of service requests in the last 15 minutes?

    Nope.

    This is handled by our extension to Open311, GET Service Request Updates. There’s also an optional equivalent call for putting updates into the server (POST Service Request Update), which would apply if the client changed the status after the service request had been submitted.

    Note that the server identifies the problem with its own reference (that is, 981276 is the council’s reference, not a FixMyStreet ID, for example). This is important because not all these requests necessarily came from this particular client. Remember that all service requests are available through the Open311 GET Service Requests call anyway (as shown above). So the server doesn’t send each service request back in its entirety: just its ID, the new status, when it changed, and a brief description.

    In practice the client wouldn’t usually ask for “today”. In fact, we typically send a request asking for any updates in the last 15 minutes, and then at the end of the day ask for the whole day’s updates, just to check none were missed.

    The technical bit

    From a client’s point of view, this is simply an extra call like others in the Open311 API. So it’s just a request over HTTP(S) for XML (or JSON, if required).

    We deliberately make the client poll the server for updates and pull them in, rather than expecting the server to push updates out. This frees the server from any obligation to track which clients (for there may be more than just one) care about which updates. The requests themselves are sent with unique IDs, allocated by the server, so the client can dismiss duplicates. It’s also robust in the event of connection failures, so if there are timeouts or retry logic, that’s for the clients to worry about, not the server. Basically, this is all to make it as light on the server as possible: the only real issue is that it must be able to provide a list of updates. This usually means adding a trigger to the database, so that when a problem’s status is updated a record of that update is automatically created. It’s the table of those “service request update” records that incoming requests are really querying.

    We have published our own recommendation of this mechanism, which FixMyStreet already implements, alongside the FixMyStreet codebase.

    Is that it?

    Yup, that’s it.

    This extension is in addition to the Open311 specification — it doesn’t break existing implementations in any way. Obviously this means FixMyStreet’s Open311 implementation is compatible with existing Open311 servers. But we hope that others working on Open311 systems will consider our extension so that clients are kept better informed of the status of the problems being fixed.

    Why are statuses so important that it is worth extending the Open311 spec?

    mySociety didn’t originally build FixMyStreet because we wanted to get potholes fixed. We built it because we wanted nervous, politically inexperienced people to know what it felt like to ask the government to do something, and to be successful at that. We wanted to give people the buzz of feeling like they have a bit of power in this world, even if the most tiny amount.

    If the government fixes a problem and the citizen doesn’t find out it’s a double loss. The citizen becomes disillusioned and weakened, and the government doesn’t get the credit it is due. Everyone loses. We think that Open311 is a key mechanism for making large numbers of people feel that the government does respond to their needs. It just needs a bit of an upgrade to do it better. We hope very much that the wider community tests and endorses our extensions, and it can be folded in to the next official version of the Open311 standard.

    Find out more about FixMyStreet for Councils