My Authors
Read all threads
Thread: Let's talk about @Twitch being hostile to third-party developers. Because they are. I should clarify before I get started: I don't blame Twitch employees as a whole. Something this stupid can only be the work of management. And I definitely blame management.
Twitch owes 100% of its success to having a thriving community, right now. It doesn't have the technology to compete. Mixer does everything Twitch does with lower latency. As far as video playback goes even YouTube does better. Granted YT's everything else is kind of terrible.
But if you're using Twitch, you're using it because the community you want is on Twitch. Meaning: 1. Streamers are streaming there because that's where the viewers are. 2. Viewers are watching there because that's where the streamers they like are. You know what else is involved?
Third-party tools. Chat bots. Browser extensions. Custom clients. Stream overlay software. Literally everything you use on Twitch that isn't Twitch's vanilla website.

And you know what they all have in common? They all use Twitch's API to interact with Twitch in some way.
That's what I'm here to talk about. Twitch's API. You see, back in the pre-2018 era, Twitch had a robust API that drove their website and that third-parties could also use.

It led to a wide range of community tools. Bots and custom clients could do anything the site could.
The trouble started when Twitch rewrote their website at the end of 2017 to use React. They also adopted GraphQL for all API purposes for their website.

Third-parties aren't allowed to use GraphQL. Instead, they gave us Helix. Helix is an awful, incomplete mess.
It is three years later and Helix is still missing gigantic swaths of functionality that the old APIs had. You can't enumerate emotes. You can't get the title of an offline channel. You can't set a stream's title. You can't... well, let's just say you can't and leave it at that.
Helix hasn't been a huge issue because the old API, simply called "v5" is still available and working. It's marked as deprecated, but the idea is they won't remove it until they actually make Helix usable.

Or will they?
Twitch recently announced that they will, at the end of February 2020, start severely rate limiting requests made via the old v5 API.

You will have 80 requests per minute per IP address. Not per user. Per IP address. Have 81 active users? Congratulations, your stuff just broke.
Dev Forum Thread: discuss.dev.twitch.tv/t/ip-address-r…

They're giving third-party developers, many of whom are hobbyists, a mere 28 days to do severe overhauls of how their projects work. They're trying to force devs onto Helix, which still doesn't work for most use cases.
This is probably going to break most third-party tools that are server based. If they're popular enough for even eighty people to use them at once, then they'll break. Less than that, really, given most services make more than one API request.

But wait, there's more.
They're also changing Helix API to require that all requests use authentication. 100% of them. Even the boring stuff like "What's the name of user #491817?"

That's going to be breaking a lot of Twitch Extensions, first of all. You know, the things they officially support?
The things largely made by hobbyists, just like every other part of Twitch's community. This change, we have until April 30th for. A couple more months, but still likely not enough for many.

Dev Thread: discuss.dev.twitch.tv/t/requiring-oa…
In the first thread, Twitch staff warns that this is potentially only the first rate limiting to the old v5 API. They might make it worse. ... really? When it's already going to be causing so many problems for the popular tools?

This is not how to make a breaking API change.
28 days is such a hilarious insult to everyone. We're busy. Software development takes time. And you want us to make major changes to everything in under a month.

Whoever set this deadline is either the stupidest, most oblivious person working in tech... or actively hostile.
In the second thread, Twitch staff say and I quote: "This is exactly the conversation we were expecting" about all the complaints and "we are aware of the challenges this can cause for Extension developers".

You expected it. You're aware. And you did it. Right...
Somewhere at @Twitch, a manager has no idea what makes Twitch special and they're trying to kill parts of it to make the numbers on their spreadsheet look nicer. Probably several managers.

It's stupid. It needs to stop. It needed to stop years ago.
@Twitch Just thinking, I should probably describe what an API is for non-developers out there who don't know. API literally means "Application Programming Interface".

It's basically a stable, standardized way of interacting with another computer program, website, etc.
It's like a phone line. Or an electrical outlet. A stable, standard thing that doesn't change and makes it easier to connect stuff.

Emphasis on stable. An API that isn't stable isn't as useful. Once an API is released to the public, it should generally not be changed. At all.
Update: Twitch has listened and they're delaying the implementation of the v5 rate limit, which is the main concern for everyone. They also say they'll have announcements soon about adding missing functionality to the Helix API.

Announcement: discuss.dev.twitch.tv/t/update-on-v5…
I'd like to thank everyone for spreading the word and helping raise our voices on this important topic. Hopefully things develop nicely from this point onward.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Mike @ Home

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!