Jan 24, 2019 - By Ryan Lee

Ringing in the New Year with Ninja, an Extension, and 10 Million Bits

Celebrating a new year is one of the few events in which almost every culture in the world takes part in some way shape or form. And while it’s always exciting to be at an event IRL, there is something particularly new and exciting about celebrating online in a shared real-time experience with a global community.

Many streamers ring in the new year with their own communities, and this year — in partnership with Red Bull — Ninja (Twitch’s most followed streamer) brought in the new year with his global community at one of the world’s most iconic NYE parties, Times Square in New York City. It was a fitting end to a wild year for Ninja, his loyal viewers, Twitch, and the gaming industry as a whole.

Ninja and friends ring in the new year in Times Square.

To enhance the viewing experience in true Twitch form, the Ninja New Year’s Eve broadcast featured an interactive Trivia Extension that presented a series of questions to viewers. Guessing correctly resulted in a bounty for viewers: free Bits. Throughout the New Year’s Eve event, Twitch made available an unprecedented pool of 10 million Bits across Ninja’s and his co-hosts’ channels.

This event and the Extension execution was a stellar example of how to execute a highly engaging and entertaining, shared real-time experience on Twitch.

While not every event and Extension will have access to the elements that went into the Ninja NYE broadcast, here are a few key learnings and best practices any live event that includes an Extension on Twitch should consider:

  1. Outline Extension Value to Both Viewers AND Streamers: Prior to development, put yourself in the shoes of all who will engage with the Extension and make sure it’s not overtly geared to providing value to only the streamer or the viewer, but properly enhances the experience for all involved. Twitch viewers are eager to not just watch but also engage and interact via desktop or mobile, and conversely, streamers are eager for new ways to level up their live stream experience.

  2. Make Sure You Scope and Scenario Plan, and Then Do It Again: Once aligned on the primary goals of the Extension, rigorously prioritize. Scenario plan for both positive and negative outcomes as much as time will allow, beginning with the end of the stream and working backward to the event kick-off. Outline a run-of-show document not just for the stream itself, but also for the content of the Extension and different stages of audience interaction. Anticipate large spikes and dips in interaction and engagement as viewers flow in and out of the stream.

  3. Have a Real-time Communication Strategy: There are often many fluid elements and stakeholders, so the project or team lead should be well defined and ensure that other relevant team members are informed of all progress and notified about how each element could affect them. Ensure there is an on-call team to troubleshoot Extension issues, monitor Twitter chatter, and anticipate and resolve any speed bumps that that may arise during the event itself.

Watch a full walkthrough of the Ninja NYE Extension in action.

Behind every live event Extension, there’s a hidden hero — the developer, of course. For the Ninja NYE Trivia Extension, that hero was Muxy, a company with a solid Extension portfolio that develops a range of high-performing streamer tools, including a comprehensive back-end solution for extension development called the MEDKit. We talked with Muxy CEO, Peter Bonnani, about how they built the Extension and some of the lessons they learned.

Q&A with Peter Bonnani, CEO of Muxy

Can you tell us why you’re excited about this Extension?

The idea that we could manage determinations about how to award a pool of Bits to viewers via the Extension appealed to us. It’s something many of our clients have asked for in the past but has not been something we’ve been able to do up until this point. The other exciting thing was the fact that the stream itself was ambitious and live from Time Square with Ninja.

Can you briefly describe your development process? Including how you came up with the idea, how long it took, what you did to test or troubleshoot, etc.

The development process for this Extension was very rushed. We were contacted just a couple days before Christmas and already had some staff out of office visiting their families for the holidays. Myself and the remaining team in Austin had to work quickly with Twitch to determine the scope of what could be delivered on this timeframe. Luckily, we already had our MEDKit platform to do most of the heavy lifting on the backend.

In this particular case, we were able to leverage many things that were built into the MEDKit APIs to deliver the trivia experience and had to do a little magic on the backend; viewers had the opportunity to obtain Bits through the Extension and Twitch fulfilled the winning viewers. Since we didn’t know the size of the potential audience, we worked with Twitch engineers to load test the backend system at 1.2 million trivia answers in the 90-second timeframe. The first few iterations revealed some minor bottlenecks that we were able to fix before show time.

Describe the technology behind this Extension (i.e., MEDKit).

All of the more than 20 Extensions we’ve built since Extensions launched in 2017 have run on our Muxy Cloud backend and are built using our MEDKit Extension framework. It allows us and any developer who uses it to not have to rely on building their own Extension Backend Service (EBS), which dramatically shortens development time. We also don’t typically have to worry about load issues when using our framework as we’ve designed and hardened it over the last two years and offer it as a service to other developers.

We were able to make use of existing endpoints for polling that we recently augmented with trivia support. Everything went very well with the Extension from a technical standpoint, and we didn’t seem to need all the hardening we did to the Muxy Cloud backend; however, that hardening is now available to any developer wishing to build an Extension using our backend. If you’re more of a frontend person and looking to build an Extension, please check out our services and let us take care of the backend while you focus on your product.

What learnings or best practices would you share about developing Extensions for large, live events?

Twitch traffic is bursty. We’ve designed MEDKit to be able to handle this type of load at affordable pricing. If you’re trying to build your own backend, do extensive load testing with very high bursts of traffic versus moderate traffic over a sustained period of time. Also, whenever you’re doing an Extension that is coupled to the event’s run of show, don’t be tempted to make planned events timed, because the run of show always seems to slip. To combat this for high-profile installs, we have all events that are pushed out to the Extension controlled from a single admin panel, so that they can make adjustments on the fly.

For more information on Muxy or the Muxy SDK, visit https://dev.muxy.io.

If you are interested in learning how to purchase Bits for Extensions giveaways contact us here or follow up in the Forums.

And as always, let us know what you think by connecting with us @TwitchDev on Twitter, in the Developer forums, or on our monthly live broadcast (follow us for notifications when we’re live).

Ready to build interactive experiences on Twitch? Start now!

In other news
Jan 31, 2019

The best way to watch the 2019 Overwatch League season

When the 2019 Overwatch League seasons kicks off on February 14, there’s only one way to experience the very best of the action: the newly…
The best way to watch the 2019 Overwatch League season Post
Jan 22, 2019

Analyzing Twitch chat during a Pokémon Marathon

Twitch data scientists apply NLP on chat data
Analyzing Twitch chat during a Pokémon Marathon Post