Plots2: Where is the home base for chat? IRC, Gitter, Matrix, Slack, etc.?

Created on 7 Apr 2018  ยท  26Comments  ยท  Source: publiclab/plots2

UPDATE: Please edit this spreadsheet of requirements for a chat service for Public Lab: https://docs.google.com/spreadsheets/d/1V-L55OusMKgZNkbc_yarASQuWa9JoJzxkjqjCxfLOkw/edit?usp=sharing

Please describe the problem (or idea)

I have an expectation that the chat service for an open source project has a home base on a particular service such as freenode IRC or Gitter or whatever. Often the chat service is available via multiple providers and I'll join using whatever method provides the best user experience.

Starting at https://publiclab.org/chat I thought, "Ok #publiclab on OFTC IRC. Got it." I joined and was wondering if the channel was publicly logged (which I love). I couldn't tell from the topic but I noticed that Gitter (logged, which is great) was mentioned so I joined from there instead. (You should update the topic on OFTC and elsewhere to indicate that the channel is being logged.)

Now, when I say I joined via Gitter what I really mean is that I joined via the IRC gateway to Gitter via my IRC client, which is Weechat. Yes, I'm getting to my problem. My problem is that my user experience from this crazy setup of mine isn't so great. There's lots of noise from Matrix. I can't @mention people who are talking or see them in by list of users. Here's a screenshot:

screen shot 2018-04-06 at 7 23 19 pm

Primarily I'm left wondering what Public Lab considers the "home base" for the chat service? IRC, Gitter, Matrix, Slack, or something else?

(I didn't even realize that Slack was in the mix since it isn't mentioned at https://publiclab.org/chat but @ryzokuken mentioned it at https://gitter.im/publiclab/publiclab?at=5ac7fe9b5f188ccc153b4a6f .)

What happened just before the problem occurred? Or what problem could this idea solve?

The chat room woke up and people started talking, which is great. ๐Ÿ˜„

What did you expect to see that you didn't?

I expected https://publiclab.org/chat to indicate what the best user experience would be. I suppose that the embedded "basic chatroom" is the one that's recommended, perhaps. I didn't even try it because I know my way around IRC, Gitter, and Slack, but not Matrix.

Please show us where to look

https://publiclab.org/chat

What's your PublicLab.org username?

This can help us diagnose the issue:

I don't have a PublicLab.org username but I know I know @jywarren and @ebarry ๐Ÿ˜„

Browser, version, and operating system

Many bugs are related to these -- please help us track it down and reproduce what you're seeing!

I'm not using a browser. I'm using Weechat but I may be willing to switch to a different client.


Thank you!

Your help makes Public Lab better! We deeply appreciate your helping refine and improve this site.

To learn how to write really great issues, which increases the chances they'll be resolved, see:

https://publiclab.org/wiki/developers#Contributing+for+non-coders

Most helpful comment

  1. :heart: I feel that public logs (eg. minimal steps to viewing activity) are only part of the story, as ease of participation is also important.
  2. :mag: Gitter requires no new identity creation (external identity system via GitHub/Twitter).
  3. :bulb: We should add per-platform metrics for:

    • clicks/steps to view conversation

    • clicks/steps to participate in conversation

  4. :heart: I feel that "fragmentation" could also be more favourably termed "decentralization" or "polycentrism".
  5. :heart: I feel very fondly for how PL welcomes people very equally no matter which platforms they prefer.
  6. :heart: I feel that bridging chat tools is a big strength and opportunity.

All 26 comments

Talking in that sense, I'd say it's matrix. We had all these other chatrooms that we wanted to link together, and matrix made a lot of sense (especially with all these integrations).

Hopefully, we would have deprecated a few others, but students and new contributors join over Gitter all the time, Jeff and the others use Matrix (Riot), and IRC is embedded into the site (I use IRC too).

Thanks to all of this, we now have a strange mix of all these, which just works and everyone is afraid to touch this intricate web lest something would break.

If you had something in mind, I'd love to hear you out. We all want to solve this problem once and for all, but how much of a problem it exactly is might be debatable and because summer is right around the corner, we might be reluctant to make any change that could hinder a student's ability to contact us.

@ryzokuken thanks. I keep hearing about Matrix, especially from the @opensourcedesign folks, but I still haven't wrapped my head around it. I haven't created a Matrix account yet, for example. I just went to https://riot.im/app/#/room/#publiclab:matrix.org (I was happy to see that https://publiclab.org/chat links to it) and scrolled back to the same conversation to see how it looks. The user experience is way less noisy. By this I mean that the messages themselves are more visible. The information about which chat solution each person is using is de-emphasized (in light gray). Here's a screenshot:

screen shot 2018-04-07 at 8 45 32 am

I'll probably keep exploring other options because I prefer using chat clients rather than browsers for chat. If someone could please update https://publiclab.org/chat to explain how to connect via Slack, that would be nice.

I hope this feedback is useful. I think it's awesome that Public Lab is being so accommodating in terms of which chat solution to use but the user experience seems a bit strange. I like knowing how to @mention people, for example. I'll keep thinking about all this and will try to write it up properly.

Ok, I switched back to OFTC IRC via Weechat and I'm much happier. I can't see emojis but at least the messages don't contain all the noise (where people are connecting from) I was seeing when using the Gitter-to-IRC gateway. I also feel more confident that I know who is in the room (the nick list on the right), which makes me think I have a better chance of successfully @mentioning people. Here's a screenshot:

screen shot 2018-04-07 at 9 41 41 am

Maybe it would be helpful if I explain some of my thought process when it comes to joining chat rooms in a new community. Here are the questions I ask myself:

  • Does this community use chat?
  • What platform is the chat hosted on? Is it a commonly used platform such as freenode or Gitter or Slack where I already have an account? If not, will I need to create a one-off account because it's a less popular service or self-hosted?
  • Is the chat logged? For open source, I prefer logged chat rooms. (See Considering the Use of Walled Gardens for FLOSS Project Communication by @megansquire for a good read on this topic.) If so, where are the logs and is it clearly stated in the topic that the channel is being logged?

Once I have these questions answered, I'm usually ready to dive in and get to know the culture of the chat room.

Here are my suggestions for the Public Lab chat:

  • Clearly communicate it the topic of each platform that communication is being publicly logged and provide a URL to the logs.
  • Add Slack to the list of ways to connect.

Oh, by the way, I see that you're using @thelounge which is neat. I run an instance myself (well, it's actually Shout, its predecessor) at http://chat.dataverse.org and it's been quite effective in lowering the barrier to entry to participation. I feel like Public Lab has lowered the bar even more, providing so many options to connect. I hear what @ryzokuken is saying with "everyone is afraid to touch this intricate web lest something would break" and I've personally been reticent to muddy the waters with the chat service for Dataverse, which is old-school freenode IRC with a logging bot and the Shout instance I mentioned. The Public Lab chat model is interesting to me and worth studying. Good stuff.

Over at https://gitter.im/publiclab/publiclab?at=5ae47ccb1130fe3d36280518 @ryzokuken reiterated that right now Matrix is the home base for chat, but he seems to have mixed feelings about this, saying, " I propose switching to a better alternative."

We discussed further and created a spreadsheet with requirements for a chat service. (I'm so new to the Public Lab community that I haven't added any requirements myself yet.) Public comments are open and anyone who wants to help define the requirements or chat service options should absolutely request edit access: https://docs.google.com/spreadsheets/d/1V-L55OusMKgZNkbc_yarASQuWa9JoJzxkjqjCxfLOkw/edit?usp=sharing

Nice! Can you open up edit access to that spreadsheet so that unanticipated participants can contribute more freely? :)

EDIT: ie. Assume good faith until the trolls show up :)

Some :mag:facts, :heart:feelings, and :bulb:ideas related to this:

  1. :mag: Slack does not have public logs.
  2. :mag: Slackarchive.io is a service that offers channel-specific public logs.
  3. :mag: Slackarchive.io has been a closed-source business.
  4. :mag: Slackarchive.io has been down since late December 2017
  5. :mag: The developers have recently open-sourced it: https://github.com/dutchcoders/slackarchive
  6. :heart: I feel that it might be quite some time before an easily-usable hosted version of slackarchive.io comes to life.
  7. :bulb: We should make the distinction in the spreadsheet that it might be possible to have public Slack logs soon.
  8. I:heart: I feel a preference for bridge software that isn't tied to any one chat platform, but is standalone.
  9. :mag: Matrix's bridges are tied tightly to its software.
  10. :mag: Matterbridge is standalone bridge software between many platforms.
  11. :heart: I feel excited to use matterbridge, and help it be more exercised through wider usage, and become more user-friendly (maybe a pretty front-end to bridge lots of chat communities someday?)
  1. :heart: I feel that public logs (eg. minimal steps to viewing activity) are only part of the story, as ease of participation is also important.
  2. :mag: Gitter requires no new identity creation (external identity system via GitHub/Twitter).
  3. :bulb: We should add per-platform metrics for:

    • clicks/steps to view conversation

    • clicks/steps to participate in conversation

  4. :heart: I feel that "fragmentation" could also be more favourably termed "decentralization" or "polycentrism".
  5. :heart: I feel very fondly for how PL welcomes people very equally no matter which platforms they prefer.
  6. :heart: I feel that bridging chat tools is a big strength and opportunity.

@patcon thanks for all the extremely interesting links you've shared today. I like your style and I learned some ๐Ÿ” facts:

  1. ๐Ÿ” SlackArchive is now open source. โค๏ธ
  2. ๐Ÿ” Matrix is about to become a bigger deal in France. Neat!

As for the spreadsheet, you said...

Nice! Can you open up edit access to that spreadsheet so that unanticipated participants can contribute more freely? :)

EDIT: ie. Assume good faith until the trolls show up :)

... but I think allowing anonymous comments is enough for people to contribute. (I do fear trolls.) If people want to edit, they can click "Comment Only" and then "Request Access". That's what I did since I'm not the "owner" of the spreadsheet. Here's a screenshot:

screen shot 2018-04-29 at 4 46 08 pm

Please keep the ๐Ÿ” facts, ๐Ÿ’ก ideas, and โค๏ธ feelings coming! ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘

haha gotcha. And sincere thanks for the kind words!

To your point: I didn't wish to comment though -- I hoped to add columns and rows, and I was dis-empowered from doing so, on account of the very rare chance that a troll might show up <3

  1. :mag: GSheets has full version history
  2. :mag: Deleting a doc sends it to the doc owner's trash can (yours :slightly_smiling_face: )
  3. :mag: I've worked with upwards of 50 open projects as an event organizer in my local community over the past 3 years.
  4. :mag: We encourage projects to leave most docs open.
  5. :mag: I have never seen a troll affect any work we do.
  6. :heart: I feel that nothing can be lost even if a troll does show up.
  7. :mag: Threat model analysis involves asking:

    • What am I protecting? :heart: Google Drive doc.

    • Who am I protecting it from? :heart: Trolls.

    • How likely is it to need protection? :heart: Very small chance.

    • How bad are consequences if I fail? :heart: Slight inconvenience.

  8. :heart: I feel that a quick analysis would suggest we could safely leave all documents like this open.
  9. :bulb: Let's default all non-critical docs to open write access as a rule-of-thumb in all future conversations :)

Bridges

  1. :mag: Matterbridge chat bridge is open source.
  2. :mag: Matterbridge can be hosted on Heroku via this setup.
  3. :mag: I've created a simple config viewer for making the matterbridge config more legible.

Just chiming in @icarito's note from this thread:

Chat is currently fragmented across the ecosystem - until this is better standardized we should avoid to insist people change what they use, imho.

I tend to agree. Catching up here too:

update the topic on OFTC and elsewhere to indicate that the channel is being logged

love this, and for all platforms. Can we make a checklist? I actually don't know how to do it for OFTC but am happy to assist.

update regarding Slack connection

I think we've had trouble with Slack previously bc there was no invite-less way to do this, but if there is, we're happy to add it to the list. What's the workflow for joining (that we could add to http://publiclab.org/chat?

solve this problem once and for all

Sounds like folks generally agree about this, but just to chime in, we did this giant bridging project because we found people were too opinionated to rally around a single platform, and we threw up our hands and said Ok! Let's just do everything! ๐Ÿ˜† -- but THANK YOU for highlighting ways we can make the bridge a "smoother ride" ๐ŸŽ  ๐ŸŒ‰

  • simple: what's the best user experience?

I like this. I think @ryzokuken is right that because it's the nexus of the bridges (insert RISK boardgame ref here) it has the best experience for many folks right now. But again, we're on thin ice because peoples' preferences and priorities vary.

So I'd say maybe Matrix for many people and the Lounge for the simplest, lowest barriers. If folks agree with this, add ๐Ÿ‘ and we can add that to http://publiclab.org/chat

Oh, and we'd looked at Matterbridge when we set up the bridges-frankenstein originally, and we are interested -- it just seemed a little more fragile at the time (and did require hosting, which Matrix does not). Is it possible to set up a test version so we can try out how smooth the integrations are and compare to Matrix? Then we'd have more confidence in planning a potential switch. Thanks!!! ๐Ÿ‘ ๐ŸŽ‰

On 30/04/18 11:48, Jeffrey Warren wrote:
>

update the topic on OFTC and elsewhere to indicate that the
channel is being logged

love this, and for all platforms. Can we make a checklist? I actually
don't know how to do it for OFTC but am happy to assist.

I just added a note about this to the IRC channel Topic.

We might consider trimming it down a bit while we are it:
/
//Welcome to the http://publiclab.org chatroom! This channel is LOGGED.
Please help one another out with any questions, sign up at
http://publiclab.org/signup, and join discussions at
http://publiclab.org/lists. Code of Conduct at
http://publiclab.org/conduct./

it has the best experience for many folks right now

@jywarren thanks for your attention on this issue. Somehow I'm confused about what "it" is above. Also, can you and others please edit the list of requirements that @ryzokuken and I created in a spreadsheet at https://docs.google.com/spreadsheets/d/1V-L55OusMKgZNkbc_yarASQuWa9JoJzxkjqjCxfLOkw/edit?usp=sharing ? I haven't actually added any requirements myself because I'm so new to the Public Lab community that I don't want dictate anything. @patcon added a couple as well. To highlight this spreadsheet I just updated the description of this issue to include a link at the very top.

@icarito thanks for updating the IRC topic to mention the logging. I think this is super important.

... is right that because it's the nexus of the bridges (insert RISK boardgame ref here) it has the best experience for many folks right now.

Oops, scattered! Forgot a subject in that sentence -- "it" is Matrix, as the "nexus" of all the channels.

I am probably the most agnostic about chat -- i use Matrix because it's at the center of our little web of chats and so has the fewest platform translation/integration hiccups. I'll add a few goals if I can think of any!

Thanks! Re: LOGGED -- maybe we should link to publiclab.org/chat and can then explain why logging is important (and not creepy, say) -- that'd be a great addition to that page if someone wants to write up a sentence or two.

We could shorten by leaving out /lists since we're starting to move away from those, and they're referenced from /signup and other pages.

Thanks, all!

@jywarren

we've had trouble with Slack previously

Have we tried https://github.com/rauchg/slackin yet?

Thanks! Re: LOGGED -- maybe we should link to publiclab.org/chat and can then explain why logging is important (and not creepy, say) -- that'd be a great addition to that page if someone wants to write up a sentence or two.

"Considering the Use of Walled Gardens for FLOSS Project Communication" by @megansquire is a good read you might want to reference if you agree with her argument.

@pdurbin asked that I post this diagram which i'm quite proud of (on it's merits as ascii-art, not as a chat solution, lol):

                   /
                  /
IRC--------Riot/Matrix
                   \
                    \
                    Gitter

Just a note on Slack, we haven't posted instructions because Slack lacks a public signin system which some folks have created hacks around but we've never had a moment to set them up. If someone wants to propose a good Slack-hack that issues invitations, i'll approve it!

And just a nice note on the terrible abuse we've seen from IRC spambots recently - additions to plotsbot have (so far) successfully blocked them as of this past week: https://github.com/publiclab/plotsbot/

The new quiet and approve behaviors have made retaining an IRC bridge (and presence) tenable.

One issue we had identified with this network of chat platforms has been that moderation (and specifically scrubbing the logs) on all platforms is a lot of work. I'm still pretty satisfied at our solution to "what is the RIGHT chat system" -- (answer: publiclab.org/chat but if you're unhappy you get to choose), and I'm glad that we've been able to mitigate the terrible spambot issues and keep this system useful without giving up on IRC or any other channel. Again, so far. Thanks, all!

@jywarren http://rauchg.com/slackin works really well.

@patcon:

๐Ÿ” your emoji based argumentation method is awesome!!
๐Ÿ’ก It's like the emoji based non-violent communication technique
โค๏ธ it's great because tone is so hard to capture these days.

I was asked by @pdurbin if I had thoughts on the matter and essentially @patcon's second comment captures them. In particular the ease of participation issue, one aspect of which is asking people to adopt yet another communication platform.

My work circles use Slack. I'm probably in the intermediate technical knowledge range and (for reasons I'll not get into) it took me a long time to figure out Riot/Matrix and the Slack bridge doesn't work with my private channels unless I'm the admin (or the admin gives you permission).

For this reason, I think it is worth re-investigating the Slack auto-invite if that's something people are still interested in. Truth is, Slack is very popular. Since the last post on this thread, a number of auto-invite apps for slack seem to have popped up (happy to re-google if people are interested, not sure the status of the Slack channel).

The logging issue is not something I place a high priority on. Values are important but at a certain point they have to be weighed against other values. After a while, you'll collect enough logs that I'm not sure what the value would be in knowing what happened a year ago save an investigation into some sort of ponzi scheme Public Lab became involved in. I guess if I'm at the top of the scheme I have even less incentive. ; )

I think that it's probably not enough to just put the fact that things are being logged on the pl/chat page. A note that it's being done, and a link to why, should be anywhere there is a link to participate in the chat. It's really the norm. It wasn't something I had even thought about.

I'd LOVE help trying to solve the Slack auto-invite thing! I've failed like
three times :-(

On Thu, May 16, 2019 at 4:27 PM skilfullycurled notifications@github.com
wrote:

@patcon https://github.com/patcon:

๐Ÿ” your emoji based argumentation method is awesome!!
๐Ÿ’ก It's like the emoji based non-violent communication technique
โค๏ธ it's great because tone is so hard to capture these days.

I was asked by @pdurbin https://github.com/pdurbin if I had thoughts on
the matter and essentially @patcon https://github.com/patcon's second
comment
https://github.com/publiclab/plots2/issues/2590#issuecomment-385269885
captures them. In particular the ease of participation issue, one aspect of
which is asking people to adopt yet another communication platform.

My work circles use Slack. I'm probably in the intermediate technical
knowledge range and (for reasons I'll not get into) it took me a long time
to figure out Riot/Matrix and the Slack bridge doesn't work unless you are
the admin (or the admin gives you permission).

For this reason, I think it is worth re-investigating the Slack
auto-invite if that's something people are still interested in. Truth is,
Slack is very popular. Since the last post on this thread, a number of
auto-invite apps for slack seem to have popped up (happy to re-google if
people are interested, not sure the status of the Slack channel).

The logging issue is not something I place a high priority on. Values are
important but at a certain point they have to be weighed against other
values. After a while, you'll collect enough logs that I'm not sure what
the value would be in knowing what happened a year ago save an
investigation into some sort of ponzi scheme Public Lab became involved in.
I guess if I'm at the top of the scheme I have even less incentive. ; )

I think that it's probably not enough to just put the fact that things are
being logged on the pl/chat page. A note that it's being done, and a link
to why, should be anywhere there is a link to participate in the chat. It's
really the norm. It wasn't something I had even thought about.

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/publiclab/plots2/issues/2590?email_source=notifications&email_token=AAAF6JY6ULUR5C7IUWREVCTPVW7ULA5CNFSM4EZLK72KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS7AII#issuecomment-493219873,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAF6J4A4ETH2KWIRVWYS6LPVW7ULANCNFSM4EZLK72A
.

Okay, I'll re-look into it.

Okay! So indeed, there have been a number of updates to this problem since we last looked into it.

Here are some options which I'm listing in the order of effort it would take for us to implement. As you might imagine, less effort equals less control over process and data. Apps/Bots require permission to a lot of the data in the channel. I have excluded any options which do not explicitly state that they are not collecting this data.

PRE-MADE

_Anytime you see "test", you can use that link to invite yourself to a workspace I made for a new non-profit I just launched called the Public Laboratory for Open Invitations and Slackary (PLOIS)._

1) Public Slack, (free, privacy policy, test): This was very easy to set up. Doesn't require authorization from the workspace so doesn't have access to that data.

2) Slack Invite Automation, (free and paid versions, privacy policy, test):

 _Paid Version:_ I'm on a two-week free trial so test it out now!  This is a bot which they host for $9.99/yr.  While it does require authorization, I think the privacy policy reflects that if they could they wouldn't but it's required to install a bot and in general they are not interested in the data.  

 _Self-hosted_: See [slack-invite](https://github.com/vestris/slack-invite) under "libraries" section.

LIBRARIES

  1. slack-invite, (self-hosted or $9.99/yr, privacy policy, test): This is the open source repository of Slack Invite Automation above. It's developed in Ruby, and as far as I can tell, you simply run it as an app on your server. Here's a video which explains the process (just watch 0:00 - 1:36 and 8:45 - end).

4) slack-invite-automation, opensource, none): It's an installable node.js web application which runs on your server. Good directions on how to set it up. Directions might be applicable to slack-invite as well. Note: _Even though this has the same name as the item #2, it is a different application. The open source version of #2 is #3._

5) Slackin, (open source, none): Not developed in a very long time. Last commit, 8 months ago.

PROGRAMMING

Here are some web sites which detail how to use javascript in your own page. The first two use google forms and spreadsheets. Because google spreadsheets has the ability to run a script when an action takes place, this is a nice thing for people who can't use a library. However, since we have the know-how to execute our own scripts, I think the takeaway from those methods is simply the javascript we can use.

6) How to Make a Public Slack Community

7) How to Enable Slack Auto-Signup with Google Forms/Sheets

8) Programmatic Slack invite in JavaScript and React

Was this page helpful?
0 / 5 - 0 ratings

Related issues

divyabaid16 picture divyabaid16  ยท  3Comments

noi5e picture noi5e  ยท  3Comments

milaaraujo picture milaaraujo  ยท  3Comments

milaaraujo picture milaaraujo  ยท  3Comments

jywarren picture jywarren  ยท  3Comments