# Secular Solstice 2020

Last night, about 225 people gathered for songs and stories. In the spirit of putting in a ridiculous amount of effort to keep doing normal things in abnormal times, a group of friends built a platform where we could listen together, and sing together, as we do every year. This was the biggest gathering [Bucket Brigade](https://www.jefftk.com/p/bucket-brigade-singing) has handled, and with the vaccines being distributed now it may be the largest it ever handles.

If you missed it, Rachel made a recording of most of the service:

  
([youtube](https://youtu.be/qjVy-NY3OWI))

And here are the recordings Bucket Brigade made:

*   [Bitter Wind Blown](https://www.jefftk.com/solstice-2020/01-bitter-wind-blown--2020-12-20-011646.mp3)
*   [Chasing Patterns In The Sky](https://www.jefftk.com/solstice-2020/02-chasing-patterns--2020-12-20-012018.mp3)
*   [Hard Times Come Again No More](https://www.jefftk.com/solstice-2020/03-hard-times--2020-12-20-013229.mp3)
*   [Sounds of Silence](https://www.jefftk.com/solstice-2020/04-sounds-of-silence--2020-12-20-013833.mp3)
*   [Whose Woods Are These, Blowin' in the Wind](https://www.jefftk.com/solstice-2020/05-whose-woods--blowin-in-the-wind--2020-12-20-014819.mp3)
*   [Bold Orion](https://www.jefftk.com/solstice-2020/06-bold-orion--2020-12-20-010858.mp3)
*   [Hymn to Breaking Strain, Bitter Wind Blown](https://www.jefftk.com/solstice-2020/07-breaking-strain---bitter-wind--2020-12-20-020459.mp3)
*   [Five Hundred Million, Brighter Than Today](https://www.jefftk.com/solstice-2020/08-five-hundred-million--brighter-than-today--2020-12-20-022605.mp3)
*   [Here Comes the Sun](https://www.jefftk.com/solstice-2020/09-here-comes-the-sun--2020-12-20-023614.mp3)
*   [Beautiful Tomorrow](https://www.jefftk.com/solstice-2020/10-beautiful-tomorrow--2020-12-20-024637.mp3)
*   [Uplift](https://www.jefftk.com/solstice-2020/11-uplift--2020-12-20-025555.mp3)
*   [Five Million Years](https://www.jefftk.com/solstice-2020/12-five-million-years--2020-12-20-030105.mp3)

Since the majority of people were in the final bucket for each song, these recordings have many more voices than you would have been able to hear live. They don't include anyone who failed calibration, clicked "don't let anyone hear me", or muted themself.

Each song was a pre-recorded backing video, with the audience singing along live ([example backing video](https://youtu.be/OHJmYyp6f4s)).

While Glenn and I had been working on Bucket Brigade since [early July](https://github.com/gwillen/solstice-audio-test/commit/95f927d209e76f229f3a993a8cab1866baa75903), we only got to something that could plausibly have handled this crowd in [mid-November](https://www.jefftk.com/p/sharding-the-brigade). Even then, we had a disastrous first live stress test where the server fell over at ~38 people because of differences between are simulated testing and real users. We made our automated stress testing more realistic, but last night Bucket Brigade was handling 10 times more real users than it had before.

I ran sound during the event, adjusting all of the different volumes. (I want to give a special thanks to Elizabeth: over the past month she has been my [hands](https://www.facebook.com/jefftk/posts/10100194347383122) when working on bucket brigade, and the mixing console would not have been possible without her.) What took most of my time was listening to people who had chosen to sing early in the brigade and making sure they were singing accurately enough that they weren't going to confuse the people who came later. In a normal group people are able to listen to each other and self correct, but in a chain like this the first few users need to be right together or else everyone later will not know who to match.

Looking at the logs from the event, we can see that during the songs we had a little over 200 people connected the Bucket Brigade at once:

[![](https://www.jefftk.com/solstice-2020-number-of-singers.png)](https://www.jefftk.com/solstice-2020-number-of-singers-big.png)

The biggest thing that I was worried about was users having choppy audio. If the network can't keep up with audio at the rate we are sending it, if the computer is not fast enough to handle encoding/decoding opus audio in JS, or if almost anything else goes wrong, the user will miss a chunk of audio. I analyzed the logs to figure out how often this happened, and while it was happening to some people, most users in most songs did not have any issues:

[![](https://www.jefftk.com/solstice-2020-success-by-user.png)](https://www.jefftk.com/solstice-2020-success-by-user-big.png)

Two major limitations of this data are that it will not include users who weren't able to get it to work ever, perhaps because they have did not have a supported browser or device, and that users who were having a bad time were probably more likely to give up. I would like to figure out more about why it worked and didn't work for people, and whether there is anything we can do about it.

If you would like to try using Bucket Brigade for singing over the internet, the code is [open source](https://github.com/gwillen/solstice-audio-test) and there is a publicly available [instance](https://echo.jefftk.com/) anyone can use. The stand-alone UI is not anywhere near as nice as what Daniel and Taymon built for Solstice, but that's something I'd like to fix over the next few weeks now that I've seen how nice it can be.

*Comment via: [facebook](https://www.facebook.com/jefftk/posts/10100198090711462)*