News for hackers. Stuff that matters.
Re:Slack closes account of an Iranian user living in Canada by wpietri on Thursday December 20, 2018 @10:09AM (#18725486)
I would love to see more things built on open protocols. But for that to be the case, we have to find ways to make better apps built on top of open protocols.

We should start by admitting that Slack beat IRC. Beat it like a cheap hallway rug. IRC was always a terrible experience for novices, and it wasn't a great experience for experts. That it had any users at all is a testament not to IRC, but to what it enabled. Slack found a way to provide the same value but with a much better user experience. And then they rapidly iterated on that experience, making it better and better.

They started out with IRC and XMPP bridges. But they eventually shut those down because they were a drag on improving the product. When faced with the same choice, IRC kept the original protocol and shut down improving the product. This was an understandable choice, but one that set up the situation where commercial developers could come in and do something radically better. Open source needs to figure out how to compete with that, or things like this will keep happening.

Re:Slack closes account of an Iranian user living in Canada by adriand on Thursday December 20, 2018 @10:36AM (#18725745)
I think as ethical, intelligent and conscious individuals, we folks in the developer and hacker community want people to make decisions on the basis of principles, when the reality is that people generally make decisions on the basis of convenience. In fact, people are often willing to sacrifice their principles (to a certain extent) in the name of convenience.

If we want people to use principled technology, then we need to be able to honestly advertise products as "it's just as good as X, and also doesn't violate [your privacy|human rights|the environment|etc.]" If we have to say, "It's not quite as good, but..." then we're dead in the water. (Side note: I switched to Firefox out of principle and I'm hopeful it will hold the line on market share, since it really is just as good as Chrome.)

The issue is that we're dealing with corporations who aren't just rich and powerful, they are also innovative, agile, and laser-focused on providing consumer value. Slack is doing an amazing job at serving their users!

You wrote, "we have to find ways to make better apps built on top of open protocols." It's a really interesting dilemma and I suspect it's one that isn't solved by better technology, better design, etc., but rather by addressing the base economics of the situation. We need a scenario where principled, open-source, ethical technology is generating the kind of investment we're seeing in Silicon Valley unicorns so they can innovate the same way.

Re:Slack closes account of an Iranian user living in Canada by nemothekid on Thursday December 20, 2018 @01:27PM (#18727563)
If we want people to use principled technology, it has to be usable, full stop. As a developer, being able to say "I'm willing to sacrifice convenience, in the name of principle", is a privileged position - you know how to navigate software when it gets difficult - other people don't.

What I find a lot of people miss when comparing Slack to IRC, is that not everyone using Slack is a developer. The world doesn't consist solely of developers - and if your company is 30% of engineers, and the other 70% doesn't have the reserve to wrestle with XML, then your company is using Slack. Otherwise, you are simply choosing to sell out your friends and family in the name of "principle" as well.

Personally, I'm tired of the comparisons to IRC and XMPP. Both are garbage - time and time again its been show how difficult it is to create greate software on these protocols. Contrary to your final statement, there have been better open source applications - gitter and riot come to mind.

Re:Slack closes account of an Iranian user living in Canada by u801e on Thursday December 20, 2018 @03:47PM (#18728975)
> What I find a lot of people miss when comparing Slack to IRC, is that not everyone using Slack is a developer.

I know plenty of non-technical people who chatted on IRC who were not developers. They just used the mIRC client on windows to do that. They also managed to configure their email and news clients to send and read email and browse usenet.

I simply don't understand where the idea of needing a technical background came from for using something like IRC.

Re:Slack closes account of an Iranian user living in Canada by ry-n on Thursday December 20, 2018 @04:29PM (#18729305)
> I know plenty of non-technical people who chatted on IRC who were not developers > I simply don't understand where the idea of needing a technical background came from for using something like IRC.

You don't have to be a developer but you do need a level of technical background higher than that of the average computer user. There are plenty of tech-savvy, non-developers who can get up and running with things like IRC. There are plenty more non-technical users who can't. Or at least wouldn't given the learning curve time commitment.

I'm the only person in my family who would be able to sign on to IRC in under an hour whereas they'd all be able to have slack up and running in a matter of minutes.

Re:Slack closes account of an Iranian user living in Canada by u801e on Thursday December 20, 2018 @04:57PM (#18729518)
> You don't have to be a developer but you do need a level of technical background higher than that of the average computer user.

Unless the technical skill of the average computer user has decreased substantially in the last 10 to 15 years, that shouldn't really be the case.

Re:Slack closes account of an Iranian user living in Canada by sotojuan on Thursday December 20, 2018 @05:07PM (#18729602)
It has. Everyone uses computers now for less technical tasks, and some pretty much only use their phone or tablet.
Re:Slack closes account of an Iranian user living in Canada by gsich on Thursday December 20, 2018 @07:53PM (#18730634)
Time to learn something then.
Re:Slack closes account of an Iranian user living in Canada by jackvalentine on Friday December 21, 2018 @12:20AM (#18731569)
Sure... they learned Slack.
Re:Slack closes account of an Iranian user living in Canada by gsich on Friday December 21, 2018 @10:16AM (#18733764)
Nothing to learn there.
Re:Slack closes account of an Iranian user living in Canada by jackvalentine on Saturday December 22, 2018 @06:13AM (#18740097)
I don’t think you realise how well you just made the case for using Slack instead of IRC or XMPP with that comment.
Re:Slack closes account of an Iranian user living in Canada by gsich on Sunday December 23, 2018 @03:39PM (#18748174)
No. I expect a certain competence when using a computer. If this level of competence is not enough to even install a piece of software and configure the most basic settings, then this person should not own a PC, yet use one.

It's amazing that when it comes to computers, it is somehow acceptable to be dumb. It's acceptable to not learn new stuff. It's acceptable to not read in order to understand stuff. As can be read in the comments here.

Re:Slack closes account of an Iranian user living in Canada by jackvalentine on Thursday December 27, 2018 @07:59PM (#18774045)
Do you want to be ‘right’, or actually have users?

The whole ethos of startups and Silicon Valley has been around finding a market for your product. If people don’t want to use it then you can’t blame anyone but yourself.

Feel free to chat with yourself using an ideologically pure system... it’ll be lonely though.

Re:Slack closes account of an Iranian user living in Canada by rootkea on Saturday December 22, 2018 @01:54AM (#18739358)
That's correct. Because it's the FLOSS devs who need to learn to empathize with the ordinary user.

Disclaimer - A FLOSS dev here.

Re:Slack closes account of an Iranian user living in Canada by u801e on Saturday December 22, 2018 @12:00PM (#18741340)
> Because it's the FLOSS devs who need to learn to empathize with the ordinary user.

If you were talking about using these protocols over a telnet session, then I would be more inclined to agree with that statement, but just installing an application, entering a server name and account credentials (the latter of which aren't needed for IRC), and connecting isn't any more difficult than creating an account on slack and connecting by entering the address in the browser.

Re:Slack closes account of an Iranian user living in Canada by jackvalentine on Saturday December 22, 2018 @06:46PM (#18743224)
Have you ever worked a support role for an application?

Regular users have amazing blind spots. Also you’re not giving slack enough credit for their smooth onboarding process.

Re:Slack closes account of an Iranian user living in Canada by u801e on Monday December 24, 2018 @05:46PM (#18754704)
> Regular users have amazing blind spots.

Of course, but I don't think that Slack has done a better job with this compared to previous solutions. In a lot of ways, it's worse given its performance issues. For example, I never experienced UI lag in a chat application until I used Slack (comparing it with UIs like a GUI IRC application, AIM, ICQ, MSN messenger, Yahoo messenger, Skype, etc). Second, auto-completion and search do not work like they do in previous chat applications (or other applications in general) due to infinite scroll and the default of doing a global search instead of just limiting it to the chat or group. Third, the fact that you're forced to join some channels because you were invited or can't leave a channel because you're the last one in it are other issues that come to mind.

Re:Slack closes account of an Iranian user living in Canada by jackvalentine on Thursday December 27, 2018 @08:02PM (#18774059)
Slack’s performance issues have nothing to do with the people using it’s abilities.

As much as it annoys me too, it appears that people actually using it have enough tolerance for it that it doesn’t matter.

Re:Slack closes account of an Iranian user living in Canada by theamk on Thursday December 20, 2018 @05:30PM (#18729781)
I think this is to enable history and mobile, for example?

Granted, I have not used IRC for a while, but last time I checked, the story for getting message history was "start a irc client inside a screen session on a server you own". And there were no mobile at all.

(I remember writing a script which exported chat logs from my desktop client to text files available over HTTP... I'd then visit those pages from cell phone to see if I had any more messages. This is not the experience I would wish on anybody)

Re:Slack closes account of an Iranian user living in Canada by u801e on Thursday December 20, 2018 @06:12PM (#18730100)
For history, it's either local logging or having an always on client you can connect to (like a bouncer), but most people I knew would just switch their client on, chat for a while, and then close it. They didn't really care much about history.

It was pretty much the same thing with newer chat services like ICQ, AIM, MSN messenger, etc. (though I think they started offering offline messages in later versions).

As for mobile, my older Nokia phone had a Symbian IRC/XMPP client that I could use without any issues.

Re:Slack closes account of an Iranian user living in Canada by danShumway on Friday December 21, 2018 @04:32PM (#18736844)
> being able to say "I'm willing to sacrifice convenience, in the name of principle", is a privileged position - you know how to navigate software when it gets difficult - other people don't.

In the same breath though, saying, "I'm not willing to sacrifice convenience in the name of principle" is also a privileged position, because Iranians who live in the US/Canada are currently being banned. Convenience is something we can address in the future, but bans aren't.

The concerns people raise about Slack -- that until very recently it wasn't blind-friendly, that it takes away control of user data, that it can arbitrarily ban companies and users for any reason; none of those are theoretical deontological postering. They are entirely practical in the sense of, "there are people who are affected by this who can't join your community because you're not using a tool that's accessible to them."

I think that it's easier and preferable to teach my friends and family members to use open tools than it is to use something that blocks people of Iranian descent from participating in my community. Yes, that means my communities will be less accessible to tech-unsavy people. But that's a problem I can try to address in the future. I'm OK making their life harder for right now if it means not permanently banning people based on a random company's whims.

That is selling people out, in the sense that it's making a calculated decision about which people are most important to support right now. But if the Go community is using Slack, they're making the same exact same decisions to prioritize accessibility for some people. They're just choosing different people.

Re:Slack closes account of an Iranian user living in Canada by zanny on Thursday December 20, 2018 @12:44PM (#18727103)
Violating principles and respect for others is a vector for profit, which is why it always feels like a losing race. Its people in their spare time fighting against substantial revenue streams accrued from the violation of the freedoms and principles we want to uphold.
Re:Slack closes account of an Iranian user living in Canada by dkarl on Thursday December 20, 2018 @06:02PM (#18730031)
To have competitive apps built on top of open protocols, you need a big investment of time and money, so we need users to ask for it, or at least to reward companies when they invest money in it. For that, we need users to understand what they're asking for.

An example of how it might be possible to push this in the right direction is LEED. It didn't matter what the individual environmental ethics of people manufacturing electronics and designing houses was. Environmentally efficient building practices cost more, and there was no way for all the companies involved to form an opaque conspiratorial cabal to secretly impose the cost on consumers who would rather not pay it. Instead, they created LEED and used marketing to teach end consumers that LEED stood for more environmentally responsible practices.

Right now computer privacy and security are huge in the headlines, and a large number of people in the public and in industry want to do the right thing. But consumers don't know how to make the right choices, and companies aren't going to spend extra on the right thing if users are just as likely to choose something horrible. What companies need in order to invest extra capital in privacy and security is a plausible story of how to get users to choose the right thing and pay a bit more for it, if the industry builds it. They need a LEED standard for privacy and security. Then they can promote it and use it as a way to justify their investment in better, more ethical software. Corporations, schools, nonprofits, and other organizations can be pressured to make public commitments to use, or at least prefer, software that meets the standard. This won't drive horrible software out of the market, but it will create a sub-market where good software can survive.

Obviously laws and regulation are the bedrock, but in areas where consumers have a choice, we need to make it easy for them to make the right choice if they want to.

Re:Slack closes account of an Iranian user living in Canada by gregknicholson on Friday December 21, 2018 @11:42AM (#18734469)
I think the [Franklin Street Statement](https://wiki.p2pfoundation.net/Franklin_Street_Statement_on_...) is a good start.
Re:Slack closes account of an Iranian user living in Canada by cyphar on Thursday December 20, 2018 @11:39AM (#18726377)
Matrix.org is really doing a good job of being a Slack replacement (it even has Slack and IRC bridges). It's also federated and has a bunch of other nice features (like e2e which is based on Signal's crypto with some improvements for group chats). I would suggest taking a look (and I would suggest that people start switching to it).

Honestly, at this point, I can't really tell the difference between Slack and most "Slack clones" -- the interface of Slack has basically been copied by most people and to be honest it really wasn't that hard. Mattermost and Rocket.chat both look exactly like Slack to me.

Re:Slack closes account of an Iranian user living in Canada by SamWhited on Thursday December 20, 2018 @11:50AM (#18726496)
Matrix.org's problem was that they reinvented the wheel (again) WRT the protocol. Now you have a protocol that if the main company goes under, probably can't be developed further and doesn't already have wide adoption and lots of clients written for it (as is the case of IRC/XMPP). HipChat had a better model here where they used XMPP (admittedly, in the worst way possible and completely misunderstood and broke the protocol in lots of places) but build their own service on top of it. You could still use third party clients, the experience just wouldn't be quite as good. If they had enabled federation it would have solved the Slack problem to a certain degree.

Matrix could have done the same thing, but they chose to waste time and money reinventing the wheel (and doing a bad job of it) instead of focusing on the service and the clients.

Re:Slack closes account of an Iranian user living in Canada by zanny on Thursday December 20, 2018 @12:42PM (#18727082)
I could count the number of good, modern, high featured XMPP and IRC clients on one hand. At least compared to their proprietary counterparts. Matrix has at least as many either mature (Fractal, Riot) or up and coming clients as I'd consider usable with anything else, and it has bridges into all that legacy, something I have never seen IRC or XMPP manage well.

If you have legitimate grievances with the protocol and feel you can see flaws in it, make an issue on the tracker now while its still a 0.x release, doesn't have the broad adoption you describe, and while the team (knowingly) can make breaking changes simultaneously released to matrix.org and riot.im and cover 95% of the users still.

Re:Slack closes account of an Iranian user living in Canada by pseudalopex on Friday December 21, 2018 @12:14AM (#18731546)
Riot is the only client Matrix.org calls stable.[1] I would not call the desktop version good. The only third-party clients that are close to complete are Nheko (which has been abandoned) and FluffyChat (which is for Ubuntu Touch).[2][3]

There are no stable servers.[1] The reference server is being completely rewritten.

Matrix bridges work about as well as XMPP bridges in my experience.

[1] https://matrix.org/docs/projects/try-matrix-now

[2] https://matrix.org/docs/projects/clients-matrix

[3] https://github.com/mujx/nheko

Re:Slack closes account of an Iranian user living in Canada by krageon on Friday December 21, 2018 @03:10AM (#18732032)
The phone experience for riot is really, really bad (extremely high battery usage, even when the app is not in use. I'm aware of the technical reasoning behind it and I frankly don't care as a consumer). This was (and is) the one barrier stopping me from using it and converting my friends to matrix (they're not platform loyal at all).
Re:Slack closes account of an Iranian user living in Canada by cyphar on Thursday December 20, 2018 @12:16PM (#18726825)
Can you give precise examples of the problems? As someone who tried to use XMPP in the past, I found it to be far worse than IRC in terms of connectivity and how things worked. Matrix.org couldn't really have used IRC as a protocol because IRC isn't a very extensible protocol. I've been using Matrix.org for several years now, and it's much better than my experiences with IRC and XMPP (though IRC is still quite usable, and I do still use it regularly).
Re:Slack closes account of an Iranian user living in Canada by SamWhited on Thursday December 20, 2018 @03:15PM (#18728687)
Since multiple people asked this, I started a write up. I'll try to post it soon.
Re:Slack closes account of an Iranian user living in Canada by ptman on Thursday December 20, 2018 @04:52PM (#18729488)
Matrix.org foundation is being founded. It has taken some time, but is quite close already: https://matrix.org/blog/2018/10/29/introducing-the-matrix-or...

The Matrix developers are familiar with XMPP, and have it covered in their FAQ: https://matrix.org/docs/guides/faq#what-is-the-difference-be...

Re:Slack closes account of an Iranian user living in Canada by theamk on Thursday December 20, 2018 @05:33PM (#18729812)
> Matrix can be thought of as an eventually consistent global JSON db with an HTTP API and pubsub semantics - whilst XMPP can be thought of as a message passing protocol.

Finally someone gets it! A chat service should value each message and it should never lose messages due to connectivity problems.

Thank you for sharing that link, I learned something new today.

Re:Slack closes account of an Iranian user living in Canada by SamWhited on Friday December 21, 2018 @09:28AM (#18733469)
How is this a good idea for a chat protocol though? And what makes you think XMPP doesn't do that (it's quite trivial to setup your server in such a way that messages won't be lost even if there is a network partition, client connectivity issue, etc.)
Re:Slack closes account of an Iranian user living in Canada by theamk on Friday December 21, 2018 @01:41PM (#18735470)
Let's look at how Slack is used in my workspace:

- Person-to-person chat system. This requires offline messages: "when you get to work, please take a look at ABC-1234". Some people have cell phone as well, so this needs multi-delivery to all the clients (so you can read the message on the phone, then read it again from work PC)

- Support system: one person posts "I cannot run TOOL_Z", people who know reply. This requires offline history -- if I maintain TOOL_Z and I come in late, I was to see the question asked, answers, and maybe I want to contribute an answer as well. By the way, slack threads are super helpful for this.

- Knowledge archive: next person to have TOOL_Z problem would search the channel history, and find previous answers.

- Announcement with discussion: someone posts "New version of TOOL_Z is released! New features: ...". People might respond by discussing the new features.

All of those basically require "global database" -- those messages are not volatile things; it is not OK if the announcement is lost, or if you did not see the help request because there was something wrong with the system.

And I know that XMPP does not work for that because back when my workplace used to use XMPP (a few years ago), I went to https://xmpp.org/software/clients.html , installed "gaijim", and found out it has no offline message history, no message searching, and half-broken multi-delivery.

So we ended up building scaffolding - set up our own search engine, archive system, use different methods for communication. This was a lot of pain and very little gain. So when we had to re-do infrastructure from scratch, we went with Slack.

(Note that you can't just say: "I don't need those features". As long as there is a single person in the company who does not have history, the whole company cannot use pure XMPP for support system or knowledge archive anymore -- or that person would be excluded.)

As you said in other messages, things are better now -- there are compliance suites. So "XMPP Advanced Client 2018" does do what you want. Unfortunately, I cannot find a list of clients which support "XMPP Advanced Client 2018".

Also, there are people who confuse matters by saying that "XMPP does everything Slack can, and has tons of clients". No. "XMPP Advanced Client 2018" does everything Slack can but has very few clients. Regular XMPP has tons of clients but does not support everything that Slack can. It is very important to distinguish between the two.

Re:Slack closes account of an Iranian user living in Canada by ummonk on Thursday December 20, 2018 @08:21PM (#18730756)
Yeah, I’m normally not a fan of creating a new protocol and further contributing to fragmentation of open source effort, but in this case matrix.org fills a technical need that old protocols like irc and xmpp simply weren’t up to the task for.
Re:Slack closes account of an Iranian user living in Canada by SamWhited on Friday December 21, 2018 @09:27AM (#18733461)
What technical need is that?
Re:Slack closes account of an Iranian user living in Canada by SamWhited on Friday December 21, 2018 @09:30AM (#18733486)
I've read that FAQ entry, but it's bogus in terms of chat. Maybe the protocol is more useful for some other thing, I don't know (although I doubt it since XMPP at least can also do very similar sorts of things with pubsub if you need them for some use case, eg. the IoT people do this sort of thing a lot).

The FAQ skirts around the fact that it doesn't matter if they're slightly different: you shouldn't make up your own new thing to force adoption of your commercial product. Use and improve the existing technologies that are "good enough" and stop splitting effort and making yet another standard that everyone has to try and support or run bridges for. This is unacceptably bad engineering. Saying "this is subjective" is true, but just an excuse for "we have not-invented-here syndrome".

Re:Slack closes account of an Iranian user living in Canada by mst on Thursday December 20, 2018 @02:59PM (#18728556)
XMPP on mobile was always a disaster for data use and battery life - back when gtalk was still XMPP the mobile clients used a proprietary protocol to talk to a google server that unwrapped it into XMPP.

Pure-XMPP simply would not have worked.

(I have my issues with the matrix protocol, mind, but they had good reasons to create a protocol even so)

Edit: I also wouldn't be surprised if this is why facebook messenger switched from XMPP to a custom MQTT-based system.

Re:Slack closes account of an Iranian user living in Canada by SamWhited on Thursday December 20, 2018 @03:14PM (#18728676)
This is a myth (or one of those things that may have been true at one point but is now repeated as lore even though it was solved 15+ years ago); XMPP is actually pretty good on mobile. Between the persistent TLS connection which can let the radio go to sleep when no data is being sent (without the tail time of creating a new TCP connection constantly) and TLS style stream management it's very battery efficient when you're using a server that's optimized for mobile.
Re:Slack closes account of an Iranian user living in Canada by krageon on Friday December 21, 2018 @03:12AM (#18732038)
The last time I looked into this (maybe 6 months ago), this could only be achieved using non-standard/experimental server extensions with absolutely no guarantee of stability. This then led me to believe that it was one of those things that was theoretically possible, but not practically possible. Has that changed in the meantime?
Re:Slack closes account of an Iranian user living in Canada by arendtio on Friday December 21, 2018 @06:32PM (#18737673)
Well, experimental doesn't mean it isn't usable (we are talking about an experimental standard here, not about experimental software).

I run an ejabberd server and for example the Client State Indicator (XEP-0352), which is one of the extensions that improve battery life for mobile clients, was experimental for a long time but at the same time also available for major servers (e.g. community edition of ejabberd) and mobile clients like Conversations (open source too).

So in my experience, the battery consumption of a modern XMPP client is quite good. When people are complaining about the bad mobile experience they are mostly referring to the time before the mobile extensions were built.

Re:Slack closes account of an Iranian user living in Canada by mst on Friday December 21, 2018 @04:09AM (#18732199)
It was rather less than 15 years ago I had the conversations with gtalk architects (who liked XMPP and left when google abandoned interoperability) that led to my opinion.

So apparently not everybody shares your definition of 'solved' - I appreciate the alternative opinion, but simply declaring it a myth is, I suspect, unlikely to convince remaining skeptics.

Re:Slack closes account of an Iranian user living in Canada by ge0rg on Friday December 21, 2018 @07:00AM (#18732825)
I wouldn't subscribe to the "15 years ago" statement, but we have figured out mobile battery use pretty well, and the respective solutions are avialable in both server and client implementations. Have a look at [0] and [1] for (slightly biased but more detailed) elabortations.

simply declaring it a myth is, I suspect, unlikely to convince remaining skeptics

It's hard to provide specific counter-arguments to anecdotal evidence repeated since back when gtalk was a thing.

[0] https://gultsch.de/xmpp_2016.html

[1] https://wiki.xmpp.org/web/index.php?title=Myths#Myth_Three:_....

Re:Slack closes account of an Iranian user living in Canada by SamWhited on Friday December 21, 2018 @09:21AM (#18733434)
The Google Talk people literally never tried to implement any of it as far as anyone could see publicly (eg. stream management, compression, client state indication, etc.). I'm not sure if it was a problem with discoverability, or if they just didn't want to, but their feedback was always that things they needed didn't exist, and then stony silence when someone would point out the thing they needed.
Re:Slack closes account of an Iranian user living in Canada by SSLy on Thursday December 20, 2018 @11:54AM (#18726549)
What are your pain points with the matrix proto?
Re:Slack closes account of an Iranian user living in Canada by vinceguidry on Thursday December 20, 2018 @10:37AM (#18725762)
If FLOSS developers started building their software products like businesses built their products, then they would have to turn into businesses. You see this in pretty much every segment, I'm looking at you, Canonical.

More to the point, there is always going to be some value-added service a profit-seeking enterprise is going to be able to provide over what's freely available. If we built IRC 2.0, then Slack 3.0 will provide what everyone hates about IRC 2.0 and then the dynamics of profit seeking will drive Slack 3.0 to divorce from the free alternative.

We see this pattern over and over and over again. It doesn't happen necessarily because businesses are being ruthless, but because there's always going to be a market space, even in the face of a fantastic free service. That's just how a market economy works.

Re:Slack closes account of an Iranian user living in Canada by wpietri on Thursday December 20, 2018 @05:59PM (#18730012)
Right. I'm not saying open-source developers have to start building in the same way as for profit companies. I'm saying they have to build products that are, from the user perspective, as good as the for-profit ones.

A good example here is Firefox. When it started out, it was better than the competition. Chrome pulled ahead for a while, but Mozilla responded and now it's competitive again. And Firefox has done this while advocating energetically for an open web.

Another one that interests me is WhatsApp. They built a messaging product that was clearly superior to the alternatives. They eventually sold out for billions. But there's no reason they couldn't have done that as a nonprofit. And Signal has shown that a nonprofit can still jump into the space and do good things.

Re:Slack closes account of an Iranian user living in Canada by aetherson on Thursday December 20, 2018 @10:13AM (#18725519)
Word. I don't love Slack, but IRC is awful, and an open protocol replacement for Slack would have to make easier many of the features that Slack has and IRC lacks.
Re:Slack closes account of an Iranian user living in Canada by ashelmire on Thursday December 20, 2018 @10:20AM (#18725592)
What features does IRC lack? The messaging, chat rooms or PMs, private servers, file sharing, etc has existed forever. You can also build any sort of tool for integration with it.

I guess it lacks persistence and access to history? But there are surely ways to solve that.

Re:Slack closes account of an Iranian user living in Canada by gregmac on Thursday December 20, 2018 @10:45AM (#18725841)
Off the top of my head...

persistence, history, search, rich formatting, image previews, synchronization between devices, usable mobile clients, group/here/channel mentions, channel directory/search, channel descriptions, file upload/sharing (XDCC is not this), multi-line/expandable messages (eg, paste code or logs without flooding the channel), user status (away/DND).

Some of this can be approximated with bots, of course, but there's a lot of extra work then required to make that work (namely, setting up, writing and maintaining the bot). Some of this can be done client-side, but then you have inconsistent experience.. you don't know if the other user is going to get the image preview or if their client understands markdown or some other formatting, or is going to interpret and display your message using some other markup format. Some of this you can also work around with one of those persistent IRC connection proxies, provided each user gets one and that is also maintained by somebody.

Eventually someone packages this stuff all together for simple deployment.. and basically creates a bad clone of Slack, but with 10x maintenance requirement and so many more things that can break.

Re:Slack closes account of an Iranian user living in Canada by kuschku on Thursday December 20, 2018 @10:51AM (#18725905)
As long as you’re willing to run a bouncer (and an organisation could run one for all their users), there are usable mobile clients with synchronization between devices, persistence, user status and even profile images.

For example my app https://quasseldroid.info/ which requires you to run the https://quassel-irc.org/ bouncer, but provides all that. As well as IRCCloud and Weechat-Android, which are also very awesome and provide a similar amount of functionality.

The other features are atm a work in progress.

Re:Slack closes account of an Iranian user living in Canada by gregmac on Thursday December 20, 2018 @11:18AM (#18726177)
This is kind of my point though, especially for a company: this is kind of a pain to setup for technical users that want to get the functionality. It's basically a complete barrier for the types of users who still primarily use e-mail, phone calls and in-person meetings.
Re:Slack closes account of an Iranian user living in Canada by kuschku on Thursday December 20, 2018 @12:05PM (#18726674)
I agree — the current usability is still very suboptimal, and we need to work on it a lot. But compared to where we’ve been a few years ago, it’s already gotten better.

I wish I could do more, but in the end, I’m just a single developer improving the usability of a single app in my free time.

For open source non-centralized solutions to compete with the proprietary options, you need lots of devs and even more funding. Matrix/Riot.im has that, and even they aren’t close to where Slack is. Most of us IRC devs are either getting nothing, or, as e.g. in my case, the donations don’t even cover the server costs.

In the end, if people want open solutions to grow, they need to put their money where their mouth is.

Re:Slack closes account of an Iranian user living in Canada by brianpgordon on Thursday December 20, 2018 @10:55AM (#18725959)
irccloud is great and solves many of these issues. I'm not suggesting it's an alternative to Slack because of course then you're paying them $5/user/mo instead of paying Slack $6.67/user/mo and you're right back where you started, but if you're an IRC user looking for history/synchronization across devices, image previews, a mobile client, and drag-and-drop image sharing, irccloud is IMO totally worth it.
Re:Slack closes account of an Iranian user living in Canada by Argorak on Thursday December 20, 2018 @12:38PM (#18727055)
Slack is free for users in FOSS communities. So they beat IRCCloud by 5$. Why would people with a question pay those to get into your community?

I hate Slack for open communities as much as the next person, but IRC or fixes on top of it aren't really the solution.

Re:Slack closes account of an Iranian user living in Canada by bad_user on Thursday December 20, 2018 @11:05AM (#18726047)
>> you're paying them $5/user/mo instead of paying Slack $6.67/user/mo and you're right back where you started

Are we complaining about price or are we complaining about proprietary services?

Re:Slack closes account of an Iranian user living in Canada by weberc2 on Thursday December 20, 2018 @10:33AM (#18725717)
I’ve honestly never found an IRC client with a sane UI. If it’s tedious for technical folks, why do you expect it to be preferable to slack?
Re:Slack closes account of an Iranian user living in Canada by exogen on Thursday December 20, 2018 @12:26PM (#18726925)
It's been a while since I've used IRC daily, but I think I remember the basics...

Doesn't IRC file sharing involve directly connecting to individual users to transfer the file, instead of those users choosing to download it at their leisure? And if you happened to be offline at the moment the user shared the file, can't you never download it unless you ask them to resend? For large, asynchronous groups, that is untenable. Slack's file sharing works because Slack hosts the file.

Also, basic messaging features are indeed missing from IRC. How do you do a private group chat? Like an SMS group thread? Doesn't it only support channels and then individual 1:1 DMs? Slack has ad-hoc group DMs. On IRC you'd have to make a new channel every time. It's like getting a conference room every time you want to talk to more than one person at once.

Slack also does voice and video calls, and screen sharing, and it's really quite good at it (feels light, not bloated). Sometimes talking with someone needs to turn into a face-to-face call.

Re:Slack closes account of an Iranian user living in Canada by paulddraper on Thursday December 20, 2018 @10:23AM (#18725623)
> persistence and access to history

Yep.

> there are surely ways to solve that

Most common solution is to use something else.

Re:Slack closes account of an Iranian user living in Canada by VectorLock on Thursday December 20, 2018 @10:58AM (#18725986)
Custom emoji.

You could say IRC could do anything any other chat program does, but it doesn't.

Re:Slack closes account of an Iranian user living in Canada by mirimir on Thursday December 20, 2018 @10:48AM (#18725872)
Slack's "persistence and access to history" seems questionable.

And re IRC, I gather that Sabu got doxed based on EFnet logs from the late 90s.

Re:Slack closes account of an Iranian user living in Canada by jki275 on Thursday December 20, 2018 @10:23AM (#18725627)
In general, IRC is no worse than Slack... What features are you talking about?
Re:Slack closes account of an Iranian user living in Canada by dyarosla on Thursday December 20, 2018 @10:29AM (#18725679)
In general Windows is no worse than Mac and vice versa. Your argument reads in the same way.
Re:Slack closes account of an Iranian user living in Canada by bad_user on Thursday December 20, 2018 @11:02AM (#18726022)
Checkout IRCCloud.com ... it's an online service for connecting to IRC and can also connect to Slack too.

The obvious advantages versus classic IRC clients: it's always online and the connection happening through their servers you get good push notifications on mobile.

The obvious advantage versus Slack: they don't own the IRC networks you're connecting to, so if you have issues with IRCCloud you can just change to another client.

It has some missing features, most notably search in archives, but they are working on it.

>> "admitting that Slack beat IRC"

Sure but are we talking about a fundamental limitation of the IRC protocol, or are we simply talking about implementation details that can be fixed?

Re:Slack closes account of an Iranian user living in Canada by ryandrake on Thursday December 20, 2018 @10:21AM (#18725610)
Not necessarily disagreeing but could someone provide some solid examples of IRC being a terrible user experience? Whenever IRC comes up, people say it lost and it’s not the right technology. When pressed, they wave their hands around saying “...because, uh, user experience reasons!” As a longtime user of IRC, I’m probably blind to these issues. What’s so bad about it that causes people to put up with these inadequate “cloud” re-implementations?
Re:Slack closes account of an Iranian user living in Canada by jamiek88 on Thursday December 20, 2018 @10:28AM (#18725672)
setting up, just getting started with IRC for a non-tech person is basically way too hard bordering on impossible from their perspective.

We can talk about all the other issues around persistence and UX but just getting started is something beyond the vast majority of computer users.

It’s really hard for us to remember and empathize with this.

Re:Slack closes account of an Iranian user living in Canada by weberc2 on Thursday December 20, 2018 @10:34AM (#18725732)
I’m a tech person and I struggle. It’s a chat app; shouldn’t be so complex.
Re:Slack closes account of an Iranian user living in Canada by pera on Thursday December 20, 2018 @11:45AM (#18726447)
Too hard? I installed mIRC on my own at age ~12 in the late 90s and I don't remember having any issues, the only thing you had to do was to type a nickname and choose a server. Nowadays it's even more simpler since you don't even need to install a client (qwebirc, kiwiirc, etc.).
Re:Slack closes account of an Iranian user living in Canada by wpietri on Thursday December 20, 2018 @06:02PM (#18730034)
Sure. 12-year-olds who go on to be software developers can install it. That says nothing about the user experience of the bottom quartile of users in terms of technical aptitude.
Re:Slack closes account of an Iranian user living in Canada by def_true_false on Thursday December 20, 2018 @01:15PM (#18727435)
I'm not sure why people keep saying this. If all you want is a web client, it doesn't get much easier than qwebirc: https://webchat.freenode.net/
Re:Slack closes account of an Iranian user living in Canada by rhizome on Thursday December 20, 2018 @08:05PM (#18730696)
I'd agree that it's possible there are some discoverability issues, but i don't see where '/server irc.(efnet|freenode|etc.)' is bordering on impossible.
Re:Slack closes account of an Iranian user living in Canada by ciupicri on Thursday December 20, 2018 @11:37AM (#18726353)
But developers are not non-tech persons, they're techies.
Re:Slack closes account of an Iranian user living in Canada by paulddraper on Thursday December 20, 2018 @10:25AM (#18725644)
Access to history and search

Google SSO/SAML

Threads

But mostly access to history and search. (Note that it's not coincidence that this is what differentiates the free from paid Slack.)

Re:Slack closes account of an Iranian user living in Canada by munk-a on Thursday December 20, 2018 @01:38PM (#18727678)
Threads have been super useful for us, we have a few channels that are forums by social agreement where long running discussions are recorded to make it easy to reference. We found this style to be easier to review then breaking off separate channels per topic and we generally use it for initial feature exploration. Once something moves into the category of "We're doing this" we split off a channel and isolate the discussion.
Re:Slack closes account of an Iranian user living in Canada by gog on Friday December 21, 2018 @05:21AM (#18732469)
You need a bouncer if you need access to history, that is a deal breaker for most people. Also, being able to ping somebody via a push message on their mobile is also a nice thing when working in a remote team. Apps on mobile are also not that nice.

That being said, I wish there was a better open source alternative.

Re:Slack closes account of an Iranian user living in Canada by doublepg23 on Thursday December 20, 2018 @01:31PM (#18727619)
As a tech guy, history is the biggest complaint. riot.im is great in this respect because I get IRC (with history!) and a great UI.
Re:Slack closes account of an Iranian user living in Canada by gsich on Thursday December 20, 2018 @07:52PM (#18730630)
>They started out with IRC and XMPP bridges. But they eventually shut those down because they were a drag on improving the product.

No. They shut it down because they want people to use their (crappy) UI.

Re:Slack closes account of an Iranian user living in Canada by tracker1 on Thursday December 20, 2018 @03:41PM (#18728919)
Slack doesn't really offer much more than could be offered over existing IRC with an updated client and some bots on a network.
Re:Slack closes account of an Iranian user living in Canada by kalleboo on Thursday December 20, 2018 @11:45AM (#18726456)
The only problem with IRC is that iOS doesn't allow background processes. Otherwise it could be extended to support anything Slack or whatever does. If not in an open way, in an interoperable way.

Even Comic Chat was based on IRC, and that's as far from "user-unfriendly" as you can get https://en.wikipedia.org/wiki/Microsoft_Comic_Chat

Re:Slack closes account of an Iranian user living in Canada by ekianjo on Thursday December 20, 2018 @10:48AM (#18725865)
> admitting that Slack beat IRC.

In which world does it beat IRC? Number of users? That's not even sure, since there are dozens of thousands of IRC servers worldwide. And that's not even counting the private, self-hosted IRC servers.

IRC runs everywhere and does not need a fat browser or a RAM-and-CPU hungry application to enable "chat".

As for the user experience, this would merit a whole post in itself, but Slack sucks in many ways: threads are completely unusable, channels are hard to discover unless you know about them, and now Slack makes you pay for searching thru your past messages.

I'd say there is a lot more to this topic than "Slack beat IRC".

Re:Slack closes account of an Iranian user living in Canada by wpietri on Thursday December 20, 2018 @01:43PM (#18727726)
> Number of users? That's not even sure

As far as I can tell, Slack has an order of magnitude more users. They were at 8m DAU back in May: https://techcrunch.com/2018/05/08/slack-hits-8-million-daily...

IRC was in long-term decline even before Slack: https://royal.pingdom.com/2012/04/24/irc-is-dead-long-live-i...

So my best guess is that Slack has at least an order of magnitude more users.

But users is not exactly the metric I'm thinking of. It's when people say, "We need some way for us to communicate," Slack is the popular option. Even though I'd rather not use it, I'm in 8 right now. If you look through this thread, you'll find plenty of people concerned about how prominent it is in the open-source world, IRC's home ground.

> IRC runs everywhere and does not need a fat browser or a RAM-and-CPU hungry application to enable "chat".

I get this in theory. But RAM and CPU power are fantastically cheap. Conserving them to get a worse user experience is optimizing for the wrong thing.

> but Slack sucks in many ways

Sure. There are no perfect things. But Slack doesn't have to be perfect. It just had to be better than the competition. And for most people it manifestly is.

Re:Slack closes account of an Iranian user living in Canada by PakG1 on Thursday December 20, 2018 @10:52AM (#18725909)
How about user count? Isn't that the only metric that really matters for the question of who won? Slack beat IRC for work-related chat. It hasn't beat email for general written communication.
Re:Slack closes account of an Iranian user living in Canada by black-tea on Thursday December 20, 2018 @11:31AM (#18726293)
> IRC was always a terrible experience for novices

Who the hell cares? I figured out IRC when I was about 12 and I'm no genius. If that bar is too high for people in tech then we have serious problems.

Re:Slack closes account of an Iranian user living in Canada by wpietri on Thursday December 20, 2018 @01:29PM (#18727598)
Yes, this attitude is a clear part of why Slack crushed IRC. "It was easy for me, therefore anybody who finds it hard is dumb and we can ignore them."

I too figured out all sorts of computer things at 12. By standardized tests, I'm also in the top 1% of ability for things like that. And my dad was a programmer then, so I had a leg up.

At some point, I realized I had a choice. I could feel smug about my (narrow) genius and focus on tools for my (narrow) cohort. While grumping, of course, about how stupid everybody else was. Or I could recognize my luck and use it to make things that were good for everybody.

You know what helped me make this choice? Realizing how bad I was at so many other things. And how generous other people were in not only putting up with that, but helping me along.

Re:Slack closes account of an Iranian user living in Canada by kalleboo on Thursday December 20, 2018 @11:55AM (#18726561)
In my middle school (late 90's, the age of ICQ) all the self-described "non-technical" girls spent their breaks on mIRC in the computer lab gossiping or whatever teenage girls do. If we're talking about a developer audience (the readers of Hacker News) it really isn't difficult at all.
Re:Slack closes account of an Iranian user living in Canada by sneakernets on Thursday December 20, 2018 @12:55PM (#18727197)
Are you sure that wasn't just AIM? AIM couldn't be port blocked like IRC. Most all schools had already blocked those ports.
Re:Slack closes account of an Iranian user living in Canada by kalleboo on Thursday December 20, 2018 @10:57PM (#18731317)
It was definitely IRC. As boys who had a prerogative to tease girls, we installed NetNanny to block launching mIRC (and then the trial period expired and the school computers got infested with registration reminders...). AIM had zero mindshare in Europe at the time, it was all ICQ and later MSN.

Our school had nothing blocked, and the computers weren't locked down at all.

Re:Slack closes account of an Iranian user living in Canada by black-tea on Thursday December 20, 2018 @01:14PM (#18727419)
Yep. It's not hard. People are pretty clever and will work things out if they need to. It's just that we hand feed them shit like slack and tell each other that they're surely too dumb to use anything else.
Re:Slack closes account of an Iranian user living in Canada by zimpenfish on Thursday December 20, 2018 @12:46PM (#18727132)
> If that bar is too high for people in tech then we have serious problems.

But Slack isn't solely used by technical people. Where I work, everyone is on slack - product people, lawyers, tech people, etc.