![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Arisia 2021 is now done. A bit of quick braindump of what I've spent the past four months focused on. Forgive me if this isn't very organized -- I'm very tired, but want to get it written down while it's front of mind, before I get distracted by other things.
In late August, I was approached to head the new "Remote" division for Arisia -- basically, be responsible for creating this year's virtual convention. (V-con, for short.) We spent a couple of weeks figuring out what that meant, but by early September I had accepted.
We decided that Remote would be responsible for the infrastructure side of things: we would build the website and set up the technology. The Tech division would do the on-the-ground running of individual sessions, and each division would do at least a variation of what they normally did.
In practice, I started thinking about it as creating a little software startup. I meant that as kind of a joke; I had no idea how true it would turn out to be. After spending most of my professional career working for "startups" (loosely defined), this turned out to be My Startup Experience in many ways, both good and bad.
Let's talk about the good first, starting with my staff.
I got staggeringly lucky, from very early on, in recruiting. It's a standard truism that a startup needs a "rockstar" team, and through sheer luck I wound up with one.
I'll first call out Raven for kudos. One of the things we did that was very, very different from most v-cons was to prioritize UX (User Experience) design. I advertised for a UX Designer, and Raven -- a very experienced one -- was the first person I hired. She made sure that we were thinking about the users first, and the technology second, and the result was a better experience than most.
Gail should also be highlighted. She came in fairly early as the frontend lead, complimenting my backend skills; later on, she took lead on the Discord side of the project, so I could focus on Zoom and the other integrations. In the last two months of the project, she wound up spending nearly as much time on Remote as I did, while simultaneously being the head of the Gaming division. (I suspect she was the single hardest-working member of the convention.)
Add to that, we had Em (a more junior but enormously disciplined and diligent UX Designer), Erika (as our UI Designer and Artist), Chris (Gail's right-hand on the frontend side, who did most of the work to take the UX/UI designs and turn them into code), and Deborah (who dealt with most of the thankless IT jobs so that we actually had things like a server and a database). Oh, and Gail's Mom, who I still haven't actually met, but who volunteered to do a ton of data-entry for the divisions that needed it.
All told, it was a software startup in every important respect: the team was the right size, folks worked together well, everybody was thoroughly professional and we generally worked together well. There were some debates, even some serious arguments, but overall I think it was a pretty healthy team, better than many I've worked with in my career.
The technology itself -- well, let's just say we got ambitious. V-cons have mostly colored within the lines of what you can easily do with the major tools like Zoom, using them in their standard consumer configurations. Folks have tweaked settings and stuff, but not many have tried to really push the boundaries.
I said (perhaps unwisely), "Hey, we've got four months -- surely we can do better". I basically set a mandate to the UX team of figuring out what we wanted this to do, and let me and Gail figure out how to do it. All of the glorious and terrible aspects of this project flowed from that.
The thing that was really different about Virtual Arisia (as it eventually became known) was that it was tightly integrated. The website tried to pull Zoom, Discord, Convention Master (the very old and rather clunky third-party commercial product that we use for Registration) and Zambia (the open-source scheduling software that originally sprang from Arisia and is now used by other conventions) together into something that I can't call "seamless", but at least tried to hide some of those seams. (The techies should take note: Zoom actually has pretty good APIs, and you can automate things enormously if you try.)
In particular, Arisia turned out to be very different because we the convention is very safety-focused: we try to create an environment that is relatively free from crashers and abusers. That meant that authentication was really important: you got into everything via your Arisia registration, and everything else flowed from there.
One downside was that that surprised the snot out of many people. We were doing things like creating Zoom meetings on-demand when the sessions were starting, and providing links to them directly in the schedule (redirected through the website so we could enforce security). That mostly worked well, but folks were enormously confused that we weren't doing things like emailing piles of Zoom links around. Overall, I thought our approach was good, but we didn't realize that we needed to do much more to highlight that this was not going to work the way consumer Zoom does.
More on the downside, we committed a raft of classic startup mistakes. We committed to too many features, with the result that our attention was too split, and the task got monumental. In the end, we managed to get most of it working, including pretty much all of the mission-critical stuff, but we were sadly unable to get to some of the more fun bits, and there were some corners cut under the hood that kept me up at night. I knew of several things that could have gone horribly wrong; we were fortunate that none of them did.
The most startup-y thing was that our deadline was almost impossibly tight, and as rigid as could be: we knew that, this past Friday, a thousand or so people were going to show up expecting a convention. As a result, I know that I worked about 250 hours over the past three weeks, about a hundred of that on my dayjob and the rest on Arisia -- Gail may have worked even more than that, and everyone on the team was tooling in the hardest possible way. It was the hardest I've worked in my life, and I'm somewhat angry with myself about it: I teach Agile Development processes specifically to avoid that, and I'm chagrined that I fell into the trap.
Similarly, we were flying without a net. The only real test harness we had was some unit tests from Chris; there was no automated testing at all on my side. It says a lot about the professionalism and skill of the team that the whole thing didn't completely crash and burn on Friday.
As it was, the first 24 hours were seriously rocky. It started okay, but things started getting confused and meeting-management largely melted down for Friday, forcing Tech and Programming to scramble and come up with backup plans for getting the Zoom links to people. That worked, but it required a lot of manual labor that I had been specifically trying to avoid.
By mid-Saturday, things were settling down and mostly working right from an attendee POV; by Sunday, things were actually stable and working more or less exactly as designed. (Suffice it to say, Sunday was when I got to stop programming for 16 hours a day and actually start mostly attending the convention.) Which underscores what happened: the convention itself was essentially the first real alpha-test of this software, and we got what we deserved.
The moral of the story is a familiar one to any experienced software engineer, that Agile processes exist for a reason. Stay focused on getting things done a few features at a time, in priority order, fight scope creep, and Test, Test, Test. We pulled it off, but only by the skin of our teeth.
All that said: Arisia happened, and it was pretty damned great. It was of course different from an in-person convention, and that lack of presence hurt. But nearly all of what you expect from Arisia was there -- not just the programming and events and artists and dealers, but most importantly the sense of community. (I didn't appreciate until we were really in it just how important and central Discord would be to the experience.) It was fun, and that's not a small thing.
Yes, the entire thing is open-source -- you can find the repo here. I'm pretty sure that no other convention will be able to just take this software and run it -- it is very specific to Arisia 2021 -- but I strongly encourage folks to dig though it, adapt it, turn parts into libraries, strip it for parts, and so on. (It would be delightful if somebody was motivated to evolve this into a more genuinely reusable platform: it would take a lot of refactoring and evolution, but the seeds are here.) Questions are warmly welcomed, and I'm planning on writing a bunch of documentation in the coming weeks.
So -- that was the end of 2020 and the beginning 2021 for me. Now I get to refocus on other things (not least, getting serious about Querki again for the first time in ages), which will be nice. But this was a win, and a much-needed one: I'm quite proud of what the team accomplished, and I hope it inspires others to take this Virtual Convention thing seriously, and ask what sort of experience you would like, and how to get there...