The original prototype (pre-grant) was baked into a Discourse-based discussion system. The initial plan was to convert this into a more flexible Discourse plug-in. However, investigations quickly revealed that this was unsuitable for several reasons:
- Discourse’s in-built identity system is insufficiently private and impossible to override
- Mobile friendly (and hence event friendly) UI on Discourse is challenging
- Integration with other plural mechanisms and tools beyond voting would be difficult or impossible
- Discourse is unreliable at high load and frequency, such as would be required at in-person events
Given the importance of these factors to event attendees, the decision was made to move away from Discourse to a custom backend and frontend with private registration. This has significantly increased development work, but was possible thanks to the appreciation in the value of ARB.
This has also brought a number of benefits and potential future avenues of work which would have been impossible under the original proposal:
- Zupass integration, and the possibility of running fully private, zero-knowledge votes and events in future phases
- Interoperability with other Digital ID systems
- Running events within the research community which use relational identity data specific to that event, in addition to the global groupings and relational identity data
- Possibility of directly integrating with other existing Plurality tools, such as polis
- Easy to integrate further plural mechanisms or develop entirely new ones
- Fine-grained control over voting UI, facilitating crucial research on the impact of UI on governance outcomes
- Clear and easy data visualization within the tool itself + easy mobile optimization
We also discovered an error in the original plural voting model and implementation which we confirmed and fixed.
Development Progress So Far
Despite these changes, we have made good progress on the purely developmental milestones and even finished some early. These milestones were completed according to the original timeline, as can be verified on our Github (backend, frontend).
For clarity, we will just outline the current state of the tool, which can be demoed via Github in advance of the registration launch.
Any Zupass can be connected to the staging database. If you don’t have a Zupass, you will be prompted to create one. For privacy, the staging database will be wiped weekly.
The tool currently has the following features (items in bold are newly added features made possible by the shift from Discourse, items in italics are from future milestones which were not yet due to be completed):
- Sign-in via Zupass
- User registration: users register their username, credentials, and affiliations, which are used to power the plural voting
- Votes and registration fields specific to certain events
- Participants can allocate their votes (hearts) among multiple options in ongoing votes
- Plural scores are calculated according to participant grouping and displayed in the results page, along with a variety of other data
- Fully reimplemented plural voting model, including a fix to the original model and code
- Pending a bug fix from the Zupass team, the front-end is already fully mobile optimized
- Fully customizable back-end which allows amongst other things:
- Full anonymization of users, groups, and grouping dimensions, while still allowing plural calculations
- Full control over vote option ordering (e.g., randomized, by submission, by plural score, etc.)
- Arbitrary numbers of events, users, questions, etc.; arbitrarily complex registration logic, event logic, data querying, etc.
- Adaptive back-end scaling to ensure stability during events (high user numbers, activity frequency) while scaling back during quieter times
Although initial buy-in for an event at ETH Denver was high, key participants explained that they would no longer be attending ETH Denver, so would not be able to attend the MEV Research event, even though they were extremely interested. It also became clear that the high volume of events at ETH Denver made it unsuitable: our event requires significant buy-in from participants, attending all day and giving their full attention.
As a result, the decision was taken to move the event to May 22nd and 23rd, before ETH Berlin.
The key participants who were unable to attend in Denver have confirmed their attendance. Switching from a one-day event to two half-days on consecutive days will produce a more relaxed schedule and greater chance of high-quality collaborative research proposals.
An event and event manager have been selected and funded.
Updated Events Timeline
An updated timeline will follow, pending approval from PL.
Milestone #2 (35,000 ARB) and Milestone #4 (35,000 ARB) have been completed. Some deviation from the deliverables has occurred, because the shift from Discourse to Zupass means a token airdrop is no longer needed or appropriate. As outlined above, using Zupass is actually more powerful and better-aligned with what participants in this community require (no registration airdrop, greater privacy).
All other deliverables within these milestones have been completed as specified and can be verified from the staging demo / Github.
Although a great deal of initial marketing has been completed, including landing page text, research community branding and significant outreach to participants, we still intend to do more work on Milestone #3 in light of the new extended timeline.