SlideShare a Scribd company logo
TwitchCon 2018 San Jose, California
Ryan Lubinski

Senior Product Manager
Greg Smith
Senior Product Manager
Building Extensions With You
TwitchCon 2018 San Jose, California
Launch
September 6, 2017
22 Extensions 17 Developers
Extensions

Launch
TwitchCon 2018 San Jose, California
Dev Day 2017 Dev Day 2018
1,000
Registered Extension Developers
1,000+
Registered Extension Developers
69
Released Extensions
Incredible Growth.
Thanks to you
380+
Released Extensions
59,000
Streamers Using Extensions
400 Million
Interactions through Extensions
60%
Partners/Affiliates Using Extensions
4.9 Billion
Interactions through Extensions
The products created by our
developer community have had
a massive impact on Twitch.
We’re proud to be building
solutions that support you.
TwitchCon 2018 San Jose, California
Extension Product
Process
Each feature we build is designed to
solve a developer problem
TwitchCon 2018 San Jose, California
Make it easy for developers to
create the future of shared real-
time entertainment on Twitch.“
TwitchCon 2018 San Jose, California
Example 1:
Extensions-in-Chat
Bringing the power of Extensions into
the shared community experience that is
Twitch Chat.
TwitchCon 2018 San Jose, California
Problem
EXTENSIONS-IN-CHAT
I want to connect my
Extension experience
to where the users
are interacting today,
Twitch Chat.
Build supported APIs
that enable
Extensions to send
messages to Chat.
Solution
Simplify Your
Development Experience
- No need to create and manage a Twitch
account for your chatbot
- Integrate with APIs, no IRC connection
required
- Users can discover & install your
Extension through Chat
EXTENSIONS-IN-CHAT
Twitch.ext.onAuthorized((auth) => {
fetch(url, {
method: 'POST',
headers: {
'Client-ID': auth.clientId,
Authorization: `Bearer {auth.token}`,
},
body: JSON.stringify({
text: 'this is an example message PogChamp',
}),
});
});
1

2

3

4

5

6

7

8

9

10

11

12
13
14
15
Extensions-in-Chat

10 Lines of Code
ENDLESS POSSIBILITIES FOR EXTENSIONS-IN-CHAT
A simple chat message is just the beginning of
how we envision developer products
enhancing Chat. We are investigating several
additional developer-powered Chat
interactions, including:
- Pinned Chat messages
- Native Chat interactions
- Defined syntax input
… and more!
Unlocking Future
Potential
TwitchCon 2018 San Jose, California
Example 2:
Configuration Service
Make your Extensions customizable by
streamers and bring your ideas to market
faster.
TwitchCon 2018 San Jose, California
The Situation
To build even a simple
Extension, you needed to build
a backend with a database to
handle any persistent data and
expose that backend to
significant scale on channel
load.
BEFORE THE CONFIG SERVICE…
Backend APIDatabase
Extension Viewer
Frontend
Extension Viewer
Frontend
TwitchCon 2018 San Jose, California
CONFIGURATION SERVICE
I need to build a back-
end and database for
simple Extension
scenarios that involve
persisted data.
Build a service to
manage this for you
reducing developer
cost and scale
requirements.
Problem Solution
Simplify Your
Development Experience
- Channels can start up without needing to
hit your EBS; less scale!
- You don’t need to build this part of your
backend
- You can build some Extensions that don’t
need a backend at all
CONFIGURATION SERVICE
MANAGE MORE THAN JUST CONFIGURATION
We started with long-lived configuration as
it’s a scenario shared by many Extensions.
We aim to take the underlying tech and
expand it to new scenarios for Extension
developers.
- User state service
- Audience segmentation
- Run a backend on your behalf
… and more!
Unlocking Future
Potential
TwitchCon 2018 San Jose, California
Example 3:
Developer Rig
Your one-stop shop for Twitch Extension
development.
TwitchCon 2018 San Jose, California
DEVELOPER RIG
How can I quickly
build, test, and iterate
my Extension to build
the best possible
experience for
streamers and their
viewers?
Build a tool that
enables developers to
get started building
quickly locally.
Problem Solution
Simplify Your
Development Experience
- Get building quickly and access the
experiences you need to get your
Extension out to customers
- Focus on building the best experience
possible
DEVELOPER RIG
ONE-STOP DEVELOPMENT SHOP
We started with testing, but we want to
make sure you have the tools you need
where you are developing.
- Advanced CLI Tools for local
development
- Integrated dev experience on
dev.twitch.tv
… and more!
Unlocking Future
Potential
TwitchCon 2018 San Jose, California
Many additional updates
Major Product Releases
- Extensions on mobile
- Multiple video overlays
- Pop-out Extensions
- Developer Rig: local mode
- Developer Rig: Extension
projects
Minor Feature Improvements
- Twitch actions
‣ Follow channel
‣ Minimize overlay
‣ Request ID share
‣ Hosting info
- Global PubSub topic
- OnContext updates
‣ Player control visibility
‣ Audio volume/mute
‣ Theme (light/dark)
Summary
The Twitch Extensions framework is built for you.
Your feedback powers our roadmap.
Let’s build the future together.
Questions?
Let’s Build Something
Great Together
Contact us through our social channels
TWITTER
@TwitchDev
DEV SERVER
Download at link.twitch.tv/devchat
DEV FORUM
https://discuss.dev.twitch.tv/

More Related Content

Building Extensions With You

  • 1. TwitchCon 2018 San Jose, California Ryan Lubinski
 Senior Product Manager Greg Smith Senior Product Manager
  • 3. TwitchCon 2018 San Jose, California Launch September 6, 2017 22 Extensions 17 Developers Extensions
 Launch
  • 4. TwitchCon 2018 San Jose, California Dev Day 2017 Dev Day 2018 1,000 Registered Extension Developers 1,000+ Registered Extension Developers 69 Released Extensions Incredible Growth. Thanks to you 380+ Released Extensions 59,000 Streamers Using Extensions 400 Million Interactions through Extensions 60% Partners/Affiliates Using Extensions 4.9 Billion Interactions through Extensions The products created by our developer community have had a massive impact on Twitch. We’re proud to be building solutions that support you.
  • 5. TwitchCon 2018 San Jose, California Extension Product Process Each feature we build is designed to solve a developer problem
  • 6. TwitchCon 2018 San Jose, California Make it easy for developers to create the future of shared real- time entertainment on Twitch.“
  • 7. TwitchCon 2018 San Jose, California Example 1: Extensions-in-Chat Bringing the power of Extensions into the shared community experience that is Twitch Chat.
  • 8. TwitchCon 2018 San Jose, California Problem EXTENSIONS-IN-CHAT I want to connect my Extension experience to where the users are interacting today, Twitch Chat. Build supported APIs that enable Extensions to send messages to Chat. Solution
  • 9. Simplify Your Development Experience - No need to create and manage a Twitch account for your chatbot - Integrate with APIs, no IRC connection required - Users can discover & install your Extension through Chat EXTENSIONS-IN-CHAT
  • 10. Twitch.ext.onAuthorized((auth) => { fetch(url, { method: 'POST', headers: { 'Client-ID': auth.clientId, Authorization: `Bearer {auth.token}`, }, body: JSON.stringify({ text: 'this is an example message PogChamp', }), }); }); 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12 13 14 15 Extensions-in-Chat
 10 Lines of Code
  • 11. ENDLESS POSSIBILITIES FOR EXTENSIONS-IN-CHAT A simple chat message is just the beginning of how we envision developer products enhancing Chat. We are investigating several additional developer-powered Chat interactions, including: - Pinned Chat messages - Native Chat interactions - Defined syntax input … and more! Unlocking Future Potential
  • 12. TwitchCon 2018 San Jose, California Example 2: Configuration Service Make your Extensions customizable by streamers and bring your ideas to market faster.
  • 13. TwitchCon 2018 San Jose, California The Situation To build even a simple Extension, you needed to build a backend with a database to handle any persistent data and expose that backend to significant scale on channel load. BEFORE THE CONFIG SERVICE… Backend APIDatabase Extension Viewer Frontend Extension Viewer Frontend
  • 14. TwitchCon 2018 San Jose, California CONFIGURATION SERVICE I need to build a back- end and database for simple Extension scenarios that involve persisted data. Build a service to manage this for you reducing developer cost and scale requirements. Problem Solution
  • 15. Simplify Your Development Experience - Channels can start up without needing to hit your EBS; less scale! - You don’t need to build this part of your backend - You can build some Extensions that don’t need a backend at all CONFIGURATION SERVICE
  • 16. MANAGE MORE THAN JUST CONFIGURATION We started with long-lived configuration as it’s a scenario shared by many Extensions. We aim to take the underlying tech and expand it to new scenarios for Extension developers. - User state service - Audience segmentation - Run a backend on your behalf … and more! Unlocking Future Potential
  • 17. TwitchCon 2018 San Jose, California Example 3: Developer Rig Your one-stop shop for Twitch Extension development.
  • 18. TwitchCon 2018 San Jose, California DEVELOPER RIG How can I quickly build, test, and iterate my Extension to build the best possible experience for streamers and their viewers? Build a tool that enables developers to get started building quickly locally. Problem Solution
  • 19. Simplify Your Development Experience - Get building quickly and access the experiences you need to get your Extension out to customers - Focus on building the best experience possible DEVELOPER RIG
  • 20. ONE-STOP DEVELOPMENT SHOP We started with testing, but we want to make sure you have the tools you need where you are developing. - Advanced CLI Tools for local development - Integrated dev experience on dev.twitch.tv … and more! Unlocking Future Potential
  • 21. TwitchCon 2018 San Jose, California Many additional updates Major Product Releases - Extensions on mobile - Multiple video overlays - Pop-out Extensions - Developer Rig: local mode - Developer Rig: Extension projects Minor Feature Improvements - Twitch actions ‣ Follow channel ‣ Minimize overlay ‣ Request ID share ‣ Hosting info - Global PubSub topic - OnContext updates ‣ Player control visibility ‣ Audio volume/mute ‣ Theme (light/dark)
  • 22. Summary The Twitch Extensions framework is built for you. Your feedback powers our roadmap. Let’s build the future together.
  • 24. Let’s Build Something Great Together Contact us through our social channels TWITTER @TwitchDev DEV SERVER Download at link.twitch.tv/devchat DEV FORUM https://discuss.dev.twitch.tv/