There's a lot of neat stuff in IRCv3 to bring IRC up to date, but most importantly it is standardising a lot of the existing protocol and patching up some of the existing warts that make pushing IRC difficult - all while being backwards compatible.
Developing kiwiirc.com over the past few years to cover many different IRC servers in all different languages and using many different services/auth services has been a real pain. It won't improve overnight but these IRCv3 extensions making their way into many different IRC server projects are really helping to smooth things out.
There is currently a re-write of the Kiwi IRC project to experiment and make use of the entire IRCv3 extension set, along with some other features to make web based IRC clients just as friendly and modern as people expect from messaging applications today. This will be a huge boost to the millions of people using IRC via Kiwi IRC.
IRC is getting interesting again and IRCv3 is up there making a lot of this possible.
I use KiwiIRC each and everyday. It's one of the nicest looking and easiest to setup web frontend for my hybrid-ircd setup. Sadly it's just a small group of friends and an OLD eggdrop bot that runs a crusty old megahal.mod as entertainment. I haven't found anything that runs as well and can create humerous replies since then. Hopefully the old code will continue to compile for awhile.
Anyway, I strayed off topic. I too am excited for IRCv3 and the future of IRC. I love the protocol, and despite it's drawbacks it serves my purpose well.
And thank you for all your work on KiwiIRC. I love the project :)
Thank you so much for developing such a great IRC client. Question:
>IRC is getting interesting again and IRCv3 is up there making a lot of this possible.
Could you elaborate? What are the most promising things about IRC today? I personally am a huge fan and have been a user for over a decade now. But I do see a lot of underutilized potential.
I second a comment made below regarding https://matrix.org/. I've used IRC for years and still use it almost daily - but come on Mosh + tmux + ec2 just to have permanent chat history? I seriously can't advocate this crap to anyone in 2016. It's too little, too late.
Well, yeah. When I was a teenager my group of friends used to use a QNet IRC chat for communications. Most on mIRC and such clients. Today it's pretty much all nerds. I do enjoy IRC, and pretty much live inside my tmux session, but I don't think I can recommend it to anyone who isn't already probably using it.
Adding tags forced them to increase message length because of how IRC messages are hilariously limited to 512 bytes in all directions. In the existing protocol you already have to guess how long your messages are allowed to be because the server tacks on a prefix to your message before relaying it, which can require it to truncate characters to fit the modified message into the length limit. Having some amount of tags tacked on as well would have made it impossible to guess how much room you had.
Now if they had started with fixing the actual protocol they wouldn't have had to deal with that. Honestly this feels more like a standard "let's add cool stuff" push than intelligent stewardship of the protocol. I guess that is kind of cool too though.
My take is that to some extent the protocol itself is enshrined in a kind of historical gravitas that makes it politically hard to modify.
People assume that IRC as a protocol is not fantastically outdated and it's architecture is inherently distributed and fault tolerant. Even if those things are not really true (at least not at the levels that other moder modern systems would be considered at), people hold onto the belief.
>My favourite bit is how they skipped adding length negotiation and it is causing them problems already.
We are working on it but when you have hundreds of different implementations which are all broken in their own way its not as easy as just adding a way to negotiate the length. Extending the length to add an extra 512 octets for message tags was a temporary fix.
>Now if they had started with fixing the actual protocol they wouldn't have had to deal with that.
We HAVE started with working on fixing the protocol. Almost all of the specifications in IRCv3.1 and most of the specifications in IRCv3.2 fix core protocol issues.
Slack isn't an IRC replacement. It's business trying to embrace, extend, and extinguish the IRC protocol so they can capture the business market that uses IRC and collect rent.
I am very glad this is happening. IRC was one of the first applications I started using on the internet. These days it nearly disappeared because of closed silos like Facebook, Twitter and Slack. This effort could help bring back a decentralized service that is not under the control of any single company.
I'm not sure if this is the best approach. Matrix might be a better way to go, at least for some things. If you really want persistent history and persistent identity, I'm not sure why you bother with IRC at this point: both will always be second class there. Try XMPP, Matrix, Psyc, or whatever. Just so long as you can convince your friends to use it...
On IRC, your "persistent identity" was your user@hostname (and your nick is ephemeral). That's why the user@hostname is shown when a client joins a channel, or in WHO or WHOIS - and why bans match on nick!user@host.
This worked great when people were typically using IRC from their login on a server at their university (and this is also originally why IRC servers used the 'ident' protocol when you connect - to stop you spoofing other users on the same shared system).
It stopped being a viable persistent identity for all users when the @hostname part stopped being persistent - when people started gettting dynamically assigned addresses on internet connections at home.
In many ways, the idea of IRC chat has grown significantly beyond the conventional client. From the ubiquity of chat for productivity in applications like HipChat to the hugely successful Twitch.tv platform, IRC has proven to be a viable backbone in these scenarios. It's quite nice then to see a concerted standardization effort. Hopefully, many of the proprietary features we might recognize today will be widespread and freely available in the future.
I run an XMPP server for myself and a few friend and have had no end to the trouble with it getting OTR or any level of encryption working reliably before friends lose their interest.
Please, someone, just offer us an open source slack clone that runs off on a R-pi and has a walk through wizard to enable the 99% of typical install requirements.
Even as someone who works in the industry, I dont have time to learn the bells and whistles that running a chat server requires.
Maybe also backport some features of Slack, like edition of messages (with a flag marking it as edited), or a common way to have plugins/extensions, or tagging links as images.
> like edition of messages (with a flag marking it as edited)
This works on Slack but only with their client. Use one of the bridges and you have no clue what's going on and they have a centralised system for this. Syncing that somehow across all servers in an IRC network, across netsplits and everything, is far from simple. You'd also need to do this retroactively somehow if a client received a message, disconnects, the message is updated and the client then reconnects, in order to present an accurate history.
> or a common way to have plugins/extensions
IRC already has a way to allow for extensions. Or do you mean client side?
> or tagging links as images
I'm not sure the IRC protocol should care about that at all. It's more up to the client to detect image links and Glowing Bear for example already does and can display them inline.
How on earth do you expert messaging editing to work. Are irc clients supposed to magically redraw the buffer and edit logs??!
You can already tell if a link is an image, because they're posted a link to an image..... Some irc clients already inline images posted....
I know I'll be dowvoted to oblivion but I'll say it anyway...
You advocate for privacy,
You advocate for openness,
You advocate for transparency,
You advocate for interoperability,
You advocate for host-it-yourself,
You advocate for customisability,
You advocate for scriptability
...
But then all of a sudden "oh no IRC, not enough colours, geez, running a bouncer, who wants to do it?"
-------
I'd design irc-v3 to be bouncer-friendly, and maybe to integrate some bouncer-y features into IRC servers as well (most IRC servers keep logs anyway)
They've been working on this for years and I'm seeing very little of it. And beyond that, it's missing everything we take for granted nowadays: scrollback, keeping note of where you were and media sharing.
Yeah media sharing can be done with, what's it called, CTCP? That's just piping stuff through a short message service, like Twitter or DNS. It doesn't properly display media either, but it allows for small file transfers.
And of course scrollback can be done with bouncers. But it's not something I see my mother using. Facebook Messenger is what I see my mother using.
Is there anything new on the website, or it it just being linked again?
I ran an IRCnet server for 15 years or so and when the PSU crapped out I decided 15 years would be enough.
If I were to give one piece of advice: forget IRC. If you want to make a free, large scale chat system, just forget you ever saw IRC. There are no solutions in that neighborhood.
"IRCv3 exists and is addressing some of these issues; this is great news and we wish them well. It’s almost a contradiction in terms to get competitive between openly interoperable communication projects - we look forward to increasing the richness of Matrix<->IRC bridges as the project progresses."
Why not merge the two projects or just focus on one? WebRTC seems to be a better protocol right now.
We, small gaming community were using IRC as matchmaking "service" where we would all add to a queue, and the bot would then create teams based on players ranking.
That worked quite nice, for ~15 years, and whole community was created, things worked quite nice, diehard users used BNC and terminals, but lately everyone is switching to Discord.
Main matchmaking is still on IRC, but other sub-groups migrated to discord long ago, and that scares me, because no one at the moment knows what will happen with Discord year or two from now.
Essentially, as I understand it, if multiple people submit the same exact URL in a short period of time, they count as votes on the first submission (this may well be completely wrong, but that is how I believe it works).
After a period of time, new submissions are their own post, to allow submissions that did not get visibility have a chance at being seen. This is also sometimes done manually by the mods if they see something particularly interesting that was missed (not sure about the last point though again, I believe it to be true).
I've had the same thing happen with a few of my submissions. On the one hand: cool, the story I liked is now being seen. But OTOH: not so cool, I like the HN metagame too.
Interesting development. Apart from the original IRC specification published in 1993 and revised in 2000 (supposedly the namesake of "IRC v3") there has been quite little real standardisation work in IRC protocol, with various clients, servers and platforms each implementing their custom extensions.
Standardisation is weird in IRC. From what I've seen, most of it that has happened has been the result of one group implementing their custom command/extension and then a bunch of other vendors implementing it in the same way (as well as all the interesting politics behind it all). There's a surprising amount that's been mostly-standardised over time, and not just from formal standards groups like the IETF or IRCv3.
Still, it's been really interesting to get into. It's nice seeing how things have gone so far and how they're going forward (and digging into the archives is always fun).
Unrealircd is imcredible, as far as irc servers go. I ran it with 300 concurrent users at a local LAN and was able to do a lot of excitimg things like load balancing between servers other cool things, already back in 2001.
Do a substantial number of IRC users actually care that the current version of IRC lacks the features that IRCv3 proposes, or are we just modernizing because we want to make writing IRC bots more complicated?
IRCv3 makes writing software easier not more complicated.
Take the "away-notify" extension for example. Without it you would have to repeatedly poll a channel with WHO to see if all users in that channel have marked themselves as away.
[+] [-] prawnsalad|9 years ago|reply
Developing kiwiirc.com over the past few years to cover many different IRC servers in all different languages and using many different services/auth services has been a real pain. It won't improve overnight but these IRCv3 extensions making their way into many different IRC server projects are really helping to smooth things out.
There is currently a re-write of the Kiwi IRC project to experiment and make use of the entire IRCv3 extension set, along with some other features to make web based IRC clients just as friendly and modern as people expect from messaging applications today. This will be a huge boost to the millions of people using IRC via Kiwi IRC.
IRC is getting interesting again and IRCv3 is up there making a lot of this possible.
[+] [-] lovesIRC|9 years ago|reply
Anyway, I strayed off topic. I too am excited for IRCv3 and the future of IRC. I love the protocol, and despite it's drawbacks it serves my purpose well.
And thank you for all your work on KiwiIRC. I love the project :)
[+] [-] SonOfLilit|9 years ago|reply
[+] [-] dajohnson89|9 years ago|reply
>IRC is getting interesting again and IRCv3 is up there making a lot of this possible.
Could you elaborate? What are the most promising things about IRC today? I personally am a huge fan and have been a user for over a decade now. But I do see a lot of underutilized potential.
[+] [-] sudhirkhanger|9 years ago|reply
[+] [-] forgotpwtomain|9 years ago|reply
[+] [-] Gruselbauer|9 years ago|reply
[+] [-] bnjms|9 years ago|reply
[+] [-] pmarreck|9 years ago|reply
[+] [-] dijit|9 years ago|reply
[+] [-] ekianjo|9 years ago|reply
[+] [-] kennell|9 years ago|reply
[+] [-] FooBarWidget|9 years ago|reply
[+] [-] c3RlcGhlbnI_|9 years ago|reply
Adding tags forced them to increase message length because of how IRC messages are hilariously limited to 512 bytes in all directions. In the existing protocol you already have to guess how long your messages are allowed to be because the server tacks on a prefix to your message before relaying it, which can require it to truncate characters to fit the modified message into the length limit. Having some amount of tags tacked on as well would have made it impossible to guess how much room you had.
Now if they had started with fixing the actual protocol they wouldn't have had to deal with that. Honestly this feels more like a standard "let's add cool stuff" push than intelligent stewardship of the protocol. I guess that is kind of cool too though.
[+] [-] KirinDave|9 years ago|reply
People assume that IRC as a protocol is not fantastically outdated and it's architecture is inherently distributed and fault tolerant. Even if those things are not really true (at least not at the levels that other moder modern systems would be considered at), people hold onto the belief.
[+] [-] kuschku|9 years ago|reply
Imagine user A negotiates a length fo 1024 bytes with the server, user B negotiates a length of 2048 bytes.
User B sends a message via the server to user A.
What happens?
[+] [-] SaberUK|9 years ago|reply
We are working on it but when you have hundreds of different implementations which are all broken in their own way its not as easy as just adding a way to negotiate the length. Extending the length to add an extra 512 octets for message tags was a temporary fix.
>Now if they had started with fixing the actual protocol they wouldn't have had to deal with that.
We HAVE started with working on fixing the protocol. Almost all of the specifications in IRCv3.1 and most of the specifications in IRCv3.2 fix core protocol issues.
[+] [-] k__|9 years ago|reply
Offline messages and simulatnous logins from multiple places are just two features I was missing in IRC and didn't even know till I had them, haha.
But yeah, IRC networks just worked as message broker and not as databases, so I never thought about it.
[+] [-] superkuh|9 years ago|reply
[+] [-] xir78|9 years ago|reply
[+] [-] DiabloD3|9 years ago|reply
[+] [-] jwr|9 years ago|reply
[+] [-] qwertyuiop924|9 years ago|reply
[+] [-] caf|9 years ago|reply
This worked great when people were typically using IRC from their login on a server at their university (and this is also originally why IRC servers used the 'ident' protocol when you connect - to stop you spoofing other users on the same shared system).
It stopped being a viable persistent identity for all users when the @hostname part stopped being persistent - when people started gettting dynamically assigned addresses on internet connections at home.
[+] [-] Jizzle|9 years ago|reply
[+] [-] drcross|9 years ago|reply
Please, someone, just offer us an open source slack clone that runs off on a R-pi and has a walk through wizard to enable the 99% of typical install requirements.
Even as someone who works in the industry, I dont have time to learn the bells and whistles that running a chat server requires.
[+] [-] jbk|9 years ago|reply
Maybe also backport some features of Slack, like edition of messages (with a flag marking it as edited), or a common way to have plugins/extensions, or tagging links as images.
[+] [-] daenney|9 years ago|reply
This works on Slack but only with their client. Use one of the bridges and you have no clue what's going on and they have a centralised system for this. Syncing that somehow across all servers in an IRC network, across netsplits and everything, is far from simple. You'd also need to do this retroactively somehow if a client received a message, disconnects, the message is updated and the client then reconnects, in order to present an accurate history.
> or a common way to have plugins/extensions
IRC already has a way to allow for extensions. Or do you mean client side?
> or tagging links as images
I'm not sure the IRC protocol should care about that at all. It's more up to the client to detect image links and Glowing Bear for example already does and can display them inline.
[+] [-] SaberUK|9 years ago|reply
[+] [-] nycatelos|9 years ago|reply
[+] [-] znpy|9 years ago|reply
You advocate for privacy, You advocate for openness, You advocate for transparency, You advocate for interoperability, You advocate for host-it-yourself, You advocate for customisability, You advocate for scriptability ...
But then all of a sudden "oh no IRC, not enough colours, geez, running a bouncer, who wants to do it?"
-------
I'd design irc-v3 to be bouncer-friendly, and maybe to integrate some bouncer-y features into IRC servers as well (most IRC servers keep logs anyway)
[+] [-] lucb1e|9 years ago|reply
Yeah media sharing can be done with, what's it called, CTCP? That's just piping stuff through a short message service, like Twitter or DNS. It doesn't properly display media either, but it allows for small file transfers.
And of course scrollback can be done with bouncers. But it's not something I see my mother using. Facebook Messenger is what I see my mother using.
Is there anything new on the website, or it it just being linked again?
[+] [-] wcummings|9 years ago|reply
[+] [-] bborud|9 years ago|reply
If I were to give one piece of advice: forget IRC. If you want to make a free, large scale chat system, just forget you ever saw IRC. There are no solutions in that neighborhood.
[+] [-] rwmj|9 years ago|reply
Anyway, why isn't this being done through the IETF?
[+] [-] anindha|9 years ago|reply
"IRCv3 exists and is addressing some of these issues; this is great news and we wish them well. It’s almost a contradiction in terms to get competitive between openly interoperable communication projects - we look forward to increasing the richness of Matrix<->IRC bridges as the project progresses."
Why not merge the two projects or just focus on one? WebRTC seems to be a better protocol right now.
[+] [-] kodisha|9 years ago|reply
That worked quite nice, for ~15 years, and whole community was created, things worked quite nice, diehard users used BNC and terminals, but lately everyone is switching to Discord.
Main matchmaking is still on IRC, but other sub-groups migrated to discord long ago, and that scares me, because no one at the moment knows what will happen with Discord year or two from now.
[+] [-] tete|9 years ago|reply
However, I don't really understand how reposts work. I always thought that URLs are a unique key.
Is this a way to kind of "retry" them? In this case I'd be curious about how they work.
https://news.ycombinator.com/item?id=12570201
[+] [-] Cogito|9 years ago|reply
After a period of time, new submissions are their own post, to allow submissions that did not get visibility have a chance at being seen. This is also sometimes done manually by the mods if they see something particularly interesting that was missed (not sure about the last point though again, I believe it to be true).
[+] [-] wtbob|9 years ago|reply
[+] [-] vesinisa|9 years ago|reply
[+] [-] danieloaks|9 years ago|reply
Related, I've been working on these sites for a while which I hope can be useful: http://defs.ircdocs.horse/ http://modern.ircdocs.horse/
Still, it's been really interesting to get into. It's nice seeing how things have gone so far and how they're going forward (and digging into the archives is always fun).
[+] [-] unixhero|9 years ago|reply
[+] [-] jfe|9 years ago|reply
[+] [-] SaberUK|9 years ago|reply
Take the "away-notify" extension for example. Without it you would have to repeatedly poll a channel with WHO to see if all users in that channel have marked themselves as away.
[+] [-] jrnichols|9 years ago|reply