Building Extensions for Twitch keeps getting faster and easier. We recently announced the new and improved Developer Rig that helps developers build Extensions more quickly and intuitively. Today we’re announcing the Twitch Configuration Service.
Configuration Service removes the burden of writing a back-end to store persistent channel- and Extension-specific data. It then provides this data on Extension load, eliminating the need for your back-end to handle traffic from end users for this scenario. This means that developers only need to focus on creating amazing experiences, not on building complex back-ends. In short, with Configuration Service, we’re unlocking a developers ability to build better Extensions faster.
Let’s take a look at two common use cases that will benefit from Configuration Service immediately. We’ll use our Bot Commander and Animal Facts example Extensions for reference.
Developers can build simple front-end-only Extensions that let streamers configure the Extension to provide unique experiences for their viewers. For instance, a streamer may want to configure a list of Chat commands to use in their channel that viewers can see. In this scenario, the Extension’s front-end will validate the input and call a method to store it in the Configuration Service. On the viewer side, on start up, the Extension is provided an object containing the stored information seen below.
Using a callback function from the Extension Helper Library, the Extension is notified when data has been delivered.
The front-end can then use data stored in the Configuration Service to load the object, which means the viewer will be able to see and react to the Chat. All this happens without needing to build a back-end.
For Extensions that do require a back-end, the Configuration Service can support scenarios that require the ability to persist channel specific data. For example, with data-driven Extensions, the Configuration Service lets the streamer store the configuration needed to call the appropriate APIs. The Extension back-end can query from Configuration Service to get the needed data. When the viewer loads the Extension, they will receive content relevant to the streamer’s channel. See the data below which is from our Animal Facts code example.
If this streamer’s specific data is needed when the Extension loads, the Configuration Service can also provide that data without exposing the rest of the back-end to viewer traffic, reducing the scaling needs for developers.
Configuration Service opens the door for more developers to build on Twitch by empowering them to spend more time on the user experience for their idea, rather than building the back-end. Most Extension scenarios require a developer to persist channel specific data and retrieve it on Extension load to hydrate the experience. This required developers to support this in their back-end, even for simple scenarios, taking time away from building the best possible experience for streamers and their viewers.
Developers who have already built Extensions can start using Configuration Service immediately, either to add new functionality to their experience, or to replace the way they persist data on their back-end. New devs, can either build their back-end around Configuration Service, or just use Configuration Service to support their Extension scenario. All this is provided with love, by Twitch, with no additional cost to developers.
We believe that streamers and viewers will benefit greatly (and use Extensions more) from the increased functionality and stability that Configuration Services provides them. For developers, we hope this will motivate them to build more Extensions knowing that they can do so faster and easier than before without having to worry about investing in and building this aspect of their back-end.
There are many ways to learn and get started with Configuration Service.
You can get started with Twitch Configuration Service samples on GitHub:
From your desktop machine, download or update the Developer Rig.
Watch the Configuration Service 101 video tutorial to learn more.
Ready to build interactive experiences on Twitch? Start now!