RCWeb Audience Q&A

qanda is the shared display for a live Audience Q&A session. It shows the five highest voted audience questions and updates as phone controls submit and upvote questions.

icon

Open /qanda/ on the shared screen. Participants scan the displayed QR code, or open /qanda-c/?r=<room> directly, to join the same RCWeb room from their phones.

What The Display Shows

The display is designed for a TV, projector, laptop, or signage screen. It shows:

  • A QR code panel that opens qanda-c in the same room.
  • The top five questions ranked by upvote count.
  • The poster name captured when the question was submitted.
  • The upvote count for each displayed question.
  • The RCWeb connection state and room client count.

Question Ranking

Questions are ranked by upvote count. Ties are ordered by the time the question arrived at the display, so earlier questions stay ahead until another question receives more upvotes.

The display keeps up to 100 live questions and trims question text to 220 characters. If the limit is reached, controls receive a visible rejection status instead of silently dropping submissions.

Voting Rules

The display is the source of truth. Controls send submit and upvote requests to qanda, and the display validates them before changing state.

Each control has a locally stored participant ID, which prevents duplicate upvotes from the same browser. Participants can upvote questions from other users and tap again to remove their upvote. They cannot upvote their own submitted questions.

Poster names come from the shared RCWeb local storage key rcwebName on the control device. The control app lets participants edit and save that name before submitting, and saved name changes update that participant's existing questions across the display and all controls.

Reconnects And Late Joiners

Controls request the current snapshot when they open or refresh. The display sends the current question list, upvote state, total count, and revision back to controls.

If the display refreshes, the live Q&A state resets because the display owns the in-memory session state.

Powered By RCWeb

Audience Q&A uses RCWeb's room WebSocket layer through comms.js. Controllers call display functions with rc.sendFunctionCall("qanda", ...), and the display broadcasts authoritative snapshots back to qanda-c controls.

DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log