A commission from the Welsh Government has resulted in new functionality for Mapumental, which now has the capability to display multiple points and to produce RAW data compatible with GIS applications. Here’s how it happened.
How accessible is your nearest school, post office, or GP’s surgery? In Wales, that’s not always a simple question: the country’s mountainous landscapes, rural populations, and sometimes infrequent bus services can mean that those without cars are rather cut off from public service provision.
But of course, like any other authority, the Welsh Government has an obligation to quantify just how accessible their services are.
For many years, they have done so using a number of different methods. Some of these involve literally millions of point to point calculations – so, naturally, when Bill Oates, Head of Geography & Technology, Knowledge Services at the Welsh Government, approached Mapumental, he was keen to discover whether we could simplify things.
We were keen to try it, too – plotting multiple points would add a whole new slew of possibilities to Mapumental. Previously, Mapumental has been all about travel from a single point, and this functionality would bring new applications across all kinds of industries and users.
There’s only one way to find out
The sensible way forward was to pick a single service and see what we could do. One of the government’s open data sets showed positioning of all the secondary schools in the country, and would give us a very good indication of how manageable the task would be across all other provisions.
So we set ourselves this aim: to display the shortest transit time to get to any secondary school in Wales, from any point in that country.
This project was not like the map we made for the Fire Protection Association last year, with its postcode input and interactive sliders. It bore more relation to our static maps, but with the additional dimension that the single map would have multiple points plotted on it. Each point would display its own associated journey times, and where travel to one school was quicker than to another, it would have to override the data of the school that was further away.
And here’s the (very pretty) result
Transit times by public transport to secondary schools in Wales, with an arrival time of 9:00am.
Time bands are in 15-minute increments, with red areas being those where schools are accessible within a 15-minute journey (the centres of the red dots therefore also represent the positions of the schools).
Purple areas are those where journey time is between 1.75 and 2 hours, and the colours in between run in the order you see bottom right of the map. White areas (much of which are mountainous and sparsely-populated) are outside the two-hour transit time.
But there’s more – data for GIS
Plotting all the schools on a single map required quite a bit of modification to Mapumental, but there was another important part of the project that also had to be worked on, if the output was to meet all the needs of the Welsh Government.
They needed to be able to export the raw transit time data to their own GIS tools – the tools that they use to feed into official statistics. This allows the transit time data to be combined with other datasets, such as population density, for in-depth analysis.
We added a feature which allows Mapumental to produce what is known as a ‘raster grid’ output – basically, an enormous matrix that gives every pixel on the map a travel time value. To do this, we used the open source GRASS format.
Bill Oates is keen to see where this project can go:
“I’m really excited at the prospect of combining the power of Mapumental with our open data, and fully understanding how accessible Welsh public services are by public transport.”
To him, the benefits are clear:
“Mapumental’s approach is significantly quicker than our current methods, so this work will help save us time as well as providing a more engaging output.
“We hope that future work with mySociety will give us a sustainable approach to calculating the accessibility of local shops, hospitals, post offices and other services on an ongoing basis to help ensure that we’re meeting the needs of our citizens.”
We’re looking to build on our success, and offer this service to others – initially on request but via our API as soon as we can. We’ll keep you posted as to our progress.
You can see multiple-point mapping in action, on our Mapumental Property project – now the tool allows house-hunters to take more than one person’s commute into consideration when choosing where to live.
Who might use Mapumental?
Now that Mapumental can plot transit times from multiple points, and provide RAW data for GIS applications, we have great potential for use by anyone interested in travel and accessibility. That could be in central and local government strategy, town planning, architectural consultancy, transport provision, large enterprises looking to save on parking, or start-ups in the green transport space…to name but a few.
Could Mapumental help you with your mapping needs? If so, please do drop us a line at email@example.com.
Photo of Welsh school bus (bws ysgol) by Aqwis (CC)
Come and say hello
We’re out and about at quite a few local government conferences over the next few months. Come and find us! We’d love to hear what questions you have about mySociety’s digital services.
At all the events below, Mike will be speaking, and both Mike and Myf will be available at our table if you’d like to chat.
Channel Shift in the Public Sector London, September 26th
Digital Public Services Wales Cardiff, October 18th
Channel Shift in Scottish Public Services Edinburgh, October 31st
Channel Shift in the Public Sector Manchester, December 5th
Want to meet for drinks?
We’ll also be around for informal localgov digital chat and drinks, the night before the Cardiff, Edinburgh and Manchester events. Drop us a line if you’d be interested in joining us.
Photo of Cardiff by John Greenaway (CC)
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.
Image by Ardonik (CC)
Simple things are the most easily overlooked. Two examples: a magician taking a wand out of his pocket (see? so simple that maybe you’ve never thought about why it wasn’t on the table at the start), or the home page on www.fixmystreet.com.
The first thing FixMyStreet asks for is a location. That’s so simple most people don’t think about it; but it doesn’t need to be that way. In fact, a lot of services like this would begin with a login form (“who are you?”) or a problem form (“what’s the problem you want to report?”). Well, we do it this way because we’ve learned from years of experience, experiment and, yes, mistakes.
We start off by giving you, the user, an easy problem (“where are you?”) that doesn’t offer any barrier to entry. Obviously, we’re very generous as to how you can describe that location (although that’s a different topic for another blog post). The point is we’re not asking for accuracy, since as soon as we have the location we will show you a map, on which you can almost literally pinpoint the position of your problem (for example, a pothole). Pretty much everyone can get through that first stage — and this is important if we want people to use the service.
How important? Well, we know that when building a site like FixMyStreet, it’s easy to forget that nobody in the world really needs to report a pothole. They want to, certainly, but they don’t need to. If we make it hard for them, if we make it annoying, or difficult, or intrusive, then they’ll simply give up. Not only does that pothole not get reported, but those users probably won’t bother to try to use FixMyStreet ever again.
So, before you know it, by keeping it simple at the start, we’ve got your journey under way — you’re “in”, the site’s already helping you. It’s showing you a map (a pretty map, actually) of where your problem is. Of course we’ve made it as easy as possible for you to use that map. You see other problems, already reported so maybe you’ll notice that your pothole is already there and we won’t have wasted any of your time making you tell us about it. Meanwhile, behind the scenes, we now know which jurisdictions are responsible for the specific area, so the drop-down menu of categories you’re about to be invited to pick from will already be relevant for the council departments (for example) that your report will be going to.
And note that we still haven’t asked you who you are. We do need to know — we send your name and contact details to the council as part of your report — but you didn’t come to FixMyStreet to tell us who you are, you came first and foremost to report the problem. So we focus on the reporting, and when that is all done then, finally, we can do the identity checks.
Of course there’s a lot more to it than this, and it’s not just civic sites like ours that use such techniques (most modern e-commerce sites have realised the value of making it very easy to take your order before any other processing; many governmental websites have not). But we wanted to show you that if you want to build sites that people use, you should be as clever as a magician, and the secret to that is often keeping it simple — deceptively simple — on the outside.
This post was written by mySociety developer Dave Whiteland, and first published on our DIY mySociety blog.
We were recently invited to the LGA annual conference to exhibit FixMyStreet for Councils in Nesta’s Innovation Zone along with a lot of interesting social enterprises.
At one memorable point, we each had the opportunity to pitch to the surrounding crowds. Having to drum up interest from people passing through made me feel somewhat like a travelling salesman, but I channelled my semi-theatrical background and that seemed to do the trick.
As one councillor said to me incredulously: “Why doesn’t every council use this?” If you’d like to see what inspired such a comment, here’s my presentation (click through and scroll to the bottom of the page if you’d like to see the accompanying notes, too).
We’ll be putting all our presentations, of every kind, on our Slideshare account from now on, so do subscribe if that’s of interest. Just click the orange ‘follow’ button on that page.
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)
Need FixMyStreet for your own council? Find out more here.
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.
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.
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.
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.
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”.
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)
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.
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.
- 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.
Over the last 6 months or so, mySociety has been doing increasing amounts of work with local councils, not only helping them with problem reporting and online petitions, but also advising them on the impact of digital by default and how changing customer expectations are affecting digital service provision. To paraphrase Tom, for an ever-increasing number of customers, “local councils don’t have websites, local councils are websites”.
More specifically, we’ve been helping councils use user-centred techniques to kick-start the process of digital transformation: taking existing services that cause unnecessary frustration, figuring out how they should work for the customer in an ideal world, identifying the process changes needed, and helping make them happen.
How do you know where to start?
Most consultancies in this area will publicise their patented 5-step approach, or shower you in platitudes about talking to users and involving service managers, but I thought it would be more useful to walk through in detail what we actually do on a project like this. In this post, I’m going to describe only the first step (I’ll talk about others in future posts): given all the stuff that councils do, how do you know where to start?
Clearly, not every council service is susceptible to digital transformation. If you work in children’s services or benefits advice, your service is more likely to rely on cups of tea and conversation than on your website. But there are high volume transactions that involve exchanges of information or of money that do not, or rather *should not*, require any human intervention. Unfortunately, because of mistakes in how websites are structured and processes organised (that often go right back to decisions about management structure and procurement priorities), unnecessary demand is placed on contact centres.
What are your users trying to do?
So if you want to know what mistakes you’re making with your online presence, the first place you should look is the volume of calls to your contact centres and what questions the callers are asking. Here’s a complete list of all the places you can look for useful data on what your customers are actually trying to do and what you might be doing wrong:
- Contact centre logs: the records of what people who call you are actually asking about. This is the best place to look to identify the areas where your web presence is under-performing.
- Internal site search terms: the things people type in most often in the search box on your website. Generally speaking, use of search on a website is an indicator that your navigation and page structure have failed. Therefore the search terms people use on your site are another very interesting indicator of things you’re not doing well enough.
- Referring search terms: the most frequently used search terms that drive traffic to your website. What are people looking for and what words have they actually put in to Google (or indeed any other search engine) for to arrive at your website?
- Popular pages: data on the most frequently visited pages and sections of your website doesn’t tell you what you should improve or how, but it does give you a feel for where the demand is.
If you look at all of those things, you’ll have a lot of data to go through and make sense of. If you’re short on time, focus on the first one – it’s the juiciest source of insights.
Talking to service managers
Another approach we pursue in parallel to this one is to talk to a group of service managers and ask them for their opinions: if the decision on where we should focus our redesign efforts was up to them, what single thing should we start with that would make the biggest difference? How this actually happens in practice is that we get a group of people in a room together and ask them to write down (almost certainly on post-it notes) the top 3 – 5 services that they think are in need of a digital redesign. We then discuss and consolidate all of these before grouping them, trying to identify those that are the most susceptible to automation and where the complexity of the change needed internally is low enough to be approachable.
The final part of figuring out where to start is to make a decision: which of these areas are you going to start redesigning first? You now have two sources of data on where to start: the results of your analysis of customer behaviour and the views of your employees who are closest to the action. Here we’ll make a recommendation, but leave the final decision to our council client: they know their organisation a lot better than we do.
With a focal point for the transformation efforts decided on, so begins the daunting-yet-exciting task of researching and designing the changes to be made: the bit where you actually talk to users, make prototypes or mockups of what the service’s digital touchpoints should look like (no specification documents here please) and then figure out together what process changes need to be made for it all to work in practice. Which, of course, are the topics for future blog posts.
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:
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.
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:
- You create the report on FixMyStreet.
- FixMyStreet sends that report to the right department at the right council.
- That body puts it into its own back-end system.
- 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
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?
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.