One person, one vote: building live voting with message annotations
Blog post from Ably
Live polls at conferences or events can be effectively implemented using Ably's Pub/Sub system, offering a scalable and low-latency alternative to traditional server-based CRUD applications. By utilizing Ably's annotations, which allow for attaching information such as votes to messages, the system aggregates and summarizes votes efficiently without requiring each vote to pass through a central server. This setup consists of three roles: the voter, who participates via their phone; the presenter, who displays results on a big screen; and the admin, who manages the poll process. Annotations offer the advantage of separating summaries from raw events, allowing different clients to access only the data they need while maintaining security by granting least-privilege capabilities to each role. This architecture ensures one vote per person, as enforced by Ably's unique aggregation type, and accommodates a large number of concurrent voters without latency issues.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Real-time | 2 | 5,457 | 1,338 | 238 | -5% |