Whispers on IRC 2: Electric Boogaloo

OK, so since this topic got closed before I had any chance to respond…

Websockets is merely a different transport protocol underneath the IRC application protocol, making it easier to communicate from a browser context.

What does that have to do with using existing IRC features or not? Yes, you can tunnel IRC or whatever else you like through Websocket, which seems to be what they’re doing now.

It fails to provide user<->user in the way we want it, yes.

What way is that? I can’t see what the problem could be that IRC can’t be used.

IRC is made for stateless pubsub messaging. It’s really good at broadcasting a message to a group of users, assuming you don’t care about, say, saving the messages for people who are offline and replaying it to them.

…like you do with the channel chat already (the HISTORYEND message)? No reason you couldn’t save messages and PM them to users when they sign on.

In a universe where we want to provide a good experience for our users by selecting the technology most appropriate for the product we want to build, instead of arbitrarily shackling ourselves to some standard.

So IRC isn’t “appropriate technology” for chat, so instead you plan to continue using IRC with nonstandard extensions plus a completely separate protocol for one other feature?

This whole development really annoys me for a number of reasons:

  • I use IRC for Twitch chat, and silently missing messages because of some executive decision is pretty silly
  • I develop bots and scripts which could take advantage of this feature, but you’ve (in Twitch staff’s own words) purposely made whispers convoluted for IRC integration
  • Because you plan to replace it in the near future (which makes me really wonder why you introduced it now)
  • …which will only make integration even MORE difficult
  • …with a new protocol (which I imagine will require another always-open connection which adds more points of failure)
  • …instead of using existing IRC features
  • …because “Twitch chat isn’t IRC” even though it uses IRC protocol
  • …because “IRC fails to provide what you want” but I can’t fathom how

Yes, Twitch IRC has always been a bit of a hack but I’ve put a lot of work into a script which makes it integrate a lot more nicely into existing clients. It manages the join/part/mode spam (and messages from users who never really joined), pulls the stream title as channel topic, maps user badges, colours and emotes to coloured text, and nicely handles jtv/twitchnotify and non-standard IRC messages. I plan to add other features like support for block lists, the existing PM system, follow lists, etc.

All of this is fairly trivial so far (hook some messages and events, pull some info from API) and works well, barring some bugs. This new whisper feature could be easily integrated as well, yet for some reason you’ve decided to deliberately make this difficult and replace it with some non-IRC system in the future, creating more headache for me and anyone else who uses or develops bots and scripts. When it could easily be implemented using existing IRC features.

I’m really having a hard time understanding the rationale behind adding this feature only to replace it with something else “soon”, and deliberately making it difficult to integrate into IRC instead of integrating it nicely like other features have been. Especially if at the same time you’re adding chat API documentation, which seems like an effort to support third party chat clients, and yet this seems like an effort to make them less usable.


This is because you don’t know what features we intend on providing in the future.

As was mentioned in the other thread, the current channel chat system will remain IRC for the foreseeable future. Other messaging features will not, because IRC is not an appropriate technology for providing these features. Without knowing what those features are, you have no basis in assuming IRC is an acceptable solution for them.

I’m closing this thread as there’s nothing else any of us can add to the conversation - in the future please avoid starting new threads to reply to closed ones. Thanks!