Release notes: Citizen Space v4

A slightly unusual release announcement as this brings together not just one, but a number of updates, including the most recent release being rolled out this coming week.

The story behind this announcement and major version change is all about performance.

What's in this notice?

Over the course of the last year we've been working behind the scenes on a large infrastructure upgrade and this was rolled out overnight to all sites in January 2019. However, in the latter part of 2018 we also rolled out a number of other no-downtime mini-releases, and each of these contained further performance improvements. Now's our chance to show you the difference those changes have made.

This announcement also contains the few other tweaks we're bringing in this most recent milestone. Hold onto your hats!

Introducing Version 4

Making sure your sites perform well under pressure is really important to us.

We need your respondents to have a simple, seamless, and stress-free experience when they're using Citizen Space, no matter how many other people are responding at the same time.

We also need to make sure that when you're using Citizen Space to build and analyse consultations we're doing everything we can to make those processes as quick and painless as possible. Making changes which save you time is our favourite.

Those two stories are what we've been working on over the past year (as well as all our other obligations like keeping on top of an ever-changing security landscape, ensuring we comply with new data protection legislation, and much more.)

What follows are the results of the changes we have made:

Citizen Space is now twice as fast

What does this mean?

  1. Citizen Space can cope with at least twice as many requests at the same time (concurrency)
  2. Compared with 2018, it now takes about half (and often less than half) of the time to deliver on most requests

In short: it can do more at once, and it can do it quicker. Good.

The following charts show the average time in seconds each request took to deliver, so the shorter the bar, the less time it has taken. If you hover over the bars it'll tell you the mean response time for each type of request in 2018 (blue - first bar) and 2019 (orange - second bar).

Admin side

If we use the total number of these requests made over the course of 2018 across all sites (approximately 2 million requests) and forecast out how long those same requests would now take in 2019 after the most recent upgrades, it's a saving of almost 420 hours (or 56 full working days) in total across all organisations using Citizen Space, and that's a lot of time which can be spent elsewhere.

Public side

Citizen Space can now serve over twice as many requests per second i.e. it can deliver pages to double the number of respondents clicking on things at once.

In 2018 you collectively received over 1 million responses to consultations run on Citizen Space. That's a lot of public and stakeholder input into your work.

There is more information about the rationale and workings of all these performance updates in our accompanying blog post, which goes into much more detail about our thinking and the data behind it. We also plan to take a look at these stats again in the next few months as this current release should deliver further performance improvements, but we won't know the true difference these have made until this update has gone to all sites and we can analyse the real-world data.

What else is in this most recent release?

Export of all consultations now with added progress indicator

On some really large sites with lots of consultations, downloading the full list of consultations sometimes timed out or took a very long time. We've made this export behave like the download of consultation responses, so it should now always load and will give you a progress bar while it's generating. With the time improvements detailed above, this should mean getting hold of this export is much quicker and more reliable.

Radio buttons vs Checkboxes

We've updated matrix questions so that radio buttons are now the default option rather than checkboxes. We hope this will help to reduce the number of instances where checkboxes are used incorrectly in place of radio buttons or a dropdown list. The main rule is that you only need to use checkboxes when you want people to select more than one of your options. In most cases you'd need a radio buttons or dropdown list answer component instead.

And, as always, we've tidied up some code and fixed a few bugs along the way.