I didn't know Spectrum until today. It looks similar to Gitter.
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…).
Depending on definitions, you could also include rocket.chat, and Zulip (open core). There's a bunch.
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)
There is so riot.im which is built on top of Matrix.org (which was built for federation and E2E encryption). There are already IRC and Discord bridges to matrix.
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)
That's the next thing on my list to setup. I want to get a synapse server up with FB Messenger/Hangouts/IRC/Discord and Slack bridges to bring all my messaging back under a gateway I control (even if I have no control over the actual chat services) and a unified accessible history.
I used riot.im as my primary IRC client (via its IRC bridge) from home, work, and on mobile, for a year or so. Unfortunately there were lots of issues and bugs, to the point where I couldn't trust that when I wrote someone a message they would get it, or vice versa, so I had to give up on it. I'm now a happy IRCCloud user.
Are you facing this issue with chats on Riot itself or as a bridge to IRC ?
Because as a slack replacement, riot is pretty cool (and there some redesign happening ). Most of the criticism is around its IRC bridging, which I agree is a little unstable.
But let's face it - nobody else (slack et al) even tries.
Only with the IRC bridge, which is the primary use-case for me since so much of my existing community chats are on IRC still. IRCCloud also bridges to Slack, so I get both in the same (synced across devices) interface.
Thanks, I haven't used it myself. Do you know it is limited due to being new and underdeveloped, or are there missing features/hooks in Zulip that would make it difficult to have a more complete integration?
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.
Personally I'm really annoyed with Scala community's obsession with Gitter. It's such an inferior tool.
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.
Speaking as a library maintainer, I've got GitHub issue that stayed there for months before I replied. That's because my time as a contributor is very limited and I get fatigue when replying to too many support tickets.
And you'd think, oh wait but there are other people willing to reply. But not really. Forum, email groups, even StackOverflow only work when the projects you're talking about are insanely popular.
This is because of two reasons:
1. people with problems are bad at describing those problems — this is why StackOverflow answers often don't answer the freaking question, but rather try to guess what the author wanted, a trend that's driving me insane, because I often want the answer to the question being asked and not something else; whereas on a chat channel, people have conversations, which helps clarify the intent
2. people are afraid of being wrong; but chat is more casual, so in my experience more people end up participating
Chat has other benefits. You can have off topic conversations, you can make jokes, you can make friends. I do wish Gitter had threaded conversations. They promised it at some point but nothing came of it.
Also, I do like Discourse (https://discourse.org). It does a good job to mix some chat features with forums. Scala has Discourse forums, like for example https://users.scala-lang.org ... but the Scala Gitter channel is way more popular.
And one final thought: I know communities that have virtually no meaningful online presence. You might be annoyed at our choice for using Gitter, but at least you've got some chat channels to go to.
I've never had much satisfactory help from chat. I think I've never quite understood the social element of it. Do I wait for a pause? Do I make friends first? Just ask my question and wait?
Ask a question and hang around for half hour to see if anyone replies?
And in the meanwhile 6 different conversations, statements, off-topic chats and other noise is scrolling past me completely ruining any focus I had.
I find them utterly hateful things when I'm in problem-solving mode. Maybe they are more fun when you're in a "sort of working" mode but that's not when I need help.
As someone who interacts a lot with front line support for a fairly large organisation I find this balance interesting. Support channels are often a strange mix of FIFO with priority based queue jumping. I was at a talk by Kate Russell of BBC Click recently where she showed some stats on customer service based interactions heavily moving towards chat based interaction, obviously more and more backed by AI chat bots with human fallback. The next step on this path being voice chat also with bots.
Without the AI tier though scaling this is near impossible as you tend to a "most recent loudest" priority system, certainly if your support case to support rep ratio isn't balanced. Users also have to resort to repeating requests in a chat-only forgetful system.
This is why I ended up investigating hybrid sync/async interaction systems that cater better for not forgetting threads.
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).
Gitter has this annoying bug where it'll email you for every message in any channel you're in and you can't turn it off. How such an egregious bug still hasn't been fixed, I don't know, but it doesn't inspire much trust.
But the real problem is that unread item count is coupled to the emails being sent out, https://gitlab.com/gitlab-org/gitter/webapp/issues/1205. So if you have notifications set to "All" or "Announcements" which track unreads, you will get emails for any unread messages in the room which isn't desirable.
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:
Ah, Skype for Business. Which can't actually call other Skype accounts, and requires a desktop executable if you want clients to be able to call you. Meaning it is neither "Skype" nor is it useful "for business".
I spent a fair bit of time trying out many of the different chat systems out there for our tech community. In particular I looking for solutions that could do a half decent job of combining synchronous as well as asynchronous communication. The main benefit of implementations that manage to pull this off is being able to handle real-time chat but also make it easier to catch up with the conversation history if you've been away from the conversation for a while. Other criteria I was looking for were sensible threading, mobile friendly, persistence of history and private channels. Integration with voice or video chat was a bonus.
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):
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.
Yes async<->threading is crucial, and I hope Matrix gets those. I do want to root for Matrix the most, but I think it also likely that adding federation after the fact is less likely than adding threading/async, so it's a rational not just sentimental thing to root for it.
I couldn't for the life of me understand how many people I spoke to didn't see the problem that lack of threading and async catch-up posed to linear chat systems as Slack gained in popularity. to me it felt like a forgetful, prettified IRC with awkward sign-up.
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.
heh agreed, but "a forgetful, prettified IRC" translated into normie-speak pre-Slack was "a forgetful, prettified what? Can you email me a link about it?" :)
Check out Talkyard if you're interested in an async + sync hybrid that takes inspiration from Discourse, HN and Slack. https://www.talkyard.io, I'm developing it.
> I spent a fair bit of time trying out many of the different chat systems out there for our tech community.
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.
Yes, Discord, IRC, Riot/Matrix and Zulip for example make this very clear. Some of the others have it but not obvious.
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, Talkyard has an online users list. It's a Q&A + HN like forum with chat hybrid oss software (both async and sync communication), https://www.talkyard.io, I'm developing it. But there's no mobile native app.
I think plenty of people knows Slack has threads. Threads in Slack are secondary and are mostly meant for having conversations that people don't care about. Zulip has a much superior threading model. Each and every conversation is a new thread and has a topic. This model makes it extremely easier to catch up and participate in conversations. Once you get used to the threading model of Zulip its hard to tolerate threading model like Slack which is really inefficient and time wasting.
> Once you get used to the threading model of Zulip its hard to tolerate threading model like Slack which is really inefficient and time wasting.
This!
I got a bunch of our community to try out many of the different chat systems out there. Zulip was an interesting one as there were two points that really changed their perception of it as a platform:
1. When they were told there was a "Night Mode" - aesthetics are important! (something Slack arguably got right, IMHO beyond that it's just fancy IRC).
2. After around 5-10 minutes of playing around the penny drops as to why the stream and topic "zooming" is implemented in the way is it. Usually a "Holy Cow" moment.
Once you "get" it, going back to anything else feels like going back in time.
This is exactly the issue with the style of threads used in Slack, Teams, Hangouts Chat etc. Their useful half-life tends to them being forgotten quickly.
I had to read the title multiples times to truly believe what I was reading.
« 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 wonder if there is any tool to help correlate sequences of events in the news like this. So much of understanding this is understanding the Microsoft acquisition of Spectrum. It feels like you have to have a constant memorized list of what happened to everyone in at least the last 5 years to understand why something happened, and then try to correlate it to other peoples' strategies. Would be nice to have a little timeline of events related to each "entity" so that you could see all the connections.
From the release it looks like all the features of Spectrum are now free. It seems to me, the goal was to integrate slack-like features in the box for GitHub proper, and for enterprise.
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 really like Spectrum, I tried to get other people to join it but my "friends" are always stuck on Discord and Reddit. So finally, I only lurk it occasionally.
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 ?
This is the first time I've heard of Spectrum, anyone mind summarizing the key features/differentiation? It looks similar to Slack or Discord, with a focus on discoverable open communities as opposed to private organizations, and threaded conversations being a key feature?
Hey, co-founder here. We've really been focused on threaded, public-by-default, search-indexed conversations. We've found this to be super helpful for large, async communities so far, and the search-indexing is really great for organic discovery and preventing too many duplicate questions that someone might ask in a synchronous chat app. But we also support private communities, private channels, direct messages, public community/user profiles, and more. We've seen these things be really useful for content and community discovery.
I have a project within my corp where we need to collaborate with other companies on a shared project. We want to do this privately and right now run our own rocketchat stuff to do this. However we are open to hosted solutions.
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?
Hey there - if you selected 'private' during the community creation flow, everything in that community will be private. However, there will still exist the concept of "public" and "private" channels, however those scopes are still constrained by the community settings. For example, a private community with a public general channel means everyone who has access to the community can see those conversations. But if you have a private channel in a private community, only a subset of authorized community members will be able to see those threads.
Ok, then this text in the "general" channel settings is very confusing:
Anyone on Spectrum can join this channel, post threads and messages, and will be able to see other members. If you want to create private channels, get in touch.
Also, it would be helpful if i could tell at a glance which communities I was in were private vs public. I can't even tell from the communities setting page if I selected private or not on creation (I did, but i'd still like to see that noted)
Thanks, looking forward to seeing how this gets integrated
*I'd love to see documents/media added to threads added to the repos (optionally perhaps)
OT: My hope here, is that the integration with Github will also, as a side effect allow orgs using MS Teams to bridge the public channels... Letting an org use the more powerful MS Teams client internally, but still integrating with Spectrum without the need for yet another client for public interactions.
TWC most certainly did not take over Charter. The other way around, which is also why the legacy Spectrum brand continued on. Disclaimer: Former employee of Bright House/Charter.
The same with AOL with everyone thinking the same thing. Sorry but charter is toast, it will be either a brand name and see me infrastructure, but entirely controlled by twc.
The branding might be different but at the helm is what was twc. Charter spectrum or whatever they call it this week is not in control. This is a reverse merger, twc owned charter. New name, same company.
You're talking about internal politics, which group of shitty telecom execs won the arm wrestling match for control of the merged shitty telecom. And you may well be right, I don't much know or care.
I am very happy to see this. It is a well-polished product that I would use any day over alternatives like Discord, which lots of OSS projects seem to be shifting to. Congratulations to the team.
The site has slowed to a crawl as the HN audience hugs it to death. Unfortunate that they didn't anticipate the increased interest and allocate more capacity accordingly.
The first time I loaded this, I got an error, “We couldn’t find a channel with this name.” In the console, ServiceWorker errors on Google Analytics (blocked), and a bunch of unhelpful “Unhandled (in react-apollo)” errors with long stack traces that I shan’t reproduce here. A reload fixed it. Curious and a little concerning. But even then, the document has no title or favicon, which is… what!? (OK, when I looked back five minutes later, after much scrolling through several pages of comments at the end, it did eventually get a document title, but only eventually.)
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.
That has to be a trademark violation in the UK. Would be very surprised if the trademarks for Clive Sinclair's ZX Spectrum weren't in the same category as this. And thanks to the "Next", they're still in use.
spectrum is also the brand name used by charter telecommunications for their ISP and news business, so they obviously do not have much concern about trademark infringement.
I tried using spectrum for something the other day and I found it impossible to find what I had already posted (to see if someone answered my question). UI is garbage.
Unless you're viewing it from a purely financial lens (e.g. you're closely following the MSFT stock), it seems like "joining GitHub" is probably closer to reality than "joining Microsoft" for most purposes. I don't have any more information than the post has, but it sounds like:
* 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.
I had the same thought. For the sake of clarity, Spectrum is not a cable company unto itself. It is a brand owned by Time Warner Cable, a thin facade to escape their reputation for costumer dissatisfaction.
> a thin facade to escape their reputation for costumer dissatisfaction
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)
Charter launched the Spectrum brand as a thin facade to escape their reputation for customer dissatisfaction. Charter acquired TWC. Charter re-branded TWC as Spectrum, a thin facade to escape TWC's reputation for customer dissatisfaction, among other benefits. Charter advertised heavily in existing TWC markets, spending lots of $ to broadcast the message of 'free' speed increases existing TWC customers would get as a result of the Spectrum takeover. Charter did all this as a thin facade to escape scrutiny for increasing minimum internet service costs in TWC's existing markets.
Actually, Spectrum was a new brand introduced after TWC was purchased by Charter Communications 2 years ago, so it was more an effort to unify the two brands than trying to run away from a bad reputation.
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.
Somehow they managed to escape into even more dissatisfaction. At least Time Warner had different plans and didn't spam me several times a week with letters. Now they only have one $70 plan and are sending me a ton of mail with "deals" that aren't deals.
I must've lucked out, then, as I only pay $15 a month for an Internet-only plan through Spectrum. Granted, the speeds aren't anything to write home about (30 Mb/s download), but it's more than serviceable.
Where's that? I have an old $15 plan for 3 mbit grandfathered in but I would like a little more speed. The only plan they are offering to me is $49 for 12 months which then goes up 70.
In Los Angeles. Oddly enough, I went to see if I could find that plan again and it's nowhere to be found. The cheapest it's showing for me is a $50 a month plan for 100 Mb/s speeds.
Just in case anyone is still reading this thread, Spectrum was launched by Charter in 2014, two years before the TWC merger. It's just a gimmicky brand, similar to Xfinity, Fios, or Uverse.
That's so ridiculous! This is the hypothetical confusion scenario: "Oh I want to waste a tonne of money watching sports and uglify my house with a dish. Ah Skype! They do that, I'll call them up and get an install done this week." Calls them up and Skype taking advantage of the trademark confusion pocket some money from their Skype dish installation.
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…).