One of the goals for the first year of the National Tech Committee’s (“NTC”) Five Year Work Plan was to develop and deploy a system for handling voting at the 2023 DSA National Convention. NTC members had been informally engaged in discussion of potential contenders to meet this goal since last summer’s NTC wide strategy session, and began actively looking at tools and our options at the beginning of 2023.
What follows is a retrospective and report-back of the last few months of work from the NTC and our work to meet this goal. This is a long post and should be seen more as a reflection of how the NTC approaches planning and testing our tools for use in DSA. If you just want to read a summary of OpenSlides and its features, click over to our OpenSlides page.
Scope of Work
After an initial session with NTC members and Staff at the beginning of the year, we identified the following requirements for a voting tool for the 2023 Convention to be considered a minimum viable product:
- Stability. Application needs to be able to handle 1300+ comrades voting in a small window of time.
- Speed. Both for Staff administering the tool during convention (e.g. creating new votes on the fly for floor motions, converting comrades from Alternate to Voting member) and for comrades using it for votes, the tool needs to be fast
- Mobile friendly: The tool needs to work on mobile, as well as on a tablet or computer
- Accessibility: Tool needs to be able to be used by a screen reader for comrades that rely on them.
Additional ideas that were identified in this scoping call, but not included as the bare requirements for a voting tool were:
- Stack functionality
- Time keeping
- NPC Elections
The NTC and Staff both expressed an interest in testing this out in chapters to get feedback and get as many comrades across the organization as possible used to using the tool, prior to August.
History of Voting Tool Implementations in DSA
To provide context to the above scope of work, here is a summary of past implementations of voting tools for DSA conventions:
2017 DSA Convention: DSA used a volunteer-built mobile web application to facilitate voting, but it crashed on the first vote due to the spike in traffic and was scrapped by floor motion by convention delegates in favor of hand voting immediately. Hand voting required Staff to tabulate totals for NPC elections at convention manually, which was a major delay for delivering the results to the delegate body.
2019 DSA Convention: DSA used OpaVote to facilitate votes. This was time consuming, costly, and crashed the DSA website due to too much traffic.
2020 YDSA Convention (virtual): DSA used a volunteer-built voting tool built on Google Sheets and Forms. It crashed once, but worked for ~200 users.
2021 YDSA Convention (virtual): DSA used a volunteer-built voting tool built on Airtable. It worked for ~200 users without crashing and added a new stack functionality.
2021 DSA Convention (virtual): DSA used a volunteer-built voting tool built on Airtable. It crashed twice and experienced significant delays in processing votes and stack requests for ~1,200 users.
2022 YDSA Convention: DSA used a volunteer-built voting app built on Softr. The stack function worked, but the voting function could not support ~200 simultaneous users (the app did not adequately update for delegates during voting), and was scrapped by convention delegates in favor of hand voting immediately.
With our prior research and discussion and assessments of the NTC’s capacity, we ruled out creating another tool from scratch for two reasons: the first and foremost is myDSA was and still is an NTC priority which has most development energy focused on it. The second, is it is unrealistic to expect a full-featured and stable software of this complexity to be developed in less than eight months, especially one that has been battle tested for large user-groups and can handle spikes in use.
Commercial solutions work, but have been inflexible for the needs of a live Convention. As expressed to us by Staff and prior delegates, OpaVote and the custom-built Airtable voting system work perfectly assuming there’s no changes to the agenda or a resolution. Once we divert from that, it becomes a much more frustrating and time consuming process for kicking off a vote, potentially delaying a tightly packed agenda. OpaVote’s disadvantage on top of this is still its cost, as any Chapter leader likely knows, it’s incredibly expensive to kick off votes and for a convention delegation being 1300+ comrades this year, we’re looking at $110 per vote. Airtable (and Softr, which is built on Airtable) on the other hand, is already paid for use annually by DSA National, but we’ve seen the tool break multiple times now under load of 200+ delegates.
After research of available tools, we narrowed the selection to Loomio and OpenSlides, both pieces of open source software. The compatibility of our fight for Socialism in our lifetimes and Open Source software is a huge subject not in the scope of this blog post, but a vast majority of NTC members all agree and recognize the imperative for DSA to support and adopt open source tools rather than proprietary capitalist tools, especially when we’re spending member dues to use or run this software. Open Source means we can view, run, and even edit the code backing the application ourselves, leveraging the work of other contributors and teams who have committed their work to the public good. It’s the closest thing tech workers have to owning the means of production under our current conditions, while we organize more shops to be unionized or converted into worker owned cooperatives.
Loomio’s advantage is it’s already being used by other bodies in DSA, including the National Political Committee, for asynchronous votes and discussion/amending of items. The experience our existing user-base had with this tool was appealing as well as its ability to scale to a full convention body (an aside, but a great fact — Loomio is a worker owned cooperative!). Unfortunately, the tool is not oriented to a full parliamentary body like our Convention, as it is strictly a voting tool that allows for discussion and decision making. For Convention, especially our first in-person one since 2019, the desire to focus on debate on the floor rather than having additional areas of discussion was highlighted as a reason Loomio may not meet our needs by Staff and what was relayed over from the Convention Steering Committee.
OpenSlides, while new to DSA, is a full featured suite meant to augment in-person, hybrid, or virtual deliberative bodies that has been in development for as long as Loomio. Its users include a number of left political parties that have parallels to DSA and YDSA: the Social Democratic Party of Germany (‘SPD”) along with its youth wing Jusos, the Social Democratic Party of Austria (SPÖ), and Die Linke along with its youth wing Linksjugend [‘solid]; have used OpenSlides at various meetings and party conventions. Other users include several European labor unions and various non-profits. While not owned by a worker cooperative, its owner and developers have decades of commitment to exclusively creating and supporting open source software projects.
The NTC was able to deploy a proof of concept instance in March 2023 of OpenSlides in our testing environment and upload the 2021 Convention in the tool to run a mock convention for NTC members and Staff. Immediately identified by testers was the number of additional features in the tool that met not just the minimum requirements, but added a lot to help improve quality of life use of the tool. Features such as in-tool amending of resolutions, progressive stack with a point of order functionality, and a way to mass import and create accounts for the entire DSA convention delegation from a .csv file, helped sell this as the recommended solution for Convention from the NTC and Staff.
One limitation of the tool today identified by the NTC is OpenSlides is unable to do Borda or STV for NPC elections, merely doing a simple first past the post elections. While this means it cannot handle the NPC elections today for the 2023 Convention, as it is open source it’s likely the software will be able to support it in the future either by requesting it of the developers or recruiting developers for it. This was considered the last of the “nice to have” features outlined in our scope of work.
By mid March, NTC and Staff presented the tool to the Convention Steering Committee along with a 2 month testing plan for the tool, to trial it in as many chapters as possible throughout April and May, which was passed unanimously.
After approval to proceed with testing, DSA procured a hosted instance from OpenSlides which we introduced to Chapters as an “evaluation copy” of OpenSlides, as it had a single “meeting” limitation with 250 concurrent users. We could run this in as many meetings and add as many comrades as we wanted, as long as they were done sequentially and users were removed when no longer used.
Staff identified all chapters that previously used the Airtable voting system for Chapter Conventions or meetings, along with a few medium to larger chapters that we felt would be good to deploy OpenSlides in, leading to close to 60 chapters being identified. Of those, we selected the following chapters and DSA bodies to test the tool out in:
- Socialism is the Future Conference – mock session
- DSA North Texas – April General Meeting
- Atlanta DSA – April General Meeting
- DSA Metro Cincinnati & Northern Kentucky – April General Meeting
- Seattle DSA – April and May General Meetings
- Boston DSA – April General Meeting
- California DSA – May Delegates Meeting
- National Tech Committee – Steering Committee Meeting
- Providence DSA – Chapter Convention
- East Bay DSA – Pre-Convention reading meeting and Chapter Convention
We had a number of additional chapters reply with interest using the tool, but due to a mix of scheduling conflicts, the aforementioned capacity limitations on the evaluation instance of OpenSlides, along with limited NTC/Staff capacity we were not able to run this in more chapters.
In addition to this, the NTC partnered with the National Disability Working Group to ensure the tool was tested with compatibility with screen readers for comrades that need them, along with other often overlooked accessibility items that came up during our testing like selecting a “DSA” theme that didn’t impact the use of the tool for comrades needing high-contrast visibility.
Voting, a key component of the minimum viable product outlined in our scoping calls, worked flawlessly. Comrades using the tool found the votes obvious and easy to find, and found the function of it easy. Stack taking for facilitators, also was something that got great feedback from comrades and from Chapter leadership as it made managing discussion and debate much easier than hunting through Zoom or struggling to take in-person and Zoom stacks.
Comrades found the motion screens which contained details of a resolution and any potential amendments easy to use, however the Amendment feature was not used with actual amendments from the floor in any chapter just due to how each of these meetings went.
NTC requested 10 minutes at the start of a meeting for training on OpenSlides, to both help set up chapters for success and to allow for NTC and the Chapter to provision any accounts needed for walk-in comrades to the meeting. These trainings became easier after fine tuning the training materials. Initially a focus to introduce the tool with Convention in mind (and an emphasis on DSA Staff and NTC not being able to modify votes) was dropped to simplify training around “why we’re using the tool for this meeting”, “here’s how to log in to the tool, check in, and then vote” which had better reception from comrades and resulted in less questions.
- North Texas DSA was the first DSA chapter that used this tool to conduct business at their April meeting,
- Seattle DSA was the largest overall chapter to use the tool with 246 accounts provisioned and 115+ simultaneous users of OpenSlides at their April chapter meeting and approved the creation of the Seattle Sound podcast using OpenSlides!
The aforementioned limitations on the “evaluation” instance of OpenSlides was a minor headache for chapters as it required Chapter leadership and the NTC to work to get as many “known” attendees. It became apparent that many chapters have comrades that do not use the chapter’s ActionNetwork to sign up for meetings. The NTC factored for this and expected that the beginnings of every meeting would need to be spent provisioning accounts, but in some cases NTC members had to provision close to 50 additional accounts from “walk-ins”, which could’ve been automatically imported had the comrades signed up to ActionNetwork. The import process around this limitation on quantity of delegates also resulted in adding East Bay users to an incorrect group which contained a typo, preventing them from using the tool until this was rectified. While less than 10 minutes for the NTC to fix, this is something that slowed the meeting body down.
The single “meeting” limitation also meant we were unable to run two meeting bodies at once, as comrades were all participants in the same meeting with each other. Meaning Agenda, Motions, Votes, were all scoped to the same user base. This prevented us from running two meetings at once when conflicts occurred (NYC DSA and Providence DSA, DSA Cincy/Northern Kentucky and East Bay DSA were two such conflicts).
The silver lining with the above two pain points is this is a result solely from us pushing the limits with the above evaluation copy. If a permanent instance of OpenSlides is spun up for a chapter or national body, there is little reason to need to re-create users all the time as they can just be kept in the tool as long as they’re a member in good standing. On top of this, a longer running instance will also allow us to run multiple meetings concurrently, and not worry about conflicting meetings. Once chapter comrades are onboarded into the tool, they do not need to be re-uploaded each time either, and can be assigned to whichever meeting body they’re participating in.
Another major pain point for the NTC and Staff is written documentation in English from OpenSlides on how to use their tool is sparse. The tool is intuitive and simple enough that NTC members were able to learn the administration of it by poking around or using Google Translate on the existing German documentation, but it needs work to be something that’s usable as a reference for DSA. We will need to create our own documentation library including video trainings for comrades to learn how to use the tool, much like ActionNetwork trainings are given through Org Tools today, for this to be a viable product we deploy as a service to chapters and national bodies.
What Didn’t Work
Timing and connectivity issues were the main issues we ran in to with chapters, with a couple cases where they caused the tool to be tabled by the meeting body. In Providence DSA’s case, technical issues due to the wireless being down at the location of their chapter Convention caused the meeting body to be unable to hear training from the NTC, which caused this to be shelved by chapter leadership.
For timing issues, in Metro Cincy/Northern Kentucky’s case, technical issues delayed the virtual attendees from dialing in to their hybrid meeting, and once that was resolved it was found that the meeting body had moved on from the planned agenda of starting the meeting off with an OpenSlides training on to the rest of their agenda. By the time the training occurred, it was just before votes were being cast and the comrades in attendance voted to table the tool to not break up the rhythm of the that had already been in progress.
These chapters are not highlighted to “point blame”, but rather to give real world examples inside of DSA in the spirit of blameless post-mortems. It further emphasizes that for anything to be successful technology wise in DSA, we need a careful process to introduce the tools, factoring in local conditions in each body that may make running a tool infeasible, have a backup plan, and most importantly: get buy-in from our comrades that what we’re offering is in fact better. We as technologists learn more from our failures than our successes, and it’s the reason we need to write them down and document them.
As a result of testing in chapters, the NTC was able to identify several, non-application breaking, but disruptive bugs which have been identified thanks to comrades (specifically the wonderful YDSA comrades at the Socialism is the Future Conference!) thoroughly testing out the tool. In order:
- User pronouns were identified to have a max length of 256 characters. This was resolved in a recent minor release of OpenSlides
- “Non-Binary” was not listed as a gender, rather “male”, “female”, and “diverse”, likely due to a mistranslated phrase from German to English. This was a major complaint from our users as it’s reflected next to user names when on Stack. OpenSlides has resolved this for the 4.0.2 release
- Issues between light and dark themes not coloring links consistently
Looking Ahead: Convention and Beyond
There’s a lot of potential for a future for OpenSlides in DSA. From optimizing various committees and chapter meetings and ensuring basic things like agenda setting are done consistently between leadership bodies and members, to being able to make meeting facilitation easier with in-app progressive stack, voting, and amendment creation.
The NTC will be spending the next couple months getting our documentation and training package ready for our comrades heading to Chicago to direct where DSA’s heading in the next two years. But after August, we want to work on continuing to get this in as many hands as possible and hope to find permanent homes for it in your local chapter or national committee.