Designing Digital Dart Democracy - a technical retrospective
A bit of technical behind-the-scenes into how we ran the first entirely virtual flow arts festival that sidestepped Zoom fatigue
This is a quick overview of some of the technical hoops we jumped through to run the first Digital Dart Democracy, a nonprofit, rope-dart-focused flow arts festival with interactive workshops, jams, performances, and DJs, run entirely online. This writeup is a bit belated, as we ran the first virtual version in December 2020, and just wrapped our second event (which went even more smoothly!) in May 2021.
To give you an idea of the size of this event: we booked 78 ticketholders for Winter 2020, and 152 ticketholders for Summer 2021.
As any vaguely social person with a computer has become all too painfully familiar with during the mass-quarantine era: standard video chat meeting platforms can and will suck the life out of you, leaving you an empty husk that simultaneously craves and abhors human interaction. It’s called Zoom Fatigue, and it’s so widespread that we’re starting to see peer-reviewed research on it.
Not to knock Zoom — it’s performant, about as reliable as videochat software gets, secure, and feature-rich. It’s simply not designed for serendipitous connection or socialization. It was designed for corporate meetings.
🏭 💼 💻 😫 😫 😫
Centralized vs. decentralized interaction
Most flow festivals (and honestly, the vast majority of even heavily software-focused events), have been going through lockdown with a centralized streaming approach, where a set list of presenters is streamed, all attendees are muted except during Q&A, and attendees can type messages into a single mass stream but don’t have a way to serendipitously connect with each other.
This works fine for anything that’s completely centralized in real life, such as stage performances and lectures. It doesn’t work at all for things that are decentralized in real life, such as serendipitous conversations, social hangouts, and workshop attendees casually chatting with each other without interrupting the instructor.
Sometimes, centralized events use Zoom breakout rooms to enable 1:1 connection. This is ok but jarring because they are entirely centrally controlled by a moderator, and attendees often find their conversations rudely cut short when they wanted to keep talking.
Flow festivals (and again, social events in general) contain some centralized elements, but also require decentralized, attendee-controlled interaction mechanisms to feel natural.
Natural-feeling virtual interactions
Having now attended my share of exhausting Zoom events, and run my share of non-Zoom virtual events, I have a theory of factors that can make a virtual social space feel “natural”. Quick summary:
Decentralized agency to move, converse, and choose who you converse with — as quickly, immersively, and seamlessly as you would in real life.
Seamlessly entering/leaving conversations without lag, proximity cues, ability to eavesdrop, ability to quickly scan for familiar people, ability to go private or be alone within the virtual space, ability to whisper 1:1, stand-ins for body language, etcReactivity & animation. The environment should feel alive and interactive. It should react rapidly to user actions.
Non-reactive: static avatar of your face, links to Zoom rooms
Reactive: your avatar sprite has a walking animation, objects glow when you approach them, animated background wiggles gently in an invisible breeze
Low reactivity: laggy response time, unintuitive interaction featuresAll mechanisms are as familiar as possible. Strive to emulate the physical world, or as a fallback, the most common mechanisms in video games.
Unnatural: Presenter must use complex workflow, memorize shortcut keys, click on a map, or read text instructions in order to present to attendees.
Natural: Presenter uses arrow keys to “walk” up to a virtual microphone or lectern that automatically broadcasts their voice to all attendees.
In a separate post, I’ll dig deeper into some ways that event organizers can address and fine-tune these factors.
My favorite virtual platform that implements all these factors is Gather.Town, which I’d describe as “Pokémon for virtual hangouts”. I’ve been using it during lockdown for personal social events and was thrilled to be able to use it for a larger community event. (Similar platforms include Topia.io, around.co, Spatial.Chat, Kumospace.)
It far exceeded my expectations; I have now successfully spent multiple 12-hour days continuously running events in Gather.Town without feeling Zoom Fatigue. (Though some normal physical exhaustion is to be expected.)
Creating our virtual festival venue
Gather.Town supplies you with a variety of useful maps out of the box, but since its primary customers are universities and companies, it doesn’t have any stock maps resembling a festival venue. I built ours from scratch.
Some key features of flow festivals:
interactive movement workshops
DJs
performances
a greeter station
large open spaces to socialize & jam
nooks to be alone, have small private conversations, or be introvertedly co-present together
Early on, we decided to stream performances and music on Twitch for reliability reasons, and focus the venue on workshops, discovery, and socializing.
In building our venue, I spent a lot of time beta testing and tweaking the architecture for our core technical functionality: stages, a jam room, “breakout” spaces that people could easily walk between (to privately chat with each other and not disturb the class, while still receiving the instructor’s room-wide broadcast), and a greeter station with instructions, pop-up schedules, and a whiteboard to leave messages. This was a more defined problem, and came together in a relatively defined way.
To grease casual interaction, I took inspiration from my favorite real-life festival venues, and tried to build adequate substitutes for the surroundings that contribute to the feeling of being at home at a festival — private beanbags and couches to have 1:1 conversations and take breaks from the scheduled events, shoes and knickknacks scattered carelessly by doors, and peaceful outdoor spaces with no particular purpose other than to let you sit and look at the sky and ocean.
Tooling & assets I used
I’d never built game maps before, but was able to pick it up in a few days thanks to the fantastic software & assets out there.
Tiled: An efficient tile map editor with support for laying out connected multi-map worlds, terrain painting, and layers. It’s free and open-source, but please donate if you’re able — it’s really fantastically full-featured software.
Assets: itch.io is a fantastic place to find a variety of visual styles of video game world-building assets. I sourced most of my terrain & object assets from guttykreum and ansimuz.
Aseprite ($20): A graphics editor heavily optimized for pixel graphics. I used this to manually draw some custom assets for the event, such as signage and posters, mystical portkeys, glow effects, and an adorable tiny DJ controller. I also used it as an afterthought to create publicity graphics to match the aesthetic of our venue.
Gather.Town’s mapmaker tool allows you to import your tilemap and then add in the Gather-specific interaction features, such as impassable tiles, presenter tiles, portals, private space, etc.
Planning & strategy: how we made the virtual experience run (surprisingly) smoothly
Street creds: I have been programming for 20 years, working in software industry/research since 2007, and organizing community events since 2013. In addition, one of my co-organizers has about a decade of professional experience as a manager/director, and is an experienced community event organizer. Everyone was also well-suited to their particular organizer roles: DJing & music streaming, social media management, etc.
While my background in architecting resilient software systems is not obviously directly relevant to festival design, it fortunately encompasses a wide range of soft skills & expertise that was helpful in building safety nets around usability pitfalls and landmines that tend to befall remote events.
Below is a smorgasbord of useful planning questions you may find useful if planning your own event. These got addressed, in some cases, weeks in advance, and in other cases, furiously adapting on the fly to new information as it came up :)
Critical design questions
In the inevitable case that we are short on time, what is the minimum viable set of checkboxes we must absolutely prioritize/accomplish to provide the kind of satisfying virtual event experience we are envisioning?
What ergonomics questions will need to be live beta tested before the event? Which devices and browsers will be beta tested? How many people are needed per test cycle? How many beta test cycles do I anticipate needing to nail a “good enough” implementation?
Platform hypotheses & common software pitfalls
Platform feature examination: which platform features are unintuitive, glitchy, or insufficiently performant? How can I hack together replacement functionality using platform features that are highly intuitive and performant?
Example: During map beta testing, I determined that Gather’s google doc embeds loaded too slowly for most attendees to bother with, so I ended up embedding the event schedule into the map as an image, which provided the fastest loading time.What potential known-unknown software landmines should I look out for during the event, and how can I avoid running into them? i.e., what could unexpectedly go wrong during the event and how can we minimize risk?
The big one: changing map configuration on the fly during peak user load. To its credit, Gather.Town handles this unbelievably well with minimal reloading artifacts, but knowing that this could potentially break the map state, I didn’t risk trying it until the break right after the first workshop, when I wouldn’t be interrupting a workshop.What client-side issues will users likely run into, and how will we resolve them?
Hardware issues, adblockers, browser issues, cache issues, etc. I wrote up a troubleshooting guide and left it at the “greeter station” with a greeter volunteer on-duty with instructions on how to contact organizers for extra help. I also posted map signs at the spawn point with the simplest troubleshooting issues, like “please wear headphones to avoid audio feedback!”How can we minimize streaming issues?
To reduce the inevitable risk of streaming issues and technical difficulties, we pre-recorded MC bits and edited the entire performance showcase together into a single large video file, which was then live-streamed off a desktop rig (and test-streamed beforehand!) by an organizer with Twitch experience.
Supporting attendees & staff
What failure cases can be minimized by providing information to attendees in advance?
How should that information be provided? What communication media are our particular attendees most likely to open & absorb?
Email, Eventbrite, Facebook, Instagram, pictures vs. videos vs. text, in-map signage, etc.What common user issues are we most likely to run into, and how will we deal with them?
Last-minute ticket buyers, attendees not reading instructions, email technical support, Facebook technical support, in-Gather technical support, etc.What will instructors/staff need to be trained on in advance?
We scheduled staff training walkthroughs before the event to get everyone familiar with the platform and how to helpfully remind attendees to best get interactive feedback.How will we handle (the inevitable) general confusion and fallthrough? How can we corral presenters to be on deck and keep attendees in the loop?
We found it helpful to designate stage managers to announce workshop transitions and instructor bios, and regularly remind all attendees about digital etiquette like using headphones to avoid mic feedback. I also found that half of attendees would typically miss longform written instructions in emails and social media posts, so I scattered plenty of simple signage and cues around the map to herd people.What happens if an instructor does not show up?
One instructor was unable to make it last-minute, but one of our organizers had a ready-made workshop she was able to seamlessly jump in and fill the teaching gap with. In the future we will always have a substitute workshop on deck for this purpose.
We’re still in the process of assembling a guidebook with all our learnings and procedures. But once these questions were posed, it was much easier to figure out exactly what we needed to do for our particular event.
Feel free to leave feedback or comments on aspects you’d like to hear more about.
✨ Couldn’t have pulled it off without my incredible organizing teammates for 2020+2021: Dresden Blue, Emziwan, Soft Bun, Bird, and Baltazar.
🙏🏼 Grateful to the Gather.Town team for providing the lockdown world with free & affordable spaces for serendipitous, natural-feeling virtual connection.
🙌 Thanks to Olive Perry, one of the co-designers for the Fireside Gather.Town map, who pointed me toward the tile editing tools and assets that greatly sped up my process.