Live data from Hacker News

Why Slack is inappropriate for open source communications

dave.cheney.net

381–390 of 536 posts

Re: Why Slack is inappropriate for open source communications

#381
post #318

Earlier quoted context omitted.

A few comments that I hope are constructive. Looking at your page, I'm not confident you're avoiding the issue by which these tools proliferate: https://xkcd.com/927/ Your users and their clients are still going to be using Slack and email, but it seems like you're giving me one more thing to log into. You write: > Schedule your time spent and group distracting reminders and notifications in one place If this "one pl…

Don't forget this problem: https://xkcd.com/1810/

One goal of matrix is to use federation to synchronize with other chat protocols, so you don't have to convince your friends or associates to use it.

Re: Why Slack is inappropriate for open source communications

#382

We are, temporarily, in a kind of dark ages of end-user open source software. The reason is that we shifted from software-as-a-product to software-as-a-service. With the old upload-and-forget model of software distribution, you could put a tarball on a free FTP site for a few pennies, and then a million people could use it, or one person could, and you wouldn't have to lift a finger. A million people could fork your…

> But if you deploy an open source service to the cloud, it's going to cost you more than a few pennies, and if a million people try to use your service you have two headaches: financial and operational.

This is exactly where I am with https://landscape.io - can't keep it running for free, can't get people to pay.

Re: Why Slack is inappropriate for open source communications

#383

Forums. I don't know why the internet got tired of them, even when they sometimes fit the bill so well. Slack is chat. Mailing lists are far too outdated. Forums are good, and some good people out there are still developing them.

> Mailing lists are far too outdated. Forums are good, and some good people out there are still developing them. WTF? How is it even remotely sane to provide a user interface instead of an API/protocol? I don't care to learn your forum's user interface, and I don't care to poll your forum for new content. I have a mail user agent that's configured to fit my needs and that I know well how to operate, and that's where…

> How is it even remotely sane to provide a user interface instead of an API/protocol?

It's the way of the world. 20 years ago we had NNTP, POP, and IMAP, and you could read them all with Gnus, customized with finely-tuned filtering and killfiles. But it's hard to "unlock value" from these things, so then there were ad-strewn forums, and now SaaS abominations, because how dare you not change your mail client when its developer thinks you should?

Re: Why Slack is inappropriate for open source communications

#384

Earlier quoted context omitted.

Except with both Slack and Gitter (not sure about others) you can link to specific messages. Sure you still need membership to view the content (a serious downside), but saying you can't link at all is disingenuous.

With Slack, at least, channel history is truncated for free accounts; so it's quite possible that a specific conversation could become practically inaccessible after a while.

You are able to export your entire public history, regardless of the status of your account. I was able to do this to rescue the chat history for Hyperledger[0][1] before we moved to Rocket.Chat.

[0] https://github.com/hyperledger/slack-archive

[1] http://slack-archive.hyperledger.org/html/index.html

Re: Why Slack is inappropriate for open source communications

#385
post #382

We are, temporarily, in a kind of dark ages of end-user open source software. The reason is that we shifted from software-as-a-product to software-as-a-service. With the old upload-and-forget model of software distribution, you could put a tarball on a free FTP site for a few pennies, and then a million people could use it, or one person could, and you wouldn't have to lift a finger. A million people could fork your…

> But if you deploy an open source service to the cloud, it's going to cost you more than a few pennies, and if a million people try to use your service you have two headaches: financial and operational. This is exactly where I am with https://landscape.io - can't keep it running for free, can't get people to pay.

Is that a typo? It looks like it should be "landscape.io", and in the way it's currently written, it gives me a 404

Re: Why Slack is inappropriate for open source communications

#386
post #272

We are, temporarily, in a kind of dark ages of end-user open source software. The reason is that we shifted from software-as-a-product to software-as-a-service. With the old upload-and-forget model of software distribution, you could put a tarball on a free FTP site for a few pennies, and then a million people could use it, or one person could, and you wouldn't have to lift a finger. A million people could fork your…

Blockchains don't really solve that problem. Scalability is a huge issue, and if you are trying to cram several apps onto the same blockchain they are all going to have scaling issues simultaneously​. It isn't a product maturity thing either. At a theoretical level, we don't know how to make blockchains scale. Every node needs to process every transaction, and we don't know how to get around that. Would be great to m…

Setting aside scalability for an issue, how would they solve this problem in the first place?

Re: Why Slack is inappropriate for open source communications

#387

Earlier quoted context omitted.

> What do you have in mind? You are using URIs and HTTP status codes (if you want to call it that, as you are not actually speaking HTTP), which is completely unnecessary (you could transport that same information in JSON, reducing the number of languages that an implementation needs to be able to generate and parse to one instead of three, thus reducing the attack surface by at least 66 % (probably more, given the c…

Your justification of why "it's essentially impossible to reasonably port it to a sensible transport protocol" appears to be an explanation of how one could reasonably port it to a sensible transport protocol (JSON over some flavour of socket) ;) Totally agreed that HTTP is inefficient and increases the potential bug surface a bit. However, the ubiquity and convenience empirically seems to outweigh the inefficiency a…

> Your justification of why "it's essentially impossible to reasonably port it to a sensible transport protocol" appears to be an explanation of how one could reasonably port it to a sensible transport protocol (JSON over some flavour of socket) ;)

Except for the fact that it's necessarily redefining quite a bit of the protocol, also necessarily further complicating any possible universal implementations because this kind of construct doesn't even provide any sensible layering abstractions.

> Just to reiterate: the websockets transport does (in part) what you propose: it doesn't use URIs, it doesn't use HTTP status codes

Except that the client and the server still need to understand HTTP in order to then implement a bad version of TCP on top of it, more or less, which makes this whole mess even more bloated and error-prone.

> This doesn't feel like people facepalming and walking off, but just saying "huh, let's see if the HTTP thing is that bad in practice. oh, it's fine, i'll concentrate on writing my bot/bridge/client/whatever".

What exactly would people facepalming and walking off feel like, that this doesn't feel like it?

In case you hadn't guessed it yet, that was exactly my reaction when I looked at the spec a while ago, and it just so happened that I stumbled upon this thread here, or you most likely wouldn't ever have heard about it, and I can only guess that I am not the only one.

(And no, that reaction was not just based on the use of HTTP, but more generally on the impression from the spec that it's all a huge dysfunctional mess that's essentially impossible to implement securely, and that probably will result in even greater interoperability problems than email with all its historical baggage in a much shorter time frame. All of which in turn makes me suspect that the people who are busily writing software for it just are lacking knowledge and experience to see the flaws, and examples like that "C" client do not exactly help to convince me of the opposite.)

Re: Why Slack is inappropriate for open source communications

#388

Forums. I don't know why the internet got tired of them, even when they sometimes fit the bill so well. Slack is chat. Mailing lists are far too outdated. Forums are good, and some good people out there are still developing them.

Reddit and Facebook ate forums. Reddit in particular fills that interest-niche conversation role to a degree that it strangles forums.

Reddit IS a forum platform. Anyone who wants to create a subreddit can do exactly that. Reddit did not replace forums, just the software that they run on.

Re: Why Slack is inappropriate for open source communications

#389

Earlier quoted context omitted.

Given Matrix & Riot are entirely FOSS, please do spell out its obnoxiousnesses (rant here, or file on http://github.com/vector-im/riot-web/issues ) so we and the wider community can go fix it. Agreed that Riot is too heavy; we're currently doing a performance blitz on it. In terms of Matrix itself being too heavy... we're still waiting for anyone to contribute a more efficient transport, but turns out HTTP+JSON works…

The startup times are most notable for me. As an example, here are a few lines from the node example app in the matrix-js-sdk repo: Jonathans-MBP:node jon$ node app.js | ts Apr 11 18:27:22 Got push rules Apr 11 18:28:03 Room List: Apr 11 18:28:03 [0] Invite from @sms:matrix… (0 members) --- This seems like a pretty barebones Matrix client, and it's taken 41 seconds to get to the point where it can display the rooms I…

So, this was a design flaw in how matrix-js-sdk was originally implemented - it simply didn't cache any state whatsoever locally, so every new launch meant re-syncing the whole world to the client. This can obviously be improved by lazyloading, but for now we've fixed it by caching full offline state in indexeddb - https://github.com/matrix-org/matrix-js-sdk/pull/363 & friends. This speeds up launch time to a few seconds, if that - and as we go through doing more lazyloading it'll be even better. We also need to make the app progressively loaded in general rather than a big ball of webpack.

Coincidentally, the new version of Riot which uses the new indexeddb backend should be going live tomorrow (live today on riot.im/staging).

Re: Why Slack is inappropriate for open source communications

#390
post #385
post #382

Earlier quoted context omitted.

> But if you deploy an open source service to the cloud, it's going to cost you more than a few pennies, and if a million people try to use your service you have two headaches: financial and operational. This is exactly where I am with https://landscape.io - can't keep it running for free, can't get people to pay.

Is that a typo? It looks like it should be "landscape.io", and in the way it's currently written, it gives me a 404

Oops- it was, thank you. Edited and fixed now!
Post reply on HN