Forem Creators and Builders 🌱

Ben Halpern for Forem Core Team

Posted on

Deprecating "Connect" (chat)

We have made the decision to deprecate /connect as core functionality from the application. Our first step will not be to entirely remove it, but to put it behind a feature flag pending future development. This will give you at least a few weeks to remove it if you are using it.

Connect has never worked quite well enough to justify being baked right into Forems, and while the co-location of chat and async is a pattern repeated across social media like Twitter, Facebook, Instagram, etc. we feel that in the distributed ecosystem of Forem, it makes less sense to isolate chat in too many different places.

Forem has consistently acted as a great complementary tool to chat-based spaces like Slack, Discord, etc. and removing Connect as a focus now will allow us to more clearly devote focus to the undeniably core elements of Forem — the feed, post composition, comment section, etc. We will continue to invest in the most important parts of the experience.

As Forem progresses, we will come up with effective ways to connect individuals in private and public contexts as appropriate, and chat contexts may come back — likely as more of a plug-in than a bake in.

In order to stabilize Forem and deliver a customizable, extensible, decentralized experience, we need to reverse course on functionality from time to time and Connect has never been able to get over that hump as a product feature we can lean into deeply.

Oldest comments (25)

Collapse
 
akhil profile image
Akhil Naidu

As Forem progresses, we will come up with effective ways to connect individuals in private and public contexts as appropriate, and chat contexts may come back — likely as more of a plug-in than a bake in.

I'm not sure how Forem Connect work in the background and it's dependencies. So think of this comment/opinion as a hypothetical idea.


Rather than removing it completely, make it available as an optional feature via admin panel with an asterisk. This way admins can decide upon to use or not use it based upon the way their community works and connects.

As mentioned above, i'm not sure whether this is possible or not, if it requires a considerble amount of debugging and refactoring => then disabling it for now and updating it to a newer version in later stages seems like the way ahead.

Collapse
 
thomasbnt profile image
Thomas Bnt

Rather than removing it completely, make it available as an optional feature via admin panel with an asterisk. This way admins can decide upon to use or not use it based upon the way their community works and connects.

I think it's a good idea! 😄

Collapse
 
citizen428 profile image
Michael Kohl

I'm not sure how Forem Connect work in the background and it's dependencies.

Without wanting to go into too many details: one of the reasons we chose to remove Connect is that it has quite a bit of technical debt and keeping it around behind a feature flag does not help us in this regard.

Also, as Ben pointed out, if a chat feature does come back it will most likely be reframed in the context of the wider Forem ecosystem, not a single instance.

Collapse
 
akhil profile image
Akhil Naidu

You mean like a federated architecture?

Thread Thread
 
ben profile image
Ben Halpern

Basically yes. Matrix got thrown around by @rhymes when this was first brought up, and I'd really like to entertain all sorts of ideas here.

Flimsy forem-by-forem inboxes which may or may not have E2E encryption at some point is not necessarily the ideal here. A single Forem can do a good job of managing permissions, i.e. we follow each other, you should be able to message me... Messaging already has so much sprawl, if this can be an optional decentralized connective element of the Forem ecosystem, that would be ideal.

Thread Thread
 
akhil profile image
Akhil Naidu

Mastodon does this exceptionally. I'm not sure how this can be implemented in a Ruby on Rails app, but the way two individually hosted Mastodon communicates can be a good fit for Forem.

It is more like; if you have created an account in one Mastodon instance, there is no need for you to create a new mastodon account. You can use your existing account to signup for another Mastodon server. So, what is the advantage of this?

Let's assume we both are following each other in dev.to and also used our dev.to account to create a Forem account (both of us) => It implicitly means we are also following each other in Forem.dev

Thread Thread
 
citizen428 profile image
Michael Kohl • Edited

Mastodon does this exceptionally. I'm not sure how this can be implemented in a Ruby on Rails app

Mastodon is a RoR app and open-source, so that could definitely serve as inspiration. 🙂

github.com/mastodon/mastodon

That said, Mastodon is about federating ActivityPub content which is not necessarily a good fit for realt-time chat.

Thread Thread
 
akhil profile image
Akhil Naidu

I see, I'm not aware of those minute facts; but anyways Mastodon is the only social media service I can come up with, which might come near to what Forem is aspiring to introduce via Forem connect.

Collapse
 
ildi profile image
Ildi

Sad to see the chat be removed. Connect is one of my favorite features within Forem but I do agree that it needed a lot of work still.

In order to stabilize Forem and deliver a customizable, extensible, decentralized experience, we need to reverse course on functionality from time to time and Connect has never been able to get over that hump as a product feature we can lean into deeply.

I can appreciate this comment and hopefully Connect does make a come back as a plug-in option at some point. For now I guess it makes sense to stick with Discord for live conversations/team meetings.

Collapse
 
ben profile image
Ben Halpern

I can appreciate this comment and hopefully Connect does make a come back as a plug-in option at some point.

I think it will, but better thought out from the ground up— and more with the whole Forem ecosystem in mind. It was conceived of in a very DEV-centric way and working backwards from there was going to be a challenge.

Collapse
 
citizen428 profile image
Michael Kohl

@ildi If you have a few moments I'd be very interested to hear

  1. What you liked about Connect?
  2. What you disliked about Connect?
  3. Where you think it still needed work?
Collapse
 
ildi profile image
Ildi

Hey @citizen428 im happy to give you some feedback here:

  1. Live chat is a big feature in the context of community and teams. Having the ability to chat with someone via Connect directly on 1VIBE meant that I did not have to go to another app like Discord, Instagram, or WhatsApp. Live chat is also useful to admins of small communities with users who are not familiar with markdown so they need some guidence which is best provided in a live manner directly on the website. For the short period of time that I got to use Connect, I would say that most conversations were work related where I was exploring ideas with people or collaborating on some sort of task. I feel like these days users expect live chat to be natively baked into social applications or websites that function as communities. An argument can be made that how good your live chat feature is, plays an important role in how much time users are spending on your app. I personally believe this is the main reason why Discord has become synonymous with community. Most of my experience as a web designer has been with Wordpress as the CMS and for many of those websites I always wished there was an easy way to add a well built live chat feature.

  2. I can't say too much about what I disliked other than a few bugs I was experiencing, one being a scrolling issue on mobile when chat became long enough to scroll. Another one that stood out is that some users were confused about the fact that two users need to follow eachother before they could send messages.

  3. I think it was made clear to me by the Forem team real early on that Connect wasn't a fully fleshed out live chat feature. With that being said I did not have many expectations beyond the basic ability of being able to chat with users who created accounts on 1VIBE. I don't think Connect needs to have all the live chat features that an app like Discord has, but I do think that it needs to work really smoothly and be easy to access/navigate. Since I no longer have access to the feature I cant really give more in depth feedback, but I do want to emphesize that I think a simple but really well built live chat feature can be very valuable to Forem communities who are small or medium size. Im not sure how well recieved Connect was with users of a large community like DEV.

Thread Thread
 
citizen428 profile image
Michael Kohl

Thanks a lot for the very detailed response, it's much appreciated! All of this can serve as input for any potential future iterations of chat in the Forem ecosystem.

Collapse
 
andyv profile image
Andy • Edited

Just my 2 cents as a product manager for a product serving more than 50 million users:

If Forem is to compete with the big social networks (Facebook, Twitter, etc) in a meaningful way, then something like connect would be crucial. For example, FB chat has so many use cases and connects people in ways that regular posting/comments can never achieve.

This is similar to the markdown chat feature. If Forem is to compete with the big social networks in a meaningful way, then it should move away from markdown as it is too esoteric and niche for the average user.

Collapse
 
thomasbnt profile image
Thomas Bnt

Sooo saaad :c

All tools to speak with other in one platform.

Collapse
 
ussaaron profile image
Aaron Martinez

Thanks for the update, Ben. I'm also dissapointed to see it go but totally understand how the current model may not be meeting expectations. Do we have any kind of a time frame for deprecation?

Collapse
 
kristoff profile image
Loris Cro

Seems a sensible decision, and it's always easy to add stuff, never easy to remove it, but that's what prevents a tool from becoming a kitchen sink. Thanks!

Collapse
 
9comindia profile image
9comindia

I support this 100%.

Reason:

I tried Telegram groups recently to checkout the features; it's all very sophisticated, encrypted and all the individual chats can be erased for both the users without a trace; felt like a haven for dangerous people.

Telegram is on the rise for sure, but I don't want to provide such unsafe environment of private chats to people on my platform. Public discussions is the way forward for me.

We can replace the "connect" icon link with "Create post" link for mobile users.

Collapse
 
ben profile image
Ben Halpern

We can replace the "connect" icon link with "Create post" link for mobile users.

Yup!

Collapse
 
mastermindlegion profile image
MasterMindLegion

Will messages remain functional or they will be removed? Thanks.

Collapse
 
yshmarov profile image
Yaroslav Shmarov

You can stop the further development, but would it be possible to just leave it as a feature flag (without deleting the feature all-together)? It is a feature that is used in forks (at least mine)....?:)

Collapse
 
citizen428 profile image
Michael Kohl • Edited

It is currently feature flagged on main and not removed. The reason we opted for a removal is that there's quite a lot of technical debt in this area and if we bring back chat it will probably be in the context of the wider Forem ecosystem, not instance-specific.

That said: most of the Connect code is fairly independent so if you want to keep it around it should be possible even if a bit inconvenient.

Collapse
 
yshmarov profile image
Yaroslav Shmarov

Ok. Thanks a lot for the elaborate reply! :) 🔥

Thread Thread
 
citizen428 profile image
Michael Kohl

This is the Connect removal PR. You can use the information from here to see how to go about keeping it around in your branch.

Collapse
 
shaijut profile image
shaijut

@ben , Then how do we do private chats without this ?