1. Seeing spots with FixMyStreet Pro

    If you visit FixMyStreet and suddenly start seeing spots, don’t rush to your optician: it’s just another feature to help you, and the council, when you make a report.

    In our last two blog posts we announced Buckinghamshire and Bath & NE Somerset councils’ adoption of FixMyStreet Pro, and looked at how this integrated with existing council software. It’s the latter which has brought on this sudden rash.

    At the moment, you’ll only see such dots in areas where the council has adopted FixMyStreet Pro, and gone for the ‘asset locations’ option: take a look at the Bath & NE Somerset installation to see them in action.

    What is an asset?

    mySociety developer Struan explains all.

    Councils refer to ‘assets’; in layman’s language these are things like roads, streetlights, grit bins, dog poo bins and trees. These assets are normally stored in an asset management system that tracks problems, and once hooked up, FixMyStreet Pro can deposit users’ reports directly into that system.

    Most asset management systems will have an entry for each asset and probably some location data for them too. This means that we can plot them on a map, and we can also include details about the asset.

    When you make a report, for example a broken streetlight, you’ll be able to quickly and easily specify that precise light on the map, making things a faster for you. And there’s no need for the average citizen to ever know this, but we can then include the council’s internal ID for the streetlight in the report, which then also speeds things up for the council.

    Map layers

    So, how do we get these assets on to the map? Here’s the technical part:

    The council will either have a map server with a set of asset layers on it that we can use, or they’ll provide us with files containing details of the assets and we’ll host them on our own map server.

    The map server then lets you ask for all the streetlights in an area and sends back some XML with a location for each streetlight and any associated data, such as the lamppost number. Each collection of objects is called a layer, mostly because that’s how mapping software uses them. It has a layer for the map and then adds any other features on top of this in layers.

    Will these dots clutter up the map for users who are trying to make a report about something else?

    Not at all.

    With a bit of configuration in FixMyStreet, we associate report categories with asset layers so we only show the assets on the map when the relevant category is selected.

    We can also snap problem reports to any nearby asset which is handy for things like street lights as it doesn’t make sense to send a report about a broken street light with no associated light.

    Watch this space

    And what’s coming up?

    We’re working to add data from roadworks.org, so that when a user clicks on a road we’ll be able to tell them if roadworks are happening in the near future, which might have a bearing on whether they want to report the problem — for example there’s no point in reporting a pothole if the whole road is due to be resurfaced the next week.

    Then we’ll also be looking at roads overseen by TfL. The issue with these is that while they are always within a council area, the council doesn’t have the responsibility of maintaining them, so we want to change where the report is going rather than just adding in more data. There’s also the added complication of things like “what if the issue is being reported on a council-maintained bridge that goes over a TFL road”.

    There’s always something to keep the FixMyStreet developers busy… we’ll make sure we keep you updated as these new innovations are added.

    From a council and interested in knowing more? Visit the FixMyStreet Pro website

  2. Now you’re even more secure on FixMyStreet

    All mySociety websites have strong security: when you think about some of the data we’re entrusted with (people’s private correspondence with their MPs, through WriteToThem, is perhaps the most extreme example, but many of our websites also rely on us storing your email address and other personal information) then you’ll easily understand why robust privacy and security measures are built into all our systems from the very beginning.

    We’ve recently upped these even more for FixMyStreet. Like everyone else, we’ve been checking our systems and policies ahead of the implementation of the new General Data Protection Regulation in May, and this helped us see a few areas where we could tighten things up.

    Privacy

    A common request from our users is that we remove their name from a report they made on FixMyStreet: either they didn’t realise that it would be published on the site, or they’ve changed their mind about it. Note that when you submit your report, there’s a box which you can uncheck if you would like your report to be anonymous:

    FixMyStreet remembers your preference and applies it the next time you make a report.

    In any case, now users can anonymise their own reports, either singly or all at once. When you’re logged in, just go to any of your reports and click ‘hide my name’. You’ll see both options:

    report of puddles on the undercliff walk on FixMyStreet

    Security

    Security for users was already very good, but with the following improvements it can be considered excellent!

    • All passwords are now checked against a list of the 577,000 most common choices, and any that appear in this list are not allowed.
    • Passwords must now also be of a minimum length.
    • If you change your password, you have to input the previous one in order to authorise the change. Those who haven’t previously used a password (since it is possible to make a report without creating an account), will receive a confirmation email to ensure the request has come from the email address given.
    • FixMyStreet passwords are hashed with an algorithm called bcrypt, which has a built in ‘work factor’ that can be increased as computers get faster. We’ve bumped this up.
    • Admins can now log a user out of all their sessions. This could be useful for example in the case of a user who has logged in via a public computer and is concerned that others may be able to access their account; or for staff admin who share devices.


    Image: Timothy Muza (Unsplash)

     

     

     

     

  3. Peak performance

    At mySociety we believe in an open, inclusive web and such we try to build web apps that are accessible in the broadest sense. So while we do care deeply about things like WAI and the Equality Act this post isn’t about that — this is about making a site that works if you have a weak connection or an ageing device. I’m talking about performance.

    Graph showing total transfer data for mobile webpages in last year.Now while it isn’t a great metric to track, the fact that the average size of a web page is now over three megabytes (and pages served for mobile devices reaching an average of 2.9mb!) demonstrates that this is an age of bloat that assumes good broadband or 4G connectivity and we don’t think that’s right.

    As an example here are some numbers about the FixMyStreet site as it displays on mobile after some recent improvements.

    To load a working and styled front page on your phone takes around 9KB of HTML/inlined CSS/inlined images (that isn’t a typo – nine kilobytes). How do we pull that off? Well, the site logo and menu are both inlined so we don’t have to wait for them to load, as is the CSS needed to show the top part of the front page. 5KB of JavaScript is loaded (which amongst other things enables the geolocation) and in the background an additional massive 14 kilobytes of CSS (the main mobile stylesheet) and the remaining 20 kilobytes of images (the example report photos and footer links) are being pulled in. The page also uses prefetch to start fetching the remaining JavaScript while the user is entering a postcode or address to actually get started on FMS.

    On a desktop there’s a little bit more to add to the mix (more like 66KB of images, 19KB of CSS, plus a webfont taking 77KB) but it’s still lightning quick.

    The team haven’t reinvented the wheel to achieve this – they’ve just been ruthless and absolutely focused on only using the minimum amount of code to meet the user need. When the FixMyStreet site is deployed, the JavaScript and CSS is automatically minimised, and at that point we run penthouse to work out the critical CSS to be inlined on the front page. And whilst our main JavaScript does use jQuery, we dropped it from the front page to save yet more up-front time (jQuery is far larger alone than our current front page).

    If you are interested in more details of how this was achieved, here’s a post Matthew prepared earlier on many of the same techniques, which he used on his own project traintimes.org.uk.

    There are of course still improvements to be made – I imagine many front page viewers of FixMyStreet never need or want to scroll down as far as the images in the footer, so ideally we wouldn’t load them unless they do. Due to Windows Lumia users, which we support for a specific client use case, we’re using Appcache for offline support, but adding some form of more modern service worker would also be nice. And most of this work is for the front page (though it helped other pages too); our main JavaScript could be split up more than it is. It’s a continual process, but here is a good place to pause.

    Photo by Braden Collum on Unsplash

  4. Join us for a FixMyStreet Pro Webinar

    After several months of consultation with councils, feature development and testing, a new improved version of FixMyStreet for Councils was born. Now renamed FixMyStreet Pro, the service’s enhanced backend features — designed with and for council staff — and seamless integration with existing systems represent a genuine leap forward in street reporting software. Now we’re ready to share everything it can do for you.

    From this Friday we will be hosting fortnightly webinars to demo our FixMyStreet Pro service. If you work in street or environment services within a Local Authority or City Government we’d love you to join us.

    The sessions take around 45 minutes with plenty of time for questions and discussion – you can sign up for the next one on the FixMyStreet Pro site or use the Eventbrite form at bottom of this post.

     

    What we’ll cover

    We’ll show you how you can use FixMyStreet Pro as a single end-to-end case management service for citizens, council staff and contractors alike.

    We will take you through all of the major features, and explain how FixMyStreet Pro can help you provide a better reporting service to your citizens for street and environment issues, whilst reducing the burden on your customer service teams – avoiding any rekeying and connecting directly into your current management services.

    You’ll learn how to setup and customise FixMyStreet Pro to support your existing workflow, how to manage, moderate and respond quickly and easily to reports. We’ll also take you through the more advanced features for making use of asset layers and inspector tools.

    If you can’t wait until Friday, you can try a demo version of the service for yourself at demo.fixmystreet.com – just click on ‘Sign in’ and you can try the service in a variety of roles such as a customer service rep, a highways inspector, or a site administrator.

    If you can’t join us on a Friday please get in touch with me directly and we can arrange a one-on-one demo for you and your team.

     

    Sign up for the next FixMyStreet Pro webinar

  5. Protecting Assets of Community Value

    A couple of years ago we started discussing a collaboration with the Plunkett Foundation to create a searchable and maintainable public register of Assets of Community Value in England.

    After a few delays I’m glad to say that this project, thanks to the generous support of Power To Change, is now taking place and we’re already well under way with initial prototyping and development work.

    Now, what’s an Asset of Community Value I hear you ask? According to Locality, who are pretty good source of information on these sort of things, Assets of Community Value (ACVs) are places and spaces in your community that are important to local people and if they come up for sale, the community has the opportunity to bid for them.

    ACVs can be anything from your local pub, to a sports pitch or community hall, churches or even the local cinema. Whatever is of most importance to you and your community; and especially what you might want to protect should it change hands or come up for sale.

    The Localism Act 2011 requires district and unitary councils to publish a list of nominated, approved and rejected community assets, which can be viewed by the public.

    The vast majority of councils publish this information online, but formats and levels of information vary widely, from very basic information to more comprehensive details and support. As a result knowledge and awareness of the community right to bid is very low and take up is equally patchy, so with this project we’d like to help change that.

    Building off the back of our FixMyStreet Platform we’re creating a single register that will gather together all of the currently listed ACVs — including those that were rejected or are currently going through the process of nomination. Just as FixMyStreet publishes its reports, these assets will be displayed on the map for anyone to view, share and discuss.

    With the help of the DCLG we’ll work with local councils and provide them with support to list and manage ACVs in their area, as well as embed their own listings on their website. The service will provide help and guidance for organisations that are eligible to nominate an asset for consideration and we’ll standardise this submission process.

    As the service develops, local community members will also be able to highlight assets they believe should be put forward for consideration, as well as add additional detail such as pictures and notes to registered ACVs on the site.

    What we need help with

    At this stage we’re looking for more collaborators who are already active in this space to come forward and get involved. We’re already in touch with CAMRA, Sport England, the Woodland Trust, and the Land Registry, but if you would like to offer some help or support please do get in touch.

    We’re particularly keen to connect with Local Councils who are already actively making use of ACVs, so if you’re an officer responsible for managing the ACV process for your council we’d love to hear from you.

    We know from Locality that there were at least 5,000 registered ACVs this time last year, but that list was already a little out of date and there will be more to add. Keeping everything up to date from the usual mix of web pages, spreadsheets and PDFs is going to make things challenging as well.

    This is a particularly interesting extension of the FixMyStreet Platform and it’s a useful way for us to explore how to best extend the citizen engagement features of FixMyStreet beyond issue reporting and into celebrating what makes each local community unique and valuable.

    Image: Garry Knight (CC BY 2.0)

     

  6. Product of my environment

    So as announced elsewhere on the mySociety blog I am going to have a bit of a different role from now on. It has happened pretty quickly – following a conversation with Mark our Chief Exec during a (not very) West Wing-esque walk and talk through St James Park where I suggested that I might have some capacity to do more and maybe I wasn’t really doing enough of the things that got me hired.

    A couple of things have been brewing that meant this was a timely discussion. The ‘Democratic Commons’ work is something that immediately struck a chord with me – we talk about it as being;

    “A concept of shared code, data and resources where anyone can contribute, and anyone can benefit — we can help build and strengthen core infrastructure, tools and data that allow other democracy organisations and campaigners to hold their own governments to account.”

    More than that though it is basically the democratic data infrastructure that Governments should provide but so often don’t and making it as widely and openly available as possible. Practically that has meant us building a relationship with Wikidata to have a truly international, sustainable and trusted platform for the data and also nurture commercial relationships with internet giants like Facebook to provide both huge reach for the data but also a funding stream that underpins the work for the commons.

    There is a careful balance to be struck for sure but the work is too important not to try.

    Also there is some work emerging from our Better Cities practice and discussions with partner organisations that is looking at broadening the reach of our services, and of civic tech tools in general, that I am really passionate about making happen. It is all quite early but you can expect some blogposts about this as well in the near future – thinking in the open – it is what we do!

    These are both exciting opportunities and exactly the sort of thing I joined mySociety to work on and so I was keen to find a way to really contribute to both.

    This post from a couple of years ago by Matt Walton at Futurelearn has been a bit of a touchstone for me about how I approach my work since I stumbled upon it. Mainly as it is always reassuring to read something by someone else that articulates much of what you are already doing but also the clarity of that articulation also highlights where the gaps are in your own approach.

    So (other) Matt identifies six priorities for a Head of Product;

    – Storytelling and inspiring
    – Providing purpose and direction
    – Exploring and reporting
    – Listening and explaining
    – Supporting and empowering
    – Coordinating and collaborating

    To one extent or another these six pretty much reflect what Mark has asked me to do (which is helpful!).

    Storytelling and inspiring
    Inspiring sounds a bit too ‘Californian’ but there is no doubt that ‘storytelling’ is a big part of the reason I got this job. Because…let us be honest…I have a reputation as a publicity hound 🙂 I have a  profile built by blogging, speaking, tweeting, arranging meet-ups and my commitment to working in the open that provides a platform to get our messages heard but I haven’t been doing enough of that. I need to do better and I think the ‘Democratic Commons’ and also the emerging ‘local’ work provide some really interesting opportunities to get out there and stir up some interest.

    Providing purpose and direction
    I don’t actually think these kind of roles ‘provide’ purpose or direction – but there is a responsibility to make sure that people understand both and are making decisions aligned with them. mySociety are a small, nimble organisation – not some huge public institution but ensuring that everyone is working towards a common goal, which they understand and support is important for any successful team. This isn’t about being heavy handed and again really comes down to communication – the more internally focused side of things.

    Exploring and reporting
    In our context this is a bit different to what (other) Matt initially had in mind I think but it works anyway. There is part of this role that is concerned with being on the lookout for opportunities – whether they be partnerships, grants, commercial leads or new challenges in our space and making sure the right people are made aware and the right actions are taken.

    Listening and explaining
    Part of this is just about being an empathic member of the team, making sure every voice is heard and that everyone understands why decisions have been taken and what the goals are. This is something that is easier in co-located teams – when you are sitting with everyone you can pick up on moods and frustrations much faster than via Slack or even Hangouts and you can preempt many situations. Working remotely provides a challenge for this sort of thing but it is an interesting one.

    There is another part of this though – listening to our users. Doing more user research and really using our analytics to make product decisions. I’m keen to make this sort of thinking much more of an integral part of any new initiative from the start.

    Supporting and empowering
    This is very much related to the first point above. It is about making sure team members are empowered (and provided sufficient cover) to make decisions to get things done without the need to second guess themselves. This is pretty second nature here at mySociety – having a small team of so many talented people makes it an obvious way to work. Still everyone needs reassurance sometimes!

    Coordinating and collaborating
    For us this isn’t about trying to coordinate across multiple product teams – we aren’t Spotify – but there is clearly a job to be done to coordinate our collaborations with partners, funders and clients on all manner of projects. Providing them with a clarity as to what we are providing for them but also what we need from them.

    So that’s the sort of things I’m thinking about…what this looks like in more detail will emerge in the days and weeks to come I’m sure. You can expect to get royally fed up with my blogposts and hopefully get bored of me talking about our work at meet-ups and conferences (organisers if anything sounds interesting for your event give me a shout!).

     

    Image: Suyash Dwivedi (BY-SA)

  7. Camping out

    LocalGovCamp will soon be upon us, so we thought we’d share a few thoughts about why this event, and similar unconferences, are important — and why we at mySociety wanted to support this one.

    This immediately throws up a couple of questions for the uninitiated.

    What is an unconference?

    There are quite a few definitions of ‘unconferences’ out there but all that really matters is that it’s an event where the participants design the agenda on the day, the sessions are informal (eg slidedecks are discouraged) and the law of two feet is encouraged.

    This video – itself from an early LocalGovCamp – does a good job of getting the concept across:

    What is LocalGovCamp?

    Well, LocalGovCamp is the largest and longest running ‘unconference’ for people who work in or are interested in local government. It has been an annual event since 2009 with attendees giving up their Saturdays to travel to various locations across the UK to contribute to the day, listen and learn.

    What is special about unconferences?

    There is a certain magic that occurs at these events when you bring a group of like-minded souls together, in their own time, without the constraints of a prearranged agenda that really fosters a community spirit that has a lasting effect. Useful as the sessions are, it is often the opportunity to find your tribe, to share war stories and to just speak to people who understand what you are working on that is what you come away remembering. A certain amount of unconference as group therapy is certainly not unusual.

    The thing is these connections, these networks that spawn from such events can have real power. They can be impressive catalysts for change and the days when the attendee lists were junior staff lamenting the lack of decision-makers in the room are gone – at a recent central government GovCamp two Permanent Secretaries attended and at this upcoming LocalGovCamp the newly announced first Chief Digital Officer for London will be there, amongst other senior leaders.

    Local government is obviously something that mySociety is passionate about – our FixMyStreet service in particular is entirely embedded in that domain – and we were keen to help sponsor the event this year… and not just because getting a ticket to attend is like gold dust! We’re really looking forward to meeting and chatting to friends old and new, finding out what are the big challenges (and opportunities) facing teams in local government at the moment and hopefully contributing to a few sessions.

    We’ll also be at Govcamp Cymru in Cardiff and OpenDataCamp in Belfast during October so if you are going to be at any of these events please say hi. We have high-quality stickers for your laptop 🙂

     

    Header image: Glen Wood (CC BY-NC-ND 2.0)

  8. Training an AI to generate FixMyStreet reports

    Artificial intelligence and machine learning seem to be everywhere at the moment – every day there’s a new story about the latest smart assistant, self-driving car or the impending take over of the world by robots. With FixMyStreet having recently reached one million reports, I started wondering what kind of fun things could be done with that dataset.

    Inspired by a recent post that generated UK place names using a neural network, I thought I’d dip my toes in the deep learning sea and apply the same technique to FixMyStreet reports. Predictably enough the results are a bit weird.

    I took the titles from all the public reports on fixmystreet.com as the training data, and left the training process to run overnight. The number crunching was pretty slow and the calculations had barely reached 5% in the morning. I suspect the training set was a bit too large, at over 1M entries, but end result still gives enough to work with.

    The training process produces checkpoints along the way, which you can use to see how the learning is progressing. After 1000 iterations the model was starting to be aware that it should use words, but didn’t really know how to spell them:

    Mertricolbes
    Ice does thrown campryings
    Sunky riking proper, badger verwappefing cars off uping is!
    Finst Knmp
    Lyghimes Jn fence
    Moadle bridge is one descemjop
    

    After 15000 iterations it’s starting to get the hang of real words, though still struggling to form coherent sentences.

    Untaxed cacistance.
    Broken Surface in ARRUIGARDUR. Widdy movering
    Cracked already nail some house height avenue.
    Light not worky
    I large pot hole
    Dumped shood road nod at street.
    Grim
    Dog man
    Ongorently obstructing sofas. This birgs.
    Serious Dirches
    

    After 68000 iterations there seems to be enough confusion in the training data that things start to go south again with the default parameters:

    Urgely councille at jnc swept arobley men.
    They whention to public bend to street? For traffic light not working
    

    Tweaking the ‘temperature’ of the sampling process produces increasingly sensible results:

    Large crumbling on pavement
    Potholes all overgrown for deep pothole
    Very van causing the road
    Very deep potholes on pavement
    Weeds on the pavement
    Several potholes in the road
    Rubbish Dumped on the road markings
    Potholes on three away surface blocking my peride garden of the pavement
    Potholes and rubbish bags on pavement
    Poor road sign damaged
    Poor street lights not working
    Dog mess in can on road bollard on pavement
    A large potholes and street light post in middle of road
    

    As well as plenty of variations on the most popular titles:

    Pot hole
    Pot hole on pavement
    Pot holes and pavement around
    Pot holes needings to path
    Pothole
    Pothole dark
    Pothole in road
    Pothole/Damaged to to weeks
    Potholes
    Potholes all overgrown for deep pothole
    Potholes in Cavation Close
    Potholes in lamp post Out
    Potholes in right stop lines sign
    Potholes on Knothendabout
    Street Light
    Street Lighting
    Street light
    Street light fence the entranch to Parver close
    Street light not working
    Street light not working develter
    Street light out opposite 82/00 Tood
    Street lights
    Street lights not working in manham wall post
    Street lights on path
    Street lights out
    

    It also seems to do quite well at making up road names that don’t exist in any of the original reports (or in reality):

    Street Light Out - 605 Ridington Road
    Signs left on qualing Road, Leave SE2234
    4 Phiphest Park Road Hasnyleys Rd
    Apton flytipping on Willour Lane
    The road U6!
    

    Here are a few of my favourites for their sheer absurdity:

    Huge pothole signs
    Lack of rubbish
    Wheelie car
    Keep Potholes
    Mattress left on cars
    Ant flat in the middle of road
    Flytipping goon!
    Pothole on the trees
    Abandoned rubbish in lane approaching badger toward Way ockgatton trees
    Overgrown bush Is broken - life of the road.
    Poo car
    Road missing
    Missing dog fouling - under traffic lights
    

    Aside from perhaps generating realistic-looking reports for demo/development sites I don’t know if this has any practical application for FixMyStreet, but it was fun to see what kind of thing is possible with not much work.


    Help us innovate in Civic Technology
    Donate now


    Image: Scott Lynch (CC by/2.0)

  9. Find FixMyStreet Pro on GCloud 9

    We are happy to confirm that FixMyStreet Professional (the service formerly known as FixMyStreet for Councils) has been accepted onto the GCloud9 procurement framework.

    Why is this important?

    Using GCloud9, which is overseen by the Crown Commercial Service, removes much of the admin burden from public sector teams who are seeking to procure cloud based software and makes it easier to get down to the question of who has the best product for their needs.

    What is FixMyStreet Pro?

    FixMyStreet Pro represents the outcome of our co-design project with Oxfordshire County Council to take our popular FixMyStreet platform and build in a new set of features that genuinely made it as useful as possible for their staff (and Council staff all over the UK).

    With a focus on retaining the user focused design and approach FixMyStreet was known for we have added or improved functionality for Council customer service staff and introduced a whole new set of tools to support Council inspectors including the ability to manage their tasks from within the app and to work offline when out and about.

    This project has also made some improvements to the wider user experience for citizens with new front-end features being added all the time based on user research and feedback.

    Want to learn more?

    You can find out more about the service over on the GCloud Digital Marketplace or check out our own product pages where you can also get in touch with us if you would like to see a demonstration of the service or learn more about how we might be able to help.

  10. Which ward will you be in on May 4?

    It’s that time of year again. Local elections are on the 4th of May and we have updated our boundary change checker. It also helpfully lets you know if your ward is not having elections (not that your author was unaware of course.)

    On May 4th elections will be taking place across English, Welsh and Scottish councils as well as the the elections for the new ‘combined authority’ Mayors.

    Ward boundaries are changing

    You might think you already know where to vote, and who’s standing for election in your area.

    But both are dictated by which ward you live in — and that may not be the one you’re used to, thanks to ongoing changes in ward boundaries.

    There’s no need to worry, though. As before, we’ve got the data that will tell you whether your ward has changed. Just enter your postcode here.

    Once again the Democracy Club’s project Who Can I Vote For? will allow you to see whatever information is available for candidates in your ward.

    Image: Roger (CC by-sa/2.0)