protocols > programs
But you can’t get funding for managing a protocol.
Programs are better than protocols because they don’t give users power.
It’s a matter of perspective.
If you want to monetize your users, then you absolutely need that walled garden and ease of use that a program provides. If you have a protocol based application, then you can only really monetize the service, not your users. For example, only a few email providers have enough users to sell ads (Gmail). There are far more providers that sell the service as opposed to advertising to users.
Although, I will admit building a robust protocol is difficult. It is much easier to iterate a feature set if you only have to worry about one implementation.
But this is a trade off between short term gains at the expense of the long term.
Email for all its warts will still be around in 10 years. Can we say the same for Slack?
Depending on the values of the community, those practical concerns may or may not outweigh other considerations. There's a lot to be said for open protocols, but there's also a lot to be said for UX.
You mean handing them xchat/colloquy/kiwichat and telling them to come up with a name and click this text box to send a message?
Sure irssi is hard to use but unlike Slack and Discord you're not stuck with a single terrible client.
(Lack of) Ease of use is a big reason for IRC's loss in popularity.
In the clients I mentioned listing and joining rooms works the same way it does on discord and slack: you open the list and click the ones you want to join.
Here's my list:
client IRC SASL authentication graphical clients terminal clients bouncers
From the very beginning there's jargon. The page does do a good job of explaining the jargon though, so they get points for that. However, if you're a new user, the difference between this 365 word wall of text full of new words and strange client names is striking compared to e.g. Slack's obvious "TRY FOR FREE" button.
And it's not just the words on their own; the instructions and wider context are strewn with internal techo-details, there's no step by step path through them, no strong recommendations; given this is under "About IRC" it starts with "choosing a client" as if you already know what that is and why you want one. Paragraph 2 is about SASL. ("repository of instructions" - why not "instructions"?). You're a "connecting to IRC for the fist time", you click the link to the preferred authentication method. "SASL is a method that allows identification to services (NickServ) during the connection process, before anything else happens - therefore eliminating the need to /msg NickServ identify" - word salad. A way to eliminate the need to do a thing you've never heard of and don't know why you'd want to do it at all. Nope back to the main page.
"If you're interested in ensuring the security of your connection" - am I? Should I be? I don't know what "my connection" even is in any practical sense, or what the consequences of it being secure or insecure are - click the link; "'is using a secure connection will appear in WHOIS (a 671 numeric)'" ... what? "In order to verify the server certificates on connection, some additional work may be required. First, ensure that your system has an up-to-date set of root CA certificates." nope back out of that.
"If you cannot install apps on your computer, you can use a web app" - I don't know if I can install apps on my computer. How can I use a (web) app if I can't install apps? Is this web app Google? Can I not use the web app at any other time?
"Kiwi IRC is a popular free web client that you don’t have to sign up for" - the first time 'sign up' is mentioned is to tell me I don't have to do it. Then why mention it?
"a popular web client service that keeps you connected after you close the page..." - technobabble word salad. What's a "web client service"? It keeps me connected, what does that mean? It sends me notifications or something? Why do I want to be connected after closing the page, isn't closing the page my intent to leave? So it's an infection or something, does it hack my computer to stay there? How do I get rid of it?
"...and has a limited free plan" - what are the limits? Is it good enough? Presumably not - if the limits were enough you wouldn't mention them, right? You don't mention 'free plan' before or after, does all of this cost money? Any of it?
"Graphical clients - These are clients that you navigate primarily with your mouse cursor or touch" - what non-technical user thinks in terms of "navigating"? Graphical, if I want graphs? Graphics? Pictures? Those are good, yeah? Surely, surely the kind of semi-technical/poweruser who might be about to use IRC for the first time is the most likely to use keyboard hotkeys in GUI programs?
"They can be installed on your device directly or accessed in a web browser." - you just told me I had to use the web browser when I couldn't install a client, now one of the clients is in a web browser?
"Terminal or text based clients are clients which you primarily navigate with keyboard shortcuts. As these typically do not need mouse navigation, [...] WeeChat is a popular terminal client which has an experimental mouse mode option" - ???? I'm a new user to IRC, non-technial apparently, and I'm already into the experimental options in one specific TUI client. Steep.
"Bouncers are clients which act as a hub between other clients and the IRC network. They allow you to see one connection from multiple places" - ??? Words. About a thing. Bouncers guard the door and keep bad people out?
There's a big pink call to action "connect" button in the top right, which is a surprise dropdown offering a TLS connection, a plaintext connection, a "How to Connect" option, but despite being a web page with web hyperlinks, none of them are links to web clients that actually connect to anything. Even knowing IRC, I'm surprised, I was expecting an instant CGI gateway link or something. (Remember, web clients are the things you use if you can't install apps, or if you want graphics, and you want graphics if you navigate with a mouse).
The menu on the left has "Helping you connect" which has "Using CertFP" above "Connecting to Libera.chat", because creating a self-signed certificate using Cygwin (which isn't explained or linked) is more helpful than the address of Libera chat?
It must be possible to run this kind of page past a hundred "non-technical" users via Mechanical Turk or similar, and have them circle the places that are confusing or they don't follow?
With email, you see a lot more diversity in UX experiences between clients.
IRC chat has historically been a CLI interaction, with limits what you can do, UX-wise. And even the GUI clients tend to emulate much of what you'd have in a CLI or TUI. There is a lot that could be done to make it more friendly to a new user.
But, that extra amount of complexity that's involved with a protocol approach (which program should I use? which server do I connect to?) is definitely a UX issue. But, I think these are issues that could be solved w/in the community. For example, Libera. Chat has a nice set of pages that start with "Which client should I use?". I could completely see a set of "How to use IRC" pages to help new users get started.
What sites like Slack and Discord offer that, to the best of my knowledge, no IRC network does, is a one stop shop. A "go to webpage, click button, now you're chatting" experience, all hosted right there in one place, together with free and zero-configuration apps for both desktop and mobile with push and perhaps even email notifications and all sorts of goodies like that.
Which I personally think is fine. Maintaining that kind of tightly integrated experience costs money. Corporate money. Which, as this freenode kerfuffle illustrates, isn't necessarily something I want getting quite so tangled up in my IRC networks. But I'm also fine with communities that have different values or are trying to cater to different audiences choosing an option that feels better to them. I'm not sure it serves anyone's interests to be a busybody about these things.
Kiwi chat does this. In fact IRC offers this better than slack and Discord because it doesn't require creating an account (which is why so many of my friends stick with imessage and mms.)
With Slack, an organization can put a link on their website, and users can click it and be taken more-or-less straight to that organization's chat.
With irc, yes you can post a link to Kiwi, but then, to actually get connected to that organization's chat, you need to navigate a somewhat confusing configuration dialog that includes, among other things, two different server selection controls, one of which is a dropdown list of maybe 200 different options, and a number of buttons with jargon names, none of which is, to an uninitiated IRC user, obviously the one to take you to the chat, and some of which are prone to doing flat-out nothing when you click on them. The one they do want, which they probably won't click because the UI is laid out to make it look like it's only for advanced users, tends to give useless error messages if you get some configuration wrong, anyway. Which someone new to IRC is likely to do, because the form is confusing and provides no guidance or validation.
So, not only is it quite a few more steps than "go to webpage, click button, now you're chatting", but several of those additional ones are liable to cause people to give up.
A now-deleted comment in this thread said that they like irc because it keeps less technical people away, which they felt improved the quality of discussions. Regardless of one's opinion of that sentiment, I think that the effect in question is undeniably real, and it perhaps creates a situation where avid IRC users have a tendency to lose track of what counts as acceptable user experience for the rest of the world.
This is not at all my experience with slack.
>yes you can post a link to Kiwi,
It's been a while since I tried setting it up but IIRC you can post links to kiwi with parameters which skips the configuration dialog and just asks for a nickname then dumps you into the channel. It's not really possible to improve on that.
But you know, people aren't that stupid, they figure things out -like they did in the 90s with IRC- because they want to join the community.
Back in late 90s/early 2000s, netcafes were full with non-technical people who used Internet just because of mIRC (many called it just "mIRC") to chat with others. We're talking about people who barely knew the difference between a file and a folder and yet became proficient enough with mIRC to simultaneously chat in several channels.
The #1 issue isn't technical, it is social. People do not join Discord because it is better than IRC/Matrix/whatever, they join it because the communities they want to be part of are on Discord.
I use IRC every day, but I'm not going to pretend it's straightforwards compared to the alternatives. It absolutely is not.
Also i'm not pretending that IRC is straightforward, i'm saying that Discord is as complex as IRC is and adds additional complexity on top of that - sure, some parts might be simpler (though connecting to a new server is not necessarily among them as most IRC clients register the irc: handler with browsers so you can click on any web link to join a server and enter a channel) but those do not negate the complex parts it adds.
And the most important part: the vast majority of people do not use use Discord because it is easier (or harder or whatever) than IRC (or Matrix or whatever), they use it because the communities they want to be part of are on Discord.
Skype users had no choice after microsoft take-over. Whatsapp users had no choice after facebook take-over.
Proprietary software is a choice you impose on yourself; proprietary protocols and formats a choice you impose on the others too.
Until that app becomes unusable / bought by Andrew Lee and they wish there was an alternative they could easily migrate to.
Push messages must be signed by a key registered to the developer and there is no mechanism to delegate that (for example.)
Can people connected to Freenode join your channel on Libara? If not, what exactly is the difference?
The other requires them to simply update their server list.
If someone has been using IRC for a decade they likely have some automated workflows built out. If they had put in that effort with slack bots or whatever - being forced to abandon or start over from scratch is a PITA.
The other points seem a bit exaggerated. The "new app" to install is just a browser usually.
I used IRC a lot in the past but being a protocol also means it's barely been updated in the past. There's so much functionality in Discord / Slack and others compared to IRC that dwarf the negative aspects of "learning an entire new app" whenever you want to switch.
The thing about chats-with-automation is that the automation part is strongly tied to the chat.
All these Discord bots will be a pain-in-the-ass to switch over to IRC, and vice versa.
--------
Even on the Freenode #C++ community, they had a FAQ-bot to spam newbies with links whenever a common question was asked (or which pastebins to use, or whatever). A huge part of IRC (and Discord) is about automation / bots, and the APIs are just not compatible.