SlideShare a Scribd company logo
1 of 38
Download to read offline
Sanyu Kiruluta

Manager, Developer
Onboarding
Twitch Extension Review Process:
The Missing Manual!
TwitchCon 2018 San Jose, California
300+ Live Extensions
2039
Reviews
1304
Approvals
29%
Approved 1st Try
Twitch Extension
Review Statistics
What do we do? What
happens when we get
to the approval
process?
EXTENSION APPROVAL PROCESS
Help you understand
policyLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
01.
Provide clear review
guidanceLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
02.
HI SANYU,
YOUR EXTENSION HAS NOT PASSED REVIEW.
YOUR EXTENSION MUST HAVE AT LEAST ONE VALID SCREENSHOT.
IF YOU HAVE ALREADY ADDED A SCREENSHOT, BUT ADDED IT AFTER
MOVING TO HOSTED TEST, PLEASE IGNORE THIS MESSAGE AND MOVE
YOUR EXTENSION BACK INTO REVIEW.
FILES & CODE REVIEW ISSUES:
• EMBEDDABLE IFRAMES ARE NOT ALLOWED WITHIN EXTENSIONS.
• ALL EXTERNAL CSS/JS MUST BE INCLUDED WITH YOUR UPLOAD
TWITCHDEV
TO ME >
WHAT? OH NO! BOOOOOOO!
What do we do? What
happens when we get
to the approval
process?
EXTENSION APPROVAL PROCESS
Help you understand
policyLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
01.
Provide clear review
guidanceLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
02.
HI SANYU,
CONGRATULATIONS. YOUR EXTENSION HAS BEEN APPROVED!
TWITCHDEV
TO ME >
HOORAH! YAY! AWESOME!
How are we going to do that?
- Walkthrough the Extension Lifecycle
- Discuss the the Extension Review Process
- Look at the Top 10 Extension Review Failure Reasons
- Final Tips and Tricks
TwitchCon 2018 San Jose, California
Twitch Extension
Lifecycle
TwitchCon 2018 San Jose, California
Extension
Lifecycle
Create Extension
dev.twitch.tv
Create
Extension
EXTENSION REVIEW PROCESS
TwitchCon 2018 San Jose, California
Test Extension
- Develop and test
frontend and backend
- Submit metadata and
assets
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
TwitchCon 2018 San Jose, California
Submit Extension for
Review
- Metadata Review
- Policy Review
- Functional Review
- Code Review
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
TwitchCon 2018 San Jose, California
HI SANYU,
YOUR EXTENSION HAS N
YOUR EXTENSION MUST
IF YOU HAVE ALREADY AD
MOVING TO HOSTED TES
YOUR EXTENSION BACK I
FILES & CODE REVIEW IS
• EMBEDDABLE IFRAMES
• ALL EXTERNAL CSS/JS M
TWITCHDEV
TO ME >
WHAT? OH NO! BO
O!
Failed Review
- Metadata Issues
- Policy Issues
- Functional Issues
- Code Issues
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
TwitchCon 2018 San Jose, California
Submit Extension for
Review
- Metadata Review
- Policy Review
- Functional Review
- Code Review
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
TwitchCon 2018 San Jose, California
HI SANYU,
CONGRATULATIONS. YO
TWITCHDEV
TO ME >
HOORAH! YAY! AW
Extension Approved
- No review issues found
- Ready for go live
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
Approved
TwitchCon 2018 San Jose, California
Go Live!
- Developer has full
control release timing
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
Approved
Released
TwitchCon 2018 San Jose, California
Twitch Extension
Review Process
- Metadata Review
- Policy Review
- Code Review
- Functional Review
TwitchCon 2018 San Jose, California
Metadata
Missing icon or images - No Twitch Images - Incomplete descriptions
Review
TwitchCon 2018 San Jose, California
Policy Review
Extensions Guidelines, Developer Agreement, Twitch Terms of
Service, Community Guidelines, Bits Acceptable Use Policy, Oh My!
TwitchCon 2018 San Jose, California
Functional Review
Is your review channel live? Is your backend up? Is your Extension
configuration easy to understand?
TwitchCon 2018 San Jose, California
Code Review
Obfuscation, eval(), Missing HTML/JS files
TwitchCon 2018 San Jose, California
Top 10 Extension Review
Failure Reasons
TwitchCon 2018 San Jose, California
YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE
WAY FOR US TO TEST YOUR EXTENSION
Number of ways you can set this up
- ffmpeg
- Include optimal review times in your
review notes
#1: Review Channel
Not Live (Functional)
Starting today, we are reducing the
number of use cases where a review
channel required
TwitchCon 2018 San Jose, California
YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE
WAY FOR US TO TEST YOUR EXTENSION
Number of ways you can set this up
- ffmpeg
- Include optimal review times in your
review notes
#1: Review Channel
Not Live (Functional)
Starting today, we are reducing the
number of use cases where a review
channel required
TwitchCon 2018 San Jose, California
DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS,
IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST
Always move your Extension back into
Test before making metadata changes
#2: Metadata Change in
Hosted Test (Metadata)
We are working on a better solution
for this!
TwitchCon 2018 San Jose, California
DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS,
IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST
Always move your Extension back into
Test before making metadata changes
#2: Metadata Change in
Hosted Test (Metadata)
We are working on a better solution
for this!
TwitchCon 2018 San Jose, California
DOUBLE CHECK YOUR MANIFEST BEFORE SUBMITTING
FOR REVIEW
- You must include Extension helper in
your asset upload to the Twitch CDN
- If you are not providing a config.html,
remove reference to it from your
manifest
#3: HTML/JS/CSS Files
Missing (Code Review)
TwitchCon 2018 San Jose, California
MINIFICATION IS OK IF CODE IS STILL HUMAN-
READABLE
New Obfuscation Policy!
#4: Obfuscation
(Code Review)
TwitchCon 2018 San Jose, California
MINIFICATION IS OK IF CODE IS STILL HUMAN-
READABLE
New Obfuscation Policy!
#4: Obfuscation
(Code Review)
TwitchCon 2018 San Jose, California
YOUR DESCRIPTION SHOULD DESCRIBE
ACCURATELY AND COMPLETELY THE
FUNCTIONALITY AVAILABLE IN YOUR EXTENSION
#5: Insufficient Description
(Metadata)
TwitchCon 2018 San Jose, California
You must resubmit for review if you update your
broadcaster whitelist
IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT
- Provide clear testing instructions
- Make sure your backend is live
- Use account whitelisting for pre-release testing
#6: Failed to Load
(Functional)
TwitchCon 2018 San Jose, California
You must resubmit for review if you update your
broadcaster whitelist
IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT
- Provide clear testing instructions
- Make sure your backend is live
- Use account whitelisting for pre-release testing
#6: Failed to Load
(Functional)
TwitchCon 2018 San Jose, California
IF YOU DON’T HAVE THE RIGHTS TO USE THE IMAGE,
DON’T INCLUDE IT IN YOUR SUBMISSION.
#7: Unauthorized Usage of
Twitch IP (Policy)
TwitchCon 2018 San Jose, California
YOUR EXTENSION CAN INCLUDE AUDIO BUT IT MUST BE
OFF BY DEFAULT, AND IT MUST PROVIDE A WAY FOR
VIEWERS TO ADJUST THE VOLUME
#8: Audio (Policy)
TwitchCon 2018 San Jose, California
EXTENSIONS ARE MEANT TO ENHANCE THE
BROADCASTER AND VIEWER EXPERIENCE ON TWITCH
#9: Offsite Links to
Ads or Non-Twitch
Functionality (Policy)
TwitchCon 2018 San Jose, California
REVIEW THE BITS-IN-EXTENSIONS GUIDELINES AND THE
BITS ACCEPTABLE USE POLICY
New Bits-in-Extensions Policy!
#10: Violates Bits
Usage Policies (Policy)
TwitchCon 2018 San Jose, California
REVIEW THE BITS-IN-EXTENSION GUIDELINES AND THE
BITS ACCEPTABLE USE POLICY
New Bits-in-Extensions Policy!
#10: Violates Bits
Usage Policies (Policy)
TwitchCon 2018 San Jose, California
Final Tips
and Tricks
- Provide a clear description &
detailed testing instructions
- Use account whitelisting for pre-
release testing
- Think BIG
- Reach out for help or advice or to
give us feedback
Questions?

More Related Content

Similar to Twitch Extension Review Process: The Missing Manual

Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020
Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020
Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020Emily Potter
 
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin ChampionUpgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin ChampionAtlassian
 
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...AgileNetwork
 
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...Agile Testing Alliance
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfQA or the Highway
 
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...BLASTmedia
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...TEST Huddle
 
An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAtlassian
 
Decoding Triggers for Admins
Decoding Triggers for AdminsDecoding Triggers for Admins
Decoding Triggers for AdminsSalesforce Admins
 
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Hannah Flynn
 
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Aggregage
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015Yuval Yeret
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardTechWell
 
ACG SL - Kanban.pdf
ACG SL - Kanban.pdfACG SL - Kanban.pdf
ACG SL - Kanban.pdfrumesh
 
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14Salesforce Developers
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team CollaborationOpen Source Consulting
 
Rapid Prototyping Twitch Extensions: Five Lessons Learned
Rapid Prototyping Twitch Extensions: Five Lessons LearnedRapid Prototyping Twitch Extensions: Five Lessons Learned
Rapid Prototyping Twitch Extensions: Five Lessons LearnedTwitch Developers
 
Lean Software Development Is for Everyone
Lean Software Development Is for EveryoneLean Software Development Is for Everyone
Lean Software Development Is for EveryoneTechWell
 
Shifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsShifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsSauce Labs
 

Similar to Twitch Extension Review Process: The Missing Manual (20)

Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020
Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020
Your SEO Experience Is Holding You Back - DeepCrawl Webinar - May 2020
 
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin ChampionUpgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
 
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...
Agile Network India | Agile Gurugram | Meetup | Agile Life-cycle management u...
 
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...
#ATAGTR2020 Presentation - Speed Up Your Regression Testing Cycles with Data ...
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdf
 
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...
7 Habits of Highly Effective YouTubers: Actionable Tactics to Step up Your Yo...
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
 
An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App Experiences
 
Decoding Triggers for Admins
Decoding Triggers for AdminsDecoding Triggers for Admins
Decoding Triggers for Admins
 
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
 
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
Dashboards That Set Your App Apart: Build Actionable Dashboards to Drive Your...
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
ACG SL - Kanban.pdf
ACG SL - Kanban.pdfACG SL - Kanban.pdf
ACG SL - Kanban.pdf
 
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
 
Rapid Prototyping Twitch Extensions: Five Lessons Learned
Rapid Prototyping Twitch Extensions: Five Lessons LearnedRapid Prototyping Twitch Extensions: Five Lessons Learned
Rapid Prototyping Twitch Extensions: Five Lessons Learned
 
Tailoring the DITA Suit to Fit
Tailoring the DITA Suit to FitTailoring the DITA Suit to Fit
Tailoring the DITA Suit to Fit
 
Lean Software Development Is for Everyone
Lean Software Development Is for EveryoneLean Software Development Is for Everyone
Lean Software Development Is for Everyone
 
Shifting Left Using Sauce Analytics
Shifting Left Using Sauce AnalyticsShifting Left Using Sauce Analytics
Shifting Left Using Sauce Analytics
 

More from Twitch Developers

Embracing the Hobbyist Persona
Embracing the Hobbyist PersonaEmbracing the Hobbyist Persona
Embracing the Hobbyist PersonaTwitch Developers
 
Using Insights to Build Better Products and Grow on Twitch
Using Insights to Build Better Products and Grow on TwitchUsing Insights to Build Better Products and Grow on Twitch
Using Insights to Build Better Products and Grow on TwitchTwitch Developers
 
TwitchCon Developer Day Keynote
TwitchCon Developer Day KeynoteTwitchCon Developer Day Keynote
TwitchCon Developer Day KeynoteTwitch Developers
 
Monetize Your Extension a Bit at a Time
Monetize Your Extension a Bit at a TimeMonetize Your Extension a Bit at a Time
Monetize Your Extension a Bit at a TimeTwitch Developers
 
Extension Design Patterns for Twitch Scale
Extension Design Patterns for Twitch ScaleExtension Design Patterns for Twitch Scale
Extension Design Patterns for Twitch ScaleTwitch Developers
 
Bots Bots Bots: Building Chatbots
Bots Bots Bots: Building ChatbotsBots Bots Bots: Building Chatbots
Bots Bots Bots: Building ChatbotsTwitch Developers
 
How Streaming is Changing the Way We Play
How Streaming is Changing the Way We PlayHow Streaming is Changing the Way We Play
How Streaming is Changing the Way We PlayTwitch Developers
 
Twitch Insights: Player Research and Interaction
Twitch Insights: Player Research and InteractionTwitch Insights: Player Research and Interaction
Twitch Insights: Player Research and InteractionTwitch Developers
 
Using Twitch Drops to Promote Viewer Engagement
Using Twitch Drops to Promote Viewer Engagement Using Twitch Drops to Promote Viewer Engagement
Using Twitch Drops to Promote Viewer Engagement Twitch Developers
 
Twitch Extensions: Live Apps for Live Streams
Twitch Extensions: Live Apps for Live StreamsTwitch Extensions: Live Apps for Live Streams
Twitch Extensions: Live Apps for Live StreamsTwitch Developers
 
Making Twitch Interactive with Twitch Extensions
Making Twitch Interactive with Twitch ExtensionsMaking Twitch Interactive with Twitch Extensions
Making Twitch Interactive with Twitch ExtensionsTwitch Developers
 
Improving Game Performance and Streaming with Twitch Insights
Improving Game Performance and Streaming with Twitch Insights Improving Game Performance and Streaming with Twitch Insights
Improving Game Performance and Streaming with Twitch Insights Twitch Developers
 
Engaging Your Community with Twitch
Engaging Your Community with TwitchEngaging Your Community with Twitch
Engaging Your Community with TwitchTwitch Developers
 
Empowering Extensions with Game APIs
Empowering Extensions with Game APIsEmpowering Extensions with Game APIs
Empowering Extensions with Game APIsTwitch Developers
 
Empowering Content Creators to Promote Your Game
Empowering Content Creators to Promote Your GameEmpowering Content Creators to Promote Your Game
Empowering Content Creators to Promote Your GameTwitch Developers
 
Accelerating Development of Twitch Extensions for Your Game
Accelerating Development of Twitch Extensions for Your GameAccelerating Development of Twitch Extensions for Your Game
Accelerating Development of Twitch Extensions for Your GameTwitch Developers
 
Keynote - TwitchCon Developer Day 2017
Keynote - TwitchCon Developer Day 2017Keynote - TwitchCon Developer Day 2017
Keynote - TwitchCon Developer Day 2017Twitch Developers
 

More from Twitch Developers (20)

Embracing the Hobbyist Persona
Embracing the Hobbyist PersonaEmbracing the Hobbyist Persona
Embracing the Hobbyist Persona
 
Using Insights to Build Better Products and Grow on Twitch
Using Insights to Build Better Products and Grow on TwitchUsing Insights to Build Better Products and Grow on Twitch
Using Insights to Build Better Products and Grow on Twitch
 
Twitch for Game Developers
Twitch for Game DevelopersTwitch for Game Developers
Twitch for Game Developers
 
TwitchCon Developer Day Keynote
TwitchCon Developer Day KeynoteTwitchCon Developer Day Keynote
TwitchCon Developer Day Keynote
 
Monetize Your Extension a Bit at a Time
Monetize Your Extension a Bit at a TimeMonetize Your Extension a Bit at a Time
Monetize Your Extension a Bit at a Time
 
Extension Design Patterns for Twitch Scale
Extension Design Patterns for Twitch ScaleExtension Design Patterns for Twitch Scale
Extension Design Patterns for Twitch Scale
 
Bots Bots Bots: Building Chatbots
Bots Bots Bots: Building ChatbotsBots Bots Bots: Building Chatbots
Bots Bots Bots: Building Chatbots
 
Twitch Developer Tour
Twitch Developer Tour Twitch Developer Tour
Twitch Developer Tour
 
How Streaming is Changing the Way We Play
How Streaming is Changing the Way We PlayHow Streaming is Changing the Way We Play
How Streaming is Changing the Way We Play
 
Twitch Insights: Player Research and Interaction
Twitch Insights: Player Research and InteractionTwitch Insights: Player Research and Interaction
Twitch Insights: Player Research and Interaction
 
Twitch + Games
Twitch + GamesTwitch + Games
Twitch + Games
 
Using Twitch Drops to Promote Viewer Engagement
Using Twitch Drops to Promote Viewer Engagement Using Twitch Drops to Promote Viewer Engagement
Using Twitch Drops to Promote Viewer Engagement
 
Twitch Extensions: Live Apps for Live Streams
Twitch Extensions: Live Apps for Live StreamsTwitch Extensions: Live Apps for Live Streams
Twitch Extensions: Live Apps for Live Streams
 
Making Twitch Interactive with Twitch Extensions
Making Twitch Interactive with Twitch ExtensionsMaking Twitch Interactive with Twitch Extensions
Making Twitch Interactive with Twitch Extensions
 
Improving Game Performance and Streaming with Twitch Insights
Improving Game Performance and Streaming with Twitch Insights Improving Game Performance and Streaming with Twitch Insights
Improving Game Performance and Streaming with Twitch Insights
 
Engaging Your Community with Twitch
Engaging Your Community with TwitchEngaging Your Community with Twitch
Engaging Your Community with Twitch
 
Empowering Extensions with Game APIs
Empowering Extensions with Game APIsEmpowering Extensions with Game APIs
Empowering Extensions with Game APIs
 
Empowering Content Creators to Promote Your Game
Empowering Content Creators to Promote Your GameEmpowering Content Creators to Promote Your Game
Empowering Content Creators to Promote Your Game
 
Accelerating Development of Twitch Extensions for Your Game
Accelerating Development of Twitch Extensions for Your GameAccelerating Development of Twitch Extensions for Your Game
Accelerating Development of Twitch Extensions for Your Game
 
Keynote - TwitchCon Developer Day 2017
Keynote - TwitchCon Developer Day 2017Keynote - TwitchCon Developer Day 2017
Keynote - TwitchCon Developer Day 2017
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Twitch Extension Review Process: The Missing Manual

  • 2. Twitch Extension Review Process: The Missing Manual!
  • 3. TwitchCon 2018 San Jose, California 300+ Live Extensions 2039 Reviews 1304 Approvals 29% Approved 1st Try Twitch Extension Review Statistics
  • 4. What do we do? What happens when we get to the approval process? EXTENSION APPROVAL PROCESS Help you understand policyLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore 01. Provide clear review guidanceLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore 02. HI SANYU, YOUR EXTENSION HAS NOT PASSED REVIEW. YOUR EXTENSION MUST HAVE AT LEAST ONE VALID SCREENSHOT. IF YOU HAVE ALREADY ADDED A SCREENSHOT, BUT ADDED IT AFTER MOVING TO HOSTED TEST, PLEASE IGNORE THIS MESSAGE AND MOVE YOUR EXTENSION BACK INTO REVIEW. FILES & CODE REVIEW ISSUES: • EMBEDDABLE IFRAMES ARE NOT ALLOWED WITHIN EXTENSIONS. • ALL EXTERNAL CSS/JS MUST BE INCLUDED WITH YOUR UPLOAD TWITCHDEV TO ME > WHAT? OH NO! BOOOOOOO!
  • 5. What do we do? What happens when we get to the approval process? EXTENSION APPROVAL PROCESS Help you understand policyLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore 01. Provide clear review guidanceLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore 02. HI SANYU, CONGRATULATIONS. YOUR EXTENSION HAS BEEN APPROVED! TWITCHDEV TO ME > HOORAH! YAY! AWESOME!
  • 6. How are we going to do that? - Walkthrough the Extension Lifecycle - Discuss the the Extension Review Process - Look at the Top 10 Extension Review Failure Reasons - Final Tips and Tricks
  • 7. TwitchCon 2018 San Jose, California Twitch Extension Lifecycle
  • 8. TwitchCon 2018 San Jose, California Extension Lifecycle Create Extension dev.twitch.tv Create Extension EXTENSION REVIEW PROCESS
  • 9. TwitchCon 2018 San Jose, California Test Extension - Develop and test frontend and backend - Submit metadata and assets Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS
  • 10. TwitchCon 2018 San Jose, California Submit Extension for Review - Metadata Review - Policy Review - Functional Review - Code Review Under Review Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS
  • 11. TwitchCon 2018 San Jose, California HI SANYU, YOUR EXTENSION HAS N YOUR EXTENSION MUST IF YOU HAVE ALREADY AD MOVING TO HOSTED TES YOUR EXTENSION BACK I FILES & CODE REVIEW IS • EMBEDDABLE IFRAMES • ALL EXTERNAL CSS/JS M TWITCHDEV TO ME > WHAT? OH NO! BO O! Failed Review - Metadata Issues - Policy Issues - Functional Issues - Code Issues Under Review Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS
  • 12. TwitchCon 2018 San Jose, California Submit Extension for Review - Metadata Review - Policy Review - Functional Review - Code Review Under Review Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS
  • 13. TwitchCon 2018 San Jose, California HI SANYU, CONGRATULATIONS. YO TWITCHDEV TO ME > HOORAH! YAY! AW Extension Approved - No review issues found - Ready for go live Under Review Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS Approved
  • 14. TwitchCon 2018 San Jose, California Go Live! - Developer has full control release timing Under Review Test / Hosted Test Extension Lifecycle Create Extension EXTENSION REVIEW PROCESS Approved Released
  • 15. TwitchCon 2018 San Jose, California Twitch Extension Review Process - Metadata Review - Policy Review - Code Review - Functional Review
  • 16. TwitchCon 2018 San Jose, California Metadata Missing icon or images - No Twitch Images - Incomplete descriptions Review
  • 17. TwitchCon 2018 San Jose, California Policy Review Extensions Guidelines, Developer Agreement, Twitch Terms of Service, Community Guidelines, Bits Acceptable Use Policy, Oh My!
  • 18. TwitchCon 2018 San Jose, California Functional Review Is your review channel live? Is your backend up? Is your Extension configuration easy to understand?
  • 19. TwitchCon 2018 San Jose, California Code Review Obfuscation, eval(), Missing HTML/JS files
  • 20. TwitchCon 2018 San Jose, California Top 10 Extension Review Failure Reasons
  • 21. TwitchCon 2018 San Jose, California YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE WAY FOR US TO TEST YOUR EXTENSION Number of ways you can set this up - ffmpeg - Include optimal review times in your review notes #1: Review Channel Not Live (Functional) Starting today, we are reducing the number of use cases where a review channel required
  • 22. TwitchCon 2018 San Jose, California YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE WAY FOR US TO TEST YOUR EXTENSION Number of ways you can set this up - ffmpeg - Include optimal review times in your review notes #1: Review Channel Not Live (Functional) Starting today, we are reducing the number of use cases where a review channel required
  • 23. TwitchCon 2018 San Jose, California DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS, IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST Always move your Extension back into Test before making metadata changes #2: Metadata Change in Hosted Test (Metadata) We are working on a better solution for this!
  • 24. TwitchCon 2018 San Jose, California DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS, IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST Always move your Extension back into Test before making metadata changes #2: Metadata Change in Hosted Test (Metadata) We are working on a better solution for this!
  • 25. TwitchCon 2018 San Jose, California DOUBLE CHECK YOUR MANIFEST BEFORE SUBMITTING FOR REVIEW - You must include Extension helper in your asset upload to the Twitch CDN - If you are not providing a config.html, remove reference to it from your manifest #3: HTML/JS/CSS Files Missing (Code Review)
  • 26. TwitchCon 2018 San Jose, California MINIFICATION IS OK IF CODE IS STILL HUMAN- READABLE New Obfuscation Policy! #4: Obfuscation (Code Review)
  • 27. TwitchCon 2018 San Jose, California MINIFICATION IS OK IF CODE IS STILL HUMAN- READABLE New Obfuscation Policy! #4: Obfuscation (Code Review)
  • 28. TwitchCon 2018 San Jose, California YOUR DESCRIPTION SHOULD DESCRIBE ACCURATELY AND COMPLETELY THE FUNCTIONALITY AVAILABLE IN YOUR EXTENSION #5: Insufficient Description (Metadata)
  • 29. TwitchCon 2018 San Jose, California You must resubmit for review if you update your broadcaster whitelist IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT - Provide clear testing instructions - Make sure your backend is live - Use account whitelisting for pre-release testing #6: Failed to Load (Functional)
  • 30. TwitchCon 2018 San Jose, California You must resubmit for review if you update your broadcaster whitelist IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT - Provide clear testing instructions - Make sure your backend is live - Use account whitelisting for pre-release testing #6: Failed to Load (Functional)
  • 31. TwitchCon 2018 San Jose, California IF YOU DON’T HAVE THE RIGHTS TO USE THE IMAGE, DON’T INCLUDE IT IN YOUR SUBMISSION. #7: Unauthorized Usage of Twitch IP (Policy)
  • 32. TwitchCon 2018 San Jose, California YOUR EXTENSION CAN INCLUDE AUDIO BUT IT MUST BE OFF BY DEFAULT, AND IT MUST PROVIDE A WAY FOR VIEWERS TO ADJUST THE VOLUME #8: Audio (Policy)
  • 33. TwitchCon 2018 San Jose, California EXTENSIONS ARE MEANT TO ENHANCE THE BROADCASTER AND VIEWER EXPERIENCE ON TWITCH #9: Offsite Links to Ads or Non-Twitch Functionality (Policy)
  • 34. TwitchCon 2018 San Jose, California REVIEW THE BITS-IN-EXTENSIONS GUIDELINES AND THE BITS ACCEPTABLE USE POLICY New Bits-in-Extensions Policy! #10: Violates Bits Usage Policies (Policy)
  • 35. TwitchCon 2018 San Jose, California REVIEW THE BITS-IN-EXTENSION GUIDELINES AND THE BITS ACCEPTABLE USE POLICY New Bits-in-Extensions Policy! #10: Violates Bits Usage Policies (Policy)
  • 36. TwitchCon 2018 San Jose, California Final Tips and Tricks - Provide a clear description & detailed testing instructions - Use account whitelisting for pre- release testing - Think BIG - Reach out for help or advice or to give us feedback
  • 37.