1. Who uses FixMyStreet?

    We hope that’s a question that is hard to answer, since FixMyStreet was built for everyone – or rather, anyone who wants to report a street problem to their council. Computer whizz or internet newbie, one-off reporter or serial council communicator, FixMyStreet is for you.

    All the same, we wanted to chat to someone who uses FixMyStreet regularly, to find out more about how they see the site, and whether it makes a difference. So…

    Meet Steve, from Exeter.

    Steve’s been using FixMyStreet almost since it launched, in March 2007:

    FixMyStreet user Steve LeeI’m not sure how I heard about it – it’s lost in the mists of time, but it was pretty soon after it went public.  I see from your archives that I first reported a problem in July 2007, but I’m sure I knew about it before then.

     

    As a board member for Schoolforge I was always searching for UK open source projects for education, and that’s probably where I came across it initially.

    FixMyStreet can be used to report any street problems to the council – it’s most commonly used for potholes, broken streetlights, fly tipping, etc. But every user has their own concerns. What does Steve tend to report?

    It’s usually road-related, as I used to push /walk the kids to school when they were young, and I cycle around a lot.

     

    So potholes, traffic lights not responding to bikes, broken street lights, bad signage, low hanging vegetation… I think I reported a crop of Japanese knotweed once.

    You did! Here it is. And have the issues been fixed?

    Many have, according to your archive. I reckon that using FixMyStreet helped raise the priority, but you never know – and that’s fine. I like to think that reports come to attention of the relevant people more quickly when you put them online where everyone can see them.

     

    Also, when you see an issue in the neighbourhood, it’s easy to assume that someone else has reported it, but as it’s so easy to ping off a report with FixMyStreet, there’s no excuse not  to play your part as a citizen.

     

    I appreciate that there’s no need to find the relevant council department, website, or whatever. Just point your browser at FixMyStreet, type in a location, click on the map and type in the problem. Sorted.

     

    Plus if others have used it to report the same issue, you’ll see straight away.

    Steve’s noticed an improvement in the way that councils interact with FixMyStreet reports.

    I can’t vouch for how fast they get fixed, but at least I usually get an email response from the council to acknowledge receipt.

     

    These have improved over the years too, indicating that the council have sorted their processes to better incorporate FixMyStreet reports.

    Does Steve ever browse FixMyStreet to see what has been reported in his local area? Or subscribe to email alerts?

    Very rarely, but it is interesting to see what’s been going on. When you report a problem, the process shows you issues that have already been reported in the same area, so you don’t need to browse first as a separate step.

    And some final thoughts…

    It’s well thought out and easy to use. I especially appreciate that I don’t have to create an account as a first step to reporting a problem: more sites should use a lazy login like this. FixMyStreet has slowly improved over the years; the most noticeable thing is the improved maps.

     

    Also, it’s open source and that is important for such civic software. I don’t know if you get much open development with others contributing, but I do suspect that others use the code.

    Yep, they sure do. FixMyStreet Platform is the place to look for that activity, where there’s also a link to our mailing list. The most significant contributions come from people in other countries who are setting up their own version – FixMyStreet in Norway, for example.

    Thanks very much to Steve for telling us about how he uses FixMyStreet. 


    This post is part of a mini-series, in which we’ll be chatting to people who regularly use mySociety’s websites.

  2. Councils: Use Open311 and you’ll never have to re-key a problem report from FixMyStreet. And it’s free.

    image by Ardonik

    When FixMyStreet.com was first launched it sent all of our users’ problem reports to councils via email.

    But that was a while ago, and for some time we’ve been trying to encourage councils to open up their back-office systems to websites like FixMyStreet.com using an open standard called Open311.

    If your council implements an ‘Open311 endpoint’, then reports created by users of FixMyStreet.com (and other such websites run by other people) can be dropped directly into your back office system, without anyone ever having to re-key an email.  Or, to put it more clearly:

    Use Open311 correctly and you need never receive an email from FixMyStreet.com ever again. And you won’t have to pay us anything for this service. In fact, you should save money.

    What is Open 311?

    Open 311 is a free, public set of standards which allow councils to receive problem reports in a format that is better than email. It’s an international standard, and the idea is that if you implement it once, then you won’t have to build custom software to connect to every new problem reporting app or tool that comes along.

    How is this different from FixMyStreet for Councils?

    You may already know of our service FixMyStreet for Councils, which is a commercial service we supply to councils around the country, and abroad. So you might be wondering how this relates to the entirely free offer to connect FixMyStreet.com to your council back-office systems.

    The main difference is that with FixMyStreet for councils you can put FixMyStreet’s famously easy-to-use problem reporting interface directly on your website. This means that users of your council’s site who want to report problems will have a much more satisfying experience, and that they will be able to see if their problem report is a duplicate before they contact the council.

    FixMyStreet for Councils is templated to match your own design, and offers several other features such as a performance dashboard for council staff. Read more about FixMyStreet for Councils here.

    Is Open 311 only for FixMyStreet?

    Open 311 doesn’t just work for FixMyStreet reports – configure it right, and it will allow you to more easily process problems reports made by users using all sorts of other channels. We think that your residents should be able to make reports from whichever platform they choose – Open 311 means you can accept them all at the lowest possible cost.

    How do we know if we have implemented Open311 correctly?

    In the future mySociety will launch a validator service, to make testing easier. But for now just get in touch with us, and we’ll try sending you a test problem. If it works, we’re all good to go.

    What now?

    Image by Ardonik (CC)

  3. Subscribing to FixMyStreet problems within your council or ward

    Did you know that you can subscribe to FixMyStreet alerts within a chosen area? Like most mySociety sites*, FixMyStreet lets you subscribe to the content that is most meaningful to you, for free.

    The feature was created with local residents in mind, but it’s proved useful for others with a stake in the area, such as councillors, MPs and community groups – especially as you can opt to receive reports within an electoral ward or a council area.

    It just takes a couple of minutes to sign up for email alerts. You’ll get a deep understanding of the local area: what are the recurring issues, what concerns residents, and where are the trouble hotspots.

    Here’s what to do.

    FixMyStreet local alerts

    Go to www.FixMyStreet.com and click on ‘local alerts‘ in the top bar, as indicated by the arrow in the image above.

    FixMyStreet rss-feeds

    On that page, input your postcode, or, if you have geolocation enabled, click ‘locate me automatically’.

    FixMyStreet rss and alerts sign-up

    As you can see in the image above, you have the option to subscribe to a geographic area, to the entire council area, or to a specific ward.

    If you already use a ‘reader’ (eg Feedly or Newsvibe, to name a couple at random) then you may wish to use the RSS feeds. Feeds can also be used to put local content onto your own website, if you have one.

    But if you would like to have FixMyStreet alerts delivered directly into your inbox, select the email alert option.

    confirm FixMyStreet alert

    The final step is to check your email for our confirmation link. And then all you have to do is sit back and wait for the reports to roll into your inbox.

     

     

    * Here’s a blog post explaining how you can subscribe to FixMyTransport reports, and this one explains how to get alerts from TheyWorkForYou when politicians mention your chosen words in Parliament.

    Our Freedom of Information site WhatDoTheyKnow also provides alerts for any search term, public body, or request – as described at the foot of this post.

  4. FixMyStreet: aligned with your council’s aims

    Weekend This Way by Dennis Skley

    When we built FixMyStreet in 2006, our primary focus was to create a tool for citizens. We wanted to make it easy, quick, and effective to report street problems, even if the user had no prior knowledge of where their reports should go. And while the tool obviously had to work for the councils who were receiving reports, it never crossed our minds to research, or try to key into, prevailing council strategies.

    But over the last few years, and to the benefit of both sides, council strategy has become strongly aligned with several of the qualities that FixMyStreet was founded on. The development of our specialised software, FixMyStreet for Councils, cemented that further, based, as it is, on consultation with local authorities.

    If your current strategy focuses on any or all of the following points, then FixMyStreet is extremely well-positioned to help you.

    Channel shift

    UK local authorities are fully aware of the channel shift theory by now: put reporting online, make it self-service, and see efficiency rise while costs fall.

    It sounds simple, but it hinges on one important factor – you have to get the reporting interface right. Otherwise, all those hassle-free online transactions turn into irate residents on the phone, seeking help.

    Citizen engagement

    On first impressions, many assume that FixMyStreet is just a public platform for grumbling – so it can be quite a surprise to discover that it often has the opposite effect. By allowing everyone to see what the problems are in their own community, it provides a platform for engagement, debate – and, sometimes, solutions.

    FixMyStreet is a superb tool for councils who are looking for ways to encourage residents to take a stake in their own communities.

    Usability

    Any council web team worth its salt will be anxious to maximise usability across the website. FixMyStreet was designed with the user at its heart: from minimising the number of clicks it takes to make a report, to making sure that every step is as easy and comprehensible as possible.

    Transparency

    Modern society is demanding transparency across a vast array of organisations, not least government. By putting a record of every report online, FixMyStreet helps you fulfil those demands. And there are side benefits, too.

    First, FixMyStreet brings previously ‘hidden’ work into the open, allowing your residents to understand the degree and quantity of work you do on their behalf.

    And second, having reports online allows citizens to see at a glance whether their problem has already been reported, thus cutting down on duplicates – and saving you time.

    Lowering costs

    FixMyStreet is efficient when used on a desktop; it also works very easily on mobile devices, meaning that your residents help you crowd-source information. You’re effectively multiplying your inspection capabilities by a factor of hundreds, and your residents become your ‘eyes and ears on the ground’, as one of our client councils has said.

    Find out more

    Drop us a line now and we’ll get right back to you.

     

    Image credit: Dennis Skley (cc)

  5. A smooth ride for FixMyStreet Oxfordshire

    Oxford April by Tejvan Pettinger

    We were really pleased by this report on BBC Oxfordshire this morning.

    Oxfordshire County Council is one of the local authorities who have integrated FixMyStreet into their own website. We’re delighted to see what a success it’s been for them: over 15,000 potholes fixed since its installation in March.

    We can’t take any credit for the actual repairs, of course, but we like to think that FixMyStreet’s easy interface has simplified the reporting process for the people of Oxfordshire. Read more about FixMyStreet  For Councils here.

     

    Photo by Tejvan Pettinger (CC)

  6. FixMyZürich: FixMyStreet goes Swiss

    Need FixMyStreet for your own council? Find out more here.

    Orange Man Group by Clemens v. Vogelsang

    It’s known for being one of the cleanest and most efficient cities on earth – but even Zürich suffers from potholes and graffiti.

    Zürich’s residents can now report infrastructure faults via their city council’s own dedicated installation of the FixMyStreet platform: Züri wie neu, which translates as ‘Zürich: Good As New’.

    For Zürich, it’s a new online channel for its infrastructure reports. Meanwhile, for mySociety it’s further proof that our platform can be adapted to any jurisdiction, language, and geography.

    We spoke to GIS Project Managers Tobias Brunner and André Graf about the process of installation, and whether or not the launch has been a success.

    How it all began

    “The project came about as the result of a government competition,” explains Tobias. “Through the eZürich vision, they solicited ideas that would help the city use ICT (Information and Communications Technology).

    “FixMyZürich, as the idea was initially presented, was one of the top three suggestions. It clearly matched the competition’s stated aims of increasing transparency and modernising communication channels. Plus there was a strong likelihood that it would also increase civic participation and improve the image of the council – wins all round.”

    But Switzerland has a reputation throughout the world for being spotless and efficient – and could Zürich, which ranks second in the world for high standard of living, really have any problems to report?

    There was definitely a fear that the service would barely be used. Only after launch would they see whether that fear was justified.

    Why FixMyStreet?

    Prior to this, Zürich didn’t have an online channel for infrastructure fault reporting: citizens had to use phone, email, or even fax if they wanted to tell the council about a problem in their community. So it was high time for modernisation. eZürich’s winning entry had mentioned the UK platform FixMyStreet, and so Zürich was well aware of mySociety’s custom software.

    They assessed other systems. But a number of factors led to the decision to go with FixMyStreet, rather than either buying a different option, or building a system themselves.

    Firstly, says Tobias, “It’s simple! And after the design revamp, it looks stunning.” And then, “mySociety was able to adapt the software to our specific needs, which is very customer-friendly.” And finally, “mySociety has a lot of experience in the field, which also persuaded senior council decision-makers.”

    Adapting to Zürich’s needs

    To complicate matters, each department had its own incident management system – and in fact they still do. In order to get the pilot scheme up and running, Züri wie neu has had to be a standalone system, although eventually the dots will be connected and a unified system will be introduced.

    Zuri Wie Neu

    Anyone familiar with the original version of FixMyStreet will immediately notice one big difference with Züri wie neu – the maps. They’re satellite, unlike the Ordnance Survey maps that our UK users know and love.

    “People are used to Google Maps,” says Tobias. “We have nice orthophotos [aerial photographs that are geometrically corrected to show uniform distances]. This way, people can view more details, like trees or landmarks, and therefore will hopefully be able to better locate their problem”.

    There are less obvious differences, too. For example, users of the original UK FixMyStreet are required to confirm their reports by clicking on an email link. In Zürich, not so. In fact, all reports are verified on the council side: “We didn’t want to let any reports slip by!”  That’s admirable commitment.

    Installation

    With mySociety in one country, and our clients in another, there was always going to be a degree of collaboration from a distance. For mySociety, this isn’t so unusual: many of us work from home habitually, and we have all the tools in place for co-coding, shared documentation, and instant communication.

    All the same, there were several additional keys to making sure the process went smoothly:

    “A lot of email contact and feedback. Feedback from mySociety was really swift – way faster than what we’re used to from Swiss companies!”

    And it was invaluable that there were two face to face meetings at crucial points in the development process. Here’s how it went, according to Tobias:

    “First, a lot of talk with council members and other responsible people. Then, even more talks!”

    “After that, we provided firm requirements for mySociety to implement. There was a lot of testing throughout. And we provided detailed feedback to mySociety about each implementation sprint.”

    The process was not entirely without challenges: for example, we needed to build the accompanying app from scratch, which of course added to development time. And Tobias reckons that another face to face meeting would have been useful, especially as regards the app.

    Launch

    Züri wie neu attracted a real blaze of publicity – clearly, this was an idea whose time had come in Switzerland.

    “The media went crazy. Every newspaper in Zürich reported the story. Even European television picked it up. Even now, a month after the launch, the media is still covering us”.

    Results

    Of course, the outcomes are the important part. We saw at the beginning that Zürich’s main aim was to increase transparency and modernise communication channels. We are sure that all councils are also keen to cut costs and increase efficiency.

    In the first month after launch, there were 600-900 reports. Zürich’s population is approximately 400,000: comparable to Reading in the UK, and somewhere between Leicester and Bristol. Zürich’s report rate is way in excess of what we see in any of those cities – but it’s early days for this project, and we expect the number of reports to settle down somewhat as the launch publicity subsides.

    It’s interesting to hear that Tobias and André reckon the users of the website are ‘new customers’ – people who never would have been in touch before. You can argue whether that creates extra work, or increases efficiency as more faults are reported that would never previously have been fixed.

    Meanwhile, feedback from Zürich residents has been overwhelmingly positive. Zürich council themselves are pleased: their next step is to look into adapting the FixMyStreet system so that it can be used by internal departments too, and, significantly, they are in discussion with other councils across Switzerland.

    The final analysis

    Would André and Tobias recommend FixMyStreet to other councils, including those abroad?

    “mySociety were great. They were always very kind, and they brought a large amount of input from their previous experience. We’d definitely recommend them.

    “Working in different countries turned out not to be a problem – so long as someone in your organisation speaks English. But I would definitely say that meetings are vital.

    “As an extra plus point, you also gain knowledge about English culture – comic shops, real ale, all that sort of thing!”

    We’re not going to guarantee a crash course in comics and beer, but we can promise a street fault reporting system that will suit your needs. Get in touch to find out more.

    Photo by Clemens v. Vogelsang (CC)

  7. FixMyStreet for Councils: the dashboard

    FixMyStreet.com has always tried to make it as simple as possible to report a street problem. When we built FixMyStreet for Councils, we wanted to simplify things for local authority employees too.

    FixMyStreet for Councils: dashboard So, as well as offering the option to integrate with council back-end systems, we also put together this nifty dashboard (right – click to see full-size). It’s one of several extra features councils get when they purchase the FixMyStreet for Councils package.

    What do councils need?

    •  At-a-glance statistics, for all kinds of reporting. Perhaps the local newspaper have asked how many potholes have been fixed this year, or internal staff need a report on which types of problem are most rapidly fixed.

    The top half of the dashboard allows for this sort of analysis. The drop-down category list means you can filter the view to show one category of problem – say, fly tipping – or all of them. Results are shown across a variety of timeframes.

    FixMyStreet for Councils allows councils to designate their own progress statuses, beyond our standard ‘fixed’ and ‘open’.  So, in this case, the statuses include ‘in progress’, ‘planned’, ‘investigating’, etc. Each of these is shown separately.

    • A realistic picture of how long it takes to deal with issues. The ‘average time to council marking as fixed’ is a great measure of just how much time it is taking to get reports resolved.

    Perhaps just as important, though, is the ‘average time to first council state change’ – that could just mean the report has been acknowledged, or that its status has changed to ‘under investigation’ – but these are still valuable mileposts for keeping residents informed of progress.

    FixMyStreet for Councils dashboard---lower-half
    • Quick access to problems, as they’re reported. At the foot of the dashboard, there are links to all problems reported within the council boundaries.

    There’s an option to filter them by any of the statuses, as above.

    • Access for multiple people, in different locations. The dashboard is web-based, so it can be accessed by any employee with internet access – or several at once.
    • But at the same time, complete security. It’s password-protected, so it’s only accessible to those who have been granted access.
    • A responsive provider. mySociety believe that the launch of new software is only the beginning of the story.

    When people start using new products, they often do so in surprising ways. They often ask for features that would never have occurred to us, and indeed might never have previously occurred to them.

    We will remain in active development, of the dashboard, and of FixMyStreet for Councils as a whole. We’ll be soliciting feedback, and listening to it very carefully.

    The FixMyStreet for Councils dashboard is only available to councils as part of our FixMyStreet for Councils package – find out more here.

  8. 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

  9. Open311: Explained

    In the previous blog post we explained why we think Open311 is a good idea. In this post we’ll explain what it actually does.

    Open311 is very simple, but because it’s fundamentally a technical thing it’s usually explained from a technical point of view. So this post describes what Open311 does without the nerdy language (but with some nerdy references for good measure). At the end there’s a round-up of the terms so you can see how it fits in with the actual specification.

    We’re using an unusual example here — a blue cat stuck up a tree — to show how applicable Open311 is to a wide range of problems. Or, to put it another way, this is not just about potholes.

    Cat up a tree and an Open311 robot

    So… someone has a problem they want to report (for this discussion, she’s using a service like FixMyStreet).

    There’s one place where that report needs to be sent (in the UK, that’s your council). That administrative body (the council) almost certainly has a database full of problems which only their staff can access.

    I have a problem :–(

    the “client”

    I fix problems!

    the “server”

    In this example, FixMyStreet is an Open311 client and the council is an Open311 server. The server is available over HTTP(S), so the client can access it, and the server itself connects to the council’s database. In reality it’s a little bit more complicated than that (for now we’ll ignore clients that implement only part of Open311, multiple servers, and decent security around these connections), but that is the gist of it.

    Although it’s not technically correct to confuse the client with the user, or the server with the council, it makes things a lot easier to see it this way, so we’ll use those terms throughout.

    Service discovery

    To start things off, the client can ask the server: what services do you provide?

    Until the client has asked the server what problems it can fix, it can’t sensibly request any of them.

    What services do you offer?

    I can:
    POT: fix potholes
    TELE: clean public teleports
    PET: get pets down from trees
    JET: renew jetpack licenses …

    FixMyStreet can use the response it gets from such a service discovery to offer different categories to people reporting problems. We actually put them into the drop-down menu that appears on the report-a-problem page.

    In the Open311 API, this is handled by GET Service List. Each service has its own service_code which the client must use when requesting it. Note that these services and their codes are decided by the server; they are not defined by the Open311 specification. This means that service discovery can easily fit around whatever services the council already offers. The list of services can (and does) vary widely from one council to the next.

    Service definitions

    Some services require specific information when they are requested. For example, it might be important to know how deep a pothole is, but it’s not relevant for a streetlight repair.

    Tell me more about the PET service!

    I can get pets down from trees, but when you request the service, you *must* tell me what kind of animal the pet is, OK?

    In the Open311 API, this is handled by the GET Service Definition method. It’s not necessary for a simple Open311 implementation. In fact, it only makes sense if the service discovery explicitly told the client to ask about the extra details, which the server does by adding metadata="true" to its response for a given service.

    Requesting a service

    This is where it gets useful. The client can request a service: this really means they can report a problem to the server for the body to deal with. Some submissions can be automatically rejected:

    My hoverboots are broken :–( I need BOOT service!

    404: Bzzzt error! I don’t fix hoverboots (use service discovery to see what I *do* fix)

    Hey! Blueblue is up a tree! I need PET service (for cats)!

    400: error! You forgot to tell me where it is.

    If the report is in good order, it will be accepted into the system. Open311 insists that every problem has a location. In practice this is usually the exact position, coordinates on planet Earth, of the pin that the reporter placed on the map in the client application (in this case FixMyStreet.com).

    I need PET service (for cats)! Blueblue is stuck up the biggest tree in the park :–(

    200: OK, got it… the unique ID for your request is now 981276

    In the Open311 API, this is handled by POST Service Request. You need an API key to do this, which simply means the server needs to know which client this is. Sometimes it makes sense for the server to have additional security such as IP address restriction, and login criteria that’s handled by the machines (not the user).

    Listing known requests

    The server doesn’t keep its reports secret: if asked, it will list them out. The client can ask for a specific report (using the ID that the server gave when the report was submitted, for example) or for a range of dates.

    Did anyone ask you for help yesterday?

    Yes, I got two requests:

    request 981299: TELE dirty teleport at the cantina (I’m waiting for a new brush)

    request 971723: POT pothole at the junction of Kirk and Solo (I filled it in)

    In the Open311 API this is handled by GET Service Request(s). The client can indicate which requests should be listed by specifying the required service request id, service code, start date, end date or status.

    Does Open311 work?

    Oh yes. On the Open311 website, you can see the growing list of places, organisations, and suppliers who are using it.

    The technical bit

    In a nutshell: Open311 responds to HTTP requests with XML data (and JSON, if it’s wanted). There’s no messing around with SOAP and failures are reported as the HTTP status code with details provided in the content body.

    You can see the specification for Open311 (GeoReport v2). It doesn’t feature blue cats, but if you look at the XML examples you’ll be able to recognise the same interaction described here. And remember the specification is an open standard, which means anyone can (and, we think, should) implement it when connecting a client and server in order to request civic services.

    Coming next…

    In the next blog post we’ll look at how FixMyStreet uses Open311 to integrate with local council systems, and explain why we’re proposing, and utilising, some additions to the Open311 specification.

    Find out more about FixMyStreet for Councils

    Illustrated especially for us by René Carbonell.

  10. Open311 – What is it, and why is it good news for both governments and citizens?

    Open by Rupert Ganzer

    The Internet has thrown up a host of challenges for governments, large and small. Most people are familiar with the problems presented by issues like hacking, but there is another challenge which probably worries local governments just as much.

    The challenge is this – how can a local government cheaply and efficiently cope with the fact that the public wants to request many services through a rapidly expanding plethora of different channels – phones, websites, email, apps, and Twitter? And how can it keep control of costs when new channels are being invented all the time?

    The good news is there’s an answer that can prevent each new channel leading to ever-greater costs – a free technology called Open311. The bad news is not many people know it exists, let alone how to use it, or how it works.

    In this post, and two more to follow, we’ll explain how Open311 can help governments (and citizens), how it functions, and what mySociety is doing to make Open311 work a bit better.

    Background – the status quo

    At mySociety, we’ve been running services for years that send messages of different kinds to government bodies, on behalf of our users. Since the very beginning we’ve always been keen that any public servant or politician who receives a message via one of our systems gets it in a familiar form that doesn’t require any special knowledge or training to read or reply to. That’s why for the first few years FixMyStreet sent all its problem reports via email, WhatDoTheyKnow sent all its FOI requests via email, and WriteToThem sent all its letters to politicians via email and fax (remember fax?).

    However, despite the fact that reading and responding to emails doesn’t require governments to procure any new technology or any new skills, these days this approach can clearly be bettered. Today, an email report of a broken paving slab will typically be received by a public servant working in a call centre. This person will normally cut and paste text from the email into a new database, or into a new email, before dispatching it for someone else to consider, and action.

    Now, imagine that instead of this, a problem report about a broken paving slab could be sent directly from a citizen and placed into the electronic to-do list for the local government team who fix paving slabs. This would do more than just cut costs – it would make it much easier for the citizen to get sent a notification when their problem is marked as ‘resolved’ in the official database.

    This is not an original idea. The team at mySociety are not the only people who think that enabling citizens to directly slot requests, messages and problem reports into local government ‘to do’ databases is desirable. In the USA a group of civic minded technologists at OpenPlans were concerned by the same issue. They decided to do something about it – and they launched a project under the banner of Open311.

    Why ‘311’?

    In the USA a number of cities have non-emergency government telephone helplines, accessible at the phone number 311. As a consequence ‘311’ has come to refer to more than just a phone line – it has come to mean the entire process of handling service requests from citizens around a whole range of non-emergency issues, from garbage to noisy neighbours.

    To the ears of some American public servants the name ‘Open311’ consequently conjures up an image of a better, nicer more ‘open’ way of handling such non-emergency requests from citizens.

    So what is Open311?

    Beyond a brand, what is Open311? The answer is simple: Open311 is standardised way for computers to report problems (like potholes or fallen trees) to the computers run by the bodies that can fix them (like local governments or city departments). It’s an open standard that was started by the lovely people at OpenPlans, and which is now slowly iterating with the help of people inside and outside of governments.

    In other words, Open311 is the mechanism through which citizens can slot their service requests directly into the computerised ‘to do’ lists of local government staff, and the way they those citizens can get back progress updates more quickly and easily.

    Why is an Open Standard a good thing?

    An open standard is just a way of communicating that anyone can implement it, without paying any money for permission to use the technology. The good thing about open standards is that once several technology systems start using the same ones, different systems from different manufacturers can talk to each other. When you phone someone else’s telephone, you are using an open standard – this means you don’t have to have the same brand of phone as the person at the other end.

    What this means for a government is that if you can make your database of pothole reports speak to the outside world using Open311 then you don’t have to worry if reports are coming from two, ten or a thousands different websites or apps. You just run one system and it copes with all of them. This is not actually a new idea at all – local government call centres don’t worry what telephone network people are phoning from, or what brand of phone they are using.

    However, it is a new idea in the realm of government IT systems for storing things like pothole repair requests, or school-admission applications. Traditionally these systems have not been set up to speak a common language with the outside world. Unfortunately, this failure to speak a common language has not always been by accident. Unscrupulous suppliers will sometimes intentionally set up systems so that the government has to pay extra money if they want any new channels to be added. Using Open311 is both a way to lower your future costs, and a way to make sure your current supplier can’t lock you into expensive upgrades.

    Isn’t opening our systems to the outside a security nightmare?

    Open311 is not about opening up private data, such as exposing the home addresses of vulnerable children. Open311 can be configured to open up government systems where that is appropriate, and everything that needs to stay private will stay private. There are no fundamental security problems to using an Open311 system.

    Is this just about pothole reports?

    No. Open311 isn’t limited to street-fixing services like FixMyStreet, even though that kind of problem is where Open311 started. As more and more public bodies offer their services online, they all face the same problem of spiralling costs as the public demands access through more and more diverse channels. In the future it should be possible to renew parking licenses, pay local taxes and do other complex transactions via Open311. But for today we encourage everyone interested to start at the simpler end of the scale.

    How does mySociety use Open311?

    When a local government anywhere in the world contracts mySociety to deliver a version of FixMyStreet for them (like BromleyBarnet and Stevenage ) we recommend Open311.

    We will still happily connect FixMyStreet to systems that don’t use Open311, but we always explain to clients that Open311 is the most desirable way of connecting their new FixMyStreet deployment with their current problem databases. We even offer lower prices to governments who use Open311.

    We offer lower prices this partly because our costs go down, but also because we want to leave local governments with street-fault reporting systems that can connect not just to FixMyStreet, but to any new services in this area that emerge in the future. If Google maps or Twitter suddenly add street fault reporting, why should the local governments have to pay more money to handle those problems, when it could get them for free using Open311?

    In short, we see Open311 as a solid foundation for building local government services without locking our clients into a relationship with mySociety as suppliers. In future we will also recommend the use of Open311 for services like ‘Please send me a new recycling bin’, ‘Please tell me what jobs you have open’ and ‘Please answer this FOI request’.

    In the next post we’ll cover how Open311 works in a bit more detail (but still as clearly as we can), and in a third post we’ll explain how our work with FixMyStreet for Councils has led us to propose some improvements to the Open311 standard.

    Find out more about FixMyStreet for Councils

    Photo by Rupert Ganzer (CC)