EDIT: This topic and it’s advice are now outdated as Crowdpurr has released its own built-in real-time streaming solution that uses WebRTC (the same technology behind Zoom) that allows near real-time streaming. If using Crowdpurr’s streaming, there is no longer a need to “mitigate” any latency because it’s negligible!
Crowdpurr works great for adding fun trivia competitions to virtual and hybrid meetings where you may want to “stream” yourself as a live gameshow host while your crowd follows along safely at home.
What Is Streaming Latency Delay?
When you use Crowdpurr with any streaming service, there’s a latency delay that must be “managed”. This is the time it takes between when you, as the host, start speaking and when your audience following along on the stream actually sees and hears you. This delay is caused by the various back-end processing of your live video and audio and making it available to thousands of viewers consuming your stream across the world.
The Problem
The problem with latency delay combined with Crowdpurr is that Crowdpurr works in real-time. Meaning when you update to a new trivia question, for example, there is no delay between the time you initiate a new question and the time your players’ devices update. Crowdpurr can update thousands of player devices instantly, unlike a live video stream.
When combined with a live stream that does have latency, the effect is player devices updating to new questions, showing correct answers, rankings, etc. many seconds before they actually hear the host refer to these on the stream. Assuming the host announces a new trivia question and initiates that question in Crowdpurr at the same time, Crowdpurr will update instantly and the live stream may take several seconds, thus causing a discord in the player experience.
Not All Streaming Services Are The Same
Some streaming services have worse delay than others. Facebook is one of the worst. Its Facebook Live latency tends to be around ten seconds (for good reason). Twitch also has several seconds of latency, however it’s less severe than Facebook.
YouTube Live has multiple latency settings, one of which is their ultra-low latency. Using YouTube Live in low-latency mode is the best we’ve found in an actual streaming provider (free or paid). However it may still have a delay of up to 5 to 10 seconds which can cause a problem.
What About Zoom and WebEx?
One solution for the entire problem is to simply use a real-time solution like Zoom and WebEx. They both use a different type of “streaming” technology called video-teleconferencing. The advantage is it’s real-time and eliminates all latency, however the disadvantage is it doesn’t support large groups over a few hundred participants. So if you’re working with large groups, using Zoom and WebEx may not be feasible. Both services have “large meeting” add-ons, however, under-the-hood they then default back to traditional streaming technology with typical latency up to 3 to 5 seconds when using the add-on.
How to Mitigate Latency In A Stream
If using a live streaming service is necessary, the best advice we have on how to mitigate the latency is to use a partner to run the Crowdpurr Experience Dashboard. The partner will be listening to the host’s queues for “Next question”, “Show the live answer results!”, “Let’s see the rankings!”, etc. and triggering those actions on the Experience Dashboard.
However, as the host broadcasts live, the Crowdpurr partner listens to your live stream on headphones as your audience would hear it, as it’s delivered on the stream. Not as the actual hosts says the queues live in the studio. This strategy syncs Crowdpurr with the delivered stream, post-latency, not with the host, pre-latency.
The host would broadcast as normal using a pre-printed sheet of the questions and correct answers. Or the host can also bring up the blue Summary tab on the Experience Dashboard in another browser tab as this lets the host see all the questions in one view and doesn’t require switching the Active Question in order to read the next question.
As the host initiates queues like “Let’s go to question two” or “Let’s look at the correct answer”, the Crowdpurr partner actually listens for those queues to come over the stream (5 to 10 seconds later) and they then trigger the actual Experience Dashboard to start the next question or results view. Since Crowdpurr is realtime, the player will see their device update approximately the same time as the host announces the queue on the stream.
Eliminating Latency Altogether Through Clever Trickery
Streaming latency can actually be eliminated entirely if the host only discusses static information in the live stream. Static information is what is known by the host at all times. These are the questions, the answer options, and the correct answer only. Dynamic information is what the host learns through the players submitting their answers. These are the live answer results (e.g. what all the players voted for) and the live player rankings.
If the host only discusses the questions and the correct answers, etc. latency can be eliminated. If the host discusses dynamic information too, then the experience is still at the mercy of the latency.
Here are some timing examples to explain:
Static and Dynamic Timing Example (assuming a latency of 5s and a Question Time of 15s)
- Host says “Let’s go to Question 2”… (5s of latency passes)
- Crowdpurr partner hears host say “Let’s go to Question 2” and triggers Question 2 in Crowdpurr.
- Crowd answers for 15 seconds. 15 seconds is up.
- Host says “Let’s look at how everyone voted”… (5s of latency passes)
- Crowdpurr partner hears host say “Let’s look at the how everyone voted” and they trigger “Show Live Answer Results”
The problem is the crowd will have to wait for the latency (5s) between steps 3 and 4 because the host has to wait for the question to actually end so they can see the results. So from steps 1 to 3 the host is 5 seconds “ahead” of everyone but any time the host needs to wait to see the real-time dynamic information (e.g. live answer results or live rankings) the crowd must consequently wait and have dead-air while the latency passes from the end of the question timer to when the host starts speaking again.
If the host only mentions static information, the timing can look like this thus completely eliminating the latency:
Static-Only Timing Example (assuming a latency of 5s and a Question Time of 15s)
- Host says “Let’s go to Question 2”… (5s of latency passes)
- Crowdpurr partner hears host say “Let’s go to Question 2” and triggers Question 2 in Crowdpurr.
- Crowd answers for 15 seconds. 10 seconds go by. With 5 seconds left on the Question Timer…
- Host says “Let’s look at the correct answer which is C. Berries”… (5s of latency passes)
- Crowdpurr partner hears host say “Let’s look at the correct answer” and triggers “Show Correct Answer”
If the host only says/shows static information they already know, the latency can be removed by just doing everything five seconds ahead of time as a host. Because the host initiates each static-information queue ahead of time by five seconds, the latency is thus eliminated. This method takes some practice, but as long as the host knows to start the next queue with five seconds left, they can “beat” the latency. As you can see, this trick doesn’t work with dynamic information because the host cannot cheat the time ahead by five seconds because they must wait on the question to completely countdown and finish in order to visibly see the answer results and rankings, thus introducing the latency into the host’s performance.
When attempting the static-information-only approach, perhaps the host can display the live rankings leaderboard every five or ten questions, or perhaps at the end of the game or round only. This will still add the fun and suspense of live rankings and competition, but will keep the latency delay “dead air” effect from only occurring the few times the rankings are shown.
Conclusion
Using a partner to run the Crowdpurr Experience Dashboard based on the delivered stream will always feel more reactive and real-time than doing it by yourself.
If your streaming delay is only 1 to 3 seconds, the above process may be overkill. As that short of a latency may not be too detrimental. However, if your delay is over five seconds, it will definitely be a better experience using the above strategy.
Or if a video-teleconferencing app like Zoom or WebEx can be used, you won’t have any issues with latency delay.