As I understand it, it means we now have at least three “slack-like”, well-backed, open-source, community-centered chats: - Gitter, now owned by GitLab; - Spectrum, now owned by GitHub; - Mattermost, independent, but fully integrated within GitLab.
That's great to have credible alternatives to the proprietary behemots that are Slack, Discord and others, but I wish they were able to federate somehow, so that as a user, I don't have to have an account and a browser tab on each instance of each platform, with slightly different user interfaces and features (in addition to my IRC client).
I remember there was a suggestion for Gitter to use the Matrix protocol at some point, but it doesn't seem to have gained much traction. That would be so awesome to have all of them using it, so that one could keep all their discussions in the same place (eg. same mobile application, same user-chosen chat client…).
As to federation, the ActivityPub protocol underlying Mastodon, and a bunch of other projects, was originally designed to support it -- but the devil's in the details, particularly regarding finding a common data model (do you have topics within channels, like Zulip does? what do you support within a channel beyond plain text messages? etc)
Isn't Zulip fully open source? That's what they say on their site: https://zulipchat.com/
Riot is being deployed as the govt chat infrastructure for 5 million users in France.
The SaaS version is modular.im (much cheaper than slack)
Is that a done thing ? I haven't heard about it in a while.
Also, Zulip is full open source, not open core (meant as a response to rst's comment, not the parent...). Mattermost is open core.
You should check on XMPP web solutions such as Movim https://movim.eu/ (P.S. I'm the author).
However I wish they'd fix their IRC bridge, which has some issues, like not reporting the full list of users, which is driving me insane.
Speaking of Slack-like, the best alternative remains in my opinion good old IRC. I'm a user of https://irccloud.com for always-on presence on IRC and it has better clients than Gitter.
Gitter search UI is the worst, and search itself is useless, often returning no results when you can spend an hour scrolling to find what you want manually.
This is inexcusable when Gitter is your project's de facto Q&A place instead of more structured places like StackOverflow or Github issues.
And so the users are left with a messy stream of collective consciousness that is impossible no search or navigate effectively.
You can track https://gitlab.com/gitlab-org/gitter/irc-bridge/issues/52 for seeing more users in the member list/roster. There is a proposal there to trickle in new users to the list every time a new message comes through the bridge with relevant code linked (merge request welcome).
that said, gitter has many useful features that aren't available on irc: inline code with syntax highlighting, inline images, etc.
Works for: Slack, Zulip, Mattermost, IRC, Telegram, Gitter, Rocketchat, XMPP, Steam, Twitch, Riot, and some others.
Some of the nifty things it supports (to various degrees): - rethreading of Slack messages between instances. (future) interop with Mattermost possible. - edits and deletions going through most platforms. - relaying of "user is typing" messages on Slack. (future) interop with Mattermost possible. - (future) hack to relay emoji reactions via editting a "prosthetic attachment" in Slack. - sync'ing channel topics. - (future) still not generalized, but on a local branch, I've been using an option to set a channel with a language, and have all incoming messages translate via Google Translate.
This last feature I'm pretty excited about. The goal is to allow anyone who finds themselves interested in #un-projet (that's french) to simply create #un-projet-en, and have everything auto-translated to Ye Olde English. If people in #un-projet don't understand your english replies to their french nonsense (ha!), they can create #un-projet-fr and have all your english belligerence translated into their One True Glorious Language.
As stated, this allows bridging between many different services. It's config is via toml file, and not a UI, but I am excited to later build that out. I'm particularly excited to explore how public chat gateways could be offered as a community service, kinda like TravisCI.
Like imagine if someone could send you a link, as a member of a Slack or Mattermost team, and logging in would allow you to join a giant multi-team/multi-platform gateway that others were already using. I feel that this could help un-silo us until we all figure out the one true protocol ;)
Sign up for Spectrum, go to 'sign in with github' as there's no option but to sign up through another system (FB, Google, or Twitter {sigh}), and then get the standard warning on the Authorise page:
"Not owned or operated by GitHub"
No doubt it'll be updated soon.
Amongst others I tried: Mattermost, Rocket.chat, IRC(Cloud), Gitter, Discord, Slack, MS Teams, Twist, Hangouts Chat.
Two stood out, both open source (Spectrum wasn't when I started looking):
Spectrum: https://spectrum.chat/
Zulip: https://zulipchat.com/
These two along with Twist (proprietary) manage to deal with the threading and hybrid sync/async. Both the above also have exceptionally helpful people behind them.
The other special mention goes to Matrix (https://matrix.org/) and Riot (https://riot.im/) as their persistence syncing and federation work is impressive. Their threading and hence async story isn't as well developed yet though (https://github.com/vector-im/riot-web/issues/2349).
Personally I find Zulip to have the nicest implementation of "topic zooming" as it still allows for a global linear view of all activity. Spectrum feels a bit more "channelized" and a bit white-space heavy but prettier.
Zulip's mobile client has come a long way in recent months too.
The hardest part though was trying to convince the community to migrate away from other social platforms. Meetup was (still is) driving me mad with their forums/discussions features which are woeful.
Do any of them allow you to see a list of who's online? That feature broke on Slack. I was told it's a known bug and in the issue queue, but it has already been months without a fix. There isn't a way to see who the regulars are, and the community looks somewhat dead without a way to see who is online.
One thing that Spectrum has that's similar to forum software is a reputation system. Others have admin/moderator status but nothing further.
Discord's mass concurrent voice chat is very impressive, but then they did hone this in 64 man WoW raids and the like. The new screen sharing they added a while back is nice too. Interesting implementation (you can pick which of the nine to watch at any given time).
Video chat is the latest I've been looking into with Zoom starting to stand out above Hangouts and Skype, especially for one to very many and multiple speakers in turn type arrangements. Zulip can hook into Jitsi and Hangouts.
Yes Slack has threads, but they aren't implemented in a way that's conducive to ad-hoc interaction over longer periods of time.
Not quite. TWC switched to the Spectrum brand when they were acquired by Charter, because Charter was in the process of rolling out the Spectrum brand for their own services at the time.
(to be fair, you could probably argue that Charter launching the Spectrum brand was "a thin facade to escape their reputation for costumer dissatisfaction", but it's not why TWC switched to the Spectrum brand)
That also helps explain why they stopped offering discounts to new (and determined) customers. With fewer competitors, there's a greater ability to jack up prices and earn monopolistic rents.
I was unaware of this product until now, I figured I'd give it a spin to see what was available now and hope for some cool github integration in the future.
However the public-by-default stuff is a bummer. I know there are ways to make things private and perhaps its just me not spending enough time with the product but even if I make a private community it always has a _public_ general thread that I can't delete.
The public general thread is the default for any new thread or conversation so I can see that it will be easy to unintentionally create a thread that was intended to be private as public.
I understand why you want public-by-default, to increase engagement and community building but there are many businesses using Github and could use this tool if they were sure that they could keep stuff buttoned down.
So perhaps you guys could add a "business" or "private first" context that could be used for folks like me to ensure that while operating in that context I am operating as private-by-default.
Also, can you give any hints to what integrations might come?
Spectrum is a real-time chat service where each conversation has a permalink.
Is that different from how Slack conversations or Twitter conversations have permalinks, in an interesting way? What starts a new conversation?
« Microsoft is Acquiring Spectrum through GitHub ».
Regardless of what the title says this is what my brain keeps reading.
At first it seems like a nonsense, but after all it makes perfect sense.
Microsoft must repay the inversement in GitHub, it was an expensive acquisition. Best way to do this ? Probably to bundle GitHub Enterprise with Spectrum.
It makes sense as GitLab have Gitter but GitHub has nothing to manage communities.
I would theorize that GitHub enterprise itself may be deprecated with a migration path to "Azure DevOps" and "TFS" for hosted/internal source control respectively, with potentially better integration with public Github over time.
It may be interesting to see Spectrum integrated with MS Teams for those orgs that have internal teams, but need to interact externally, which is a story seriously lacking in Teams currently.
I did find it interesting it's marketed as Github doing this rather than MS. I think MS is trying to distance their influence over Github.
Can someone please explain?
Skype was sued in UK for using letters "S,K,Y" by brand "Sky" and lost [1]
https://spectrum.chat/
https://spectrum.im/Subsequent they made a logo from the S alongside the word Skype and registered it successfully.
However I don't understand why GitHub would acquire Spectrum: what do they have to win from this? Doesn't GitHub already have their own "forums" for communities per Git org?
I tried to use these git forums/board (https://github.com/orgs/lnug/teams/), sadly it never ever really get going... I also blame GitHub's notification system which is absolutely badly implemented and confuses new-comers.
Back in the day we hyped-up and used Gitter for our community ( https://gitter.im/lnug is where I am at ). Now I wonder, is this why GitHub would want to buy Spectrum? To show GitLab they also can do community threaded discussions a-la-IRC ?
I am confuse, friend.
It's my go-to (with https://github.com/Automattic/wp-calypso) to get an idea of how they solved a particular issue in their React app.
I'm really thankful to them for open sourcing their product. I wish more companies would go this way.
Anyway, congratz to Max (also author of Styled Components) and the rest of the team!
Kudos and appreciate the team for open sourcing it too!
Zeit (the company behind `now`) recently killed their 10,000+ member Slack server in favor of Spectrum. Their reasons were (a) Slack isn't designed to support communities, (b) they were having to answer the same questions repeatedly, (c) those answers weren't being indexed by Google, and (d) there is very little abuse prevention in Slack.
Another way of phrasing (d) is that they seemed to want to have greater control in shutting down conversations (for better or worse).
Lopping the head off a 10,000 member community seems like a bad idea, and that was only reinforced by the outcome. People regularly complain about Spectrum on Zeit's spectrum. Threads go unanswered, sometimes for weeks. And every conversation is forced into a threaded model. There's no way to have a single, shared chatroom that everyone is posting to. (Or if there is, it's not the default, and defaults matter.)
The nice thing about Zeit's old Slack channel was that if you were facing a crisis with `now`, you could post in #now and their support staff would take care of the problem almost immediately. But more than that, you could see that other people's problems were being taken care of immediately. That strengthened my brand perception of Zeit and made me want to recommend `now`.
I still recommend `now`, but losing out on real-time support felt like a major blow. When my payment details lapsed, all of my `now` deployments were shut off immediately. I updated my payment details, but the deployments were still offline. I felt somewhat foolish posting a Spectrum thread like "Hey, I know I was supposed to be paying you, but I didn't. Now I did. Will my deployments come back online, or do I have to re-deploy everything?"
I didn't want a conversation like that to be indexed in Google for all time, public for all to see. And while there may be a DM feature in Spectrum, the benefit of Slack is that you can get a sense of who's who right away. It's obvious who the support person is, because they are the ones fielding everyone's questions each day. And you can just shoot them a quick message for one-off questions.
No doubt that gets annoying. But from an outsider's perspective, it's hard to understand why the trade-offs are worth it.
Meanwhile, Discord seems to be gaining traction in the developer space. There are a lot of interesting programming communities springing up, like The Coding Den. Many open source projects are starting to offer a Discord presence by default. And there are a lot of benefits with this model: All the upsides of Slack (and then some), minus some Slack integrations that you might miss (which you can use Slack for anyway), and without forcing every conversation into a threaded async model.
All of that said, please note that this comment is written as an outsider's perspective with relatively little Spectrum experience. Maybe I'm just using Spectrum wrong. But the benefit of the Slack/Discord model is that you end up feeling like a community, rather than a disparate set of posts that are basically tweets.
* The Spectrum product will be merging with the GitHub product in some sense, maybe integrating completely, maybe re-branded with GitHub branding, maybe separate branding but tighter integrations. It certainly doesn't seem like it'll be a separate Microsoft-branded product.
* The Spectrum team (three people) will join the GitHub team, which of course has its own office, culture, vision, etc. Maybe they'll keep working on Spectrum, maybe they'll work on other parts of GitHub, maybe current GitHub folks will join them, but point is, the people they'll work with are the people who work on GitHub, not Microsoft as a whole. It certainly seems unlikely that they're moving to Redmond to work at Microsoft HQ.
One thing that often happens in chat is general talk like weather. Would that go in a topic here too?
The big image at the top of https://spectrum.chat/features is also broken.