Matrix chat Summary, April 6, 2023

@akirk led the chat #meta channel of the Make WordPress Slack.

We didn’t have a set agenda this time, so we followed up on some discussion points of the last chat. Below I am mostly quoting myself from the chat. No further questions were asked.

MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of Messages from SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. to Matrix

A big part of the last discussion was around message migration and how to deal with public and private messages. We’ve done some more research on migrating public messages and are currently evaluating whether the Slack Matrix migration tool could work for us. It operates on Slack export files and requires a fresh Synapse server.

We haven’t yet been able to confirm whether it actually can import the messages and hope to be able to share more on the next meeting.

For migrating private messages in DMs or private groups we’ve concluded that we won’t want to attempt their migration but will look into providing tools for achieving that.

Here we’ve found that browser extensions exist which allow you to download your own Slack direct messages inside your browser as a text file. Possibly it’ll be our recommendation to use those tools to export the messages for yourself.

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Another topic that was mentioned was around accessibility concerns of Matrix clients. Regarding this I would like to share this article by Marco Zehe who is an accessibility engineer and evangelist at Mozilla who have switched to Matrix in 2020

How to use Element and Matrix with a screen reader

@psrpinto remarked on this:

In the post they mention a matrix room dedicated to accessibility on Element: #element-accessibility:matrix.org.

I also find this quote encouraging:

Big thanks also go out to the members of the Matrix and Element teams who were super responsive to accessibility concerns

Next Meeting

The next meeting will be on Thursday, April 20, 2023 at 10:00 AM UTC.

#matrix

Agenda: Biweekly Matrix Chat – Thu, April 6, 2023 (10AM UTC)

This meeting will be held at Thursday, April 6, 2023 10AM UTC in the #meta slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel in the Making WordPress Slack.

This would be our fourth community meeting and we don’t have a specific agenda item this time and are thus planning to have an open floor for discussions.

If you have any additions to the agenda, please share them in the comments.

Next meeting will be on Thursday, April 20, 2023 10AM UTC

#matrix

Matrix chat Summary, March 23 2023

Welcome

@psrpinto led the chat on #meta channel of the Make WordPress Slack.

The agenda — thanks to @ashfame, was mostly about Preserving SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. message history in the eventuality of a migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of the Make WordPress Slack workspace to Matrix:

  • What needs to be preserved / remain accessible?
  • In what way could you see accessing that?
  • How should we deal with private information?

For context on the topics discussed here, please see A Meta subproject for evaluating Matrix, where the project was announced.

Strategies for preserving Slack history

@psrpinto mentioned that there could be different strategies according to the type of channel (public, private, DM – since public and private information probably needs to be handled in different ways), and that we need to evaluate what format this message history would be kept in. There could be two options:

  1. Fully integrated into Matrix, with correct senders, timestamps, etc. It should be noted that it might not be possible
  2. A standalone export that would not be related to matrix in any way.

@javiercasares commented that private conversations should not be included in this archive, but we would instead notify users so they can perform the archival of their own private conversations. @javiercasares would prefer option 1. above, where the history of public conversations gets imported into the equivalent Matrix rooms.

@ashfame confirmed that we do not have access to users’ private conversations so users must export their own private conversations, and that migrating public channels is feasible, though somewhat complicated. Migrating private conversations however is more difficult, because of two reasons:

  1. Even if the user supplies the data they exported themselves, we can’t simply import it, as data would have to be encrypted and those messages need to come from sender’s or author’s session. It can’t just be attributed to them.
  2. The actual export itself requires granting access to an OAuth app, which theoretically means the app/code has access to the conversations. Would open-sourcing the code for that be enough?

Slack export

@akirk mentions an existing tool for archiving Slack data: https://github.com/felixrieseberg/slack-archive, which allows a user to export their own data, but they would need to run npx / node locally which is quite a high requirement.

@ashfame mentions that this tool requires granting access to an OAuth app to generate a token, personal tokens won’t work. This means the code running has theoretical access to sensitive data, so this tool might not be an option.

@akirk suggested that we look into exporting the public Slack data into a database and we can later investigate if we can re-insert it into Matrix. and for private data we try to figure out if people can run it locally on their machines and we’d strive to provide a guide for doing so.

@dd32 mentioned the following:

FWIW We’ve had several attempts at making a public slack log on W.org, but each time someone has looked into doing it, there’s been limitations in the Slack APIs around making it an “exact copy” of the data.

For example, reactions to messages are easy to get retroactively, but syncing them as they happen is difficult. Slack attachments are also heavily used by notifications, and would’ve needed rebuilding into a non-slack UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing..

It might be nice to integrate that with Matrix early on, as in, make sure we have a public Matrix chat log for referencing on make sites / etc. The slack data could then be added to the history of that public log, negating the need to migrate it over to Matrix.

Public slack data is exportable with Slack archive tools though by slack admins, but we do NOT have the private-conversations flag enabled (and won’t be enabling it) so Slack admins and APIs don’t have access to private conversations.

DMs are heavily used on this slack instance, to the level that I believe it accounts for between 50-80% of messages sent depending on the day. Private channels account for 1-2% as we don’t actually have many of them.
I believe the DMs however are likely bot-messages, because it’s flipped for those reading messages, ~20% of messages are read in DMs, and 75%+ are read in public channels..… The more I say this, I kind of want to find out why so many DMs are sent but not read…

Search UXUX UX is an acronym for User Experience - the way the user uses the UI. Think ‘what they are doing’ and less about how they do it.

@akirk enquired about how good the search capabilities on Matrix are today, and whether an external export would provide better searchability.

@psrpinto mentioned that in their experience the search on Matrix is appropriate, though not as good as Slack’s, and that it’s fair to assume it will continue to get better with time. They also mentioned there are some limitations when searching encrypted rooms, for example, searching encrypted rooms in Element only works in the Desktop App, not in the browser.

Open floor

@alexstine raised concerns about AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) on Matrix:

Slack is well supported and accessible to a very wide audience. Something that is not up for argument, a lot of these open-source/decentralized concepts are not accessible to all or most.

The decentralized media world walks a fine line between a great thing and a lot of hypocrisy. On one hand, claiming to give users a voice, on the other hand, knowingly excluding users of assistive tech.

Years of GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues do not lie. Matrix has not been around all that long but there are plenty of other examples that have been around long enough…The Slack accessibility team is best in its class. They are constantly responsive and very engaged with users.

@otto raised concerns about the quality of Matrix clients:

Matrix looks like IRC, for me, so far. I am unimpressed with it. It seems like it will need a lot of interface work to make it usable.

Next meeting

The next meeting will be held on #meta channel of the Make WordPress Slack on Thursday April 6th at 9am UTC.

#matrix

Agenda: Biweekly Matrix Chat – Thu, March 23, 2023 (10AM UTC)

This meeting will be held at Thursday, March 23, 2023 10AM UTC in the #meta slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel in the Making WordPress Slack.

This would be our third community meeting, and our agenda for our chat is as follows:

  • Welcome
  • Preserving Slack message history if we migrated:
    • What needs to be preserved / remain accessible?
    • In what could you see accessing that?
    • How should we deal with private information?
  • Open floor
  • Next meeting will be on Thursday, April 6, 2023 10AM UTC

If you have any additions to the agenda, please share them in the comments.

#matrix

Agenda: Biweekly Matrix Chat – Thu, March 9, 2023 (10AM UTC)

This meeting will be held at Thursday, March 9, 2023 10AM UTC in the #meta slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel in the Making WordPress Slack.

This would be our second community meeting, and our agenda for our chat is as follows:

  • Welcome
  • Showcasing Matrix client embedded on a page. Update You can try this at https://make.wordpress.org/meta/chat/
  • Help onboard community members live
  • Open floor
  • Next meeting will be on Thursday, March 23, 2023 10AM UTC

If you have any additions to the agenda, please share them in the comments.

#matrix

A Meta subproject for evaluating Matrix

We are a small team of contributors to the WordPress and Matrix projects who would like to propose to form a community project to explore bringing the Matrix open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. federated chat system to the WordPress community as a possible replacement to SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. (for Making WordPress).

What is Matrix? According to Matrix themselves, “it is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-licensed reference implementations. Maintained by the non-profit Matrix.org Foundation, we aim to create an open platform which is as independent, vibrant and evolving as the Web itself… but for communication.”

At WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Europe 2022 in Porto, we talked to a lot of community members, asking them about how they liked Slack and what they’d think about using Matrix as an open source alternative to Slack.

While we heard from a lot of people that they liked Slack, a number of items were mentioned that made us think Matrix could be a great fit for the WordPress community:

1. The Slack onboarding experience is hard

A significant amount of time at WordCamp contributor days is spent on helping people getting onboarded to Slack. You need to receive an invitation e-mail to a special, personal e-mail address and then select the correct Slack workspace to join, following these lengthy instructions.

We’ve explored the possibilities for creating a seamless login experience for Matrix, and we’ve already successfully implemented a Single-Sign On flow where OpenID Connect is used with WordPress as an authentication provider. Thus, to start chatting, you’d only need to authorize WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ to pass your username on to the Matrix server by the click of a button, and you’re in.

Joining the Making WordPress Polyglots room could look like this

2. The Slack Client isn’t well suited for some Local Communities

We’ve heard that some local communities prefer to communicate via instant messaging such as WhatsApp or Telegram over using Slack. While this might overlap with the previous item, where getting added to a Telegram group is much easier than signing up for the WordPress Slack workspace, we’ve also heard how this form of messaging and its integration with their mobile phone is preferred.

One of the benefits of Matrix is it supports free choice of clients, one of them being a client that is very similar to Telegram, called FluffyChat. There are also particularly lightweight clients (called Hydrogen), a full featured client called Element (previously known as Riot), a client that is more like Discord called Cinny, CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. clients, and many more.

Additionally, we’ve done some work to make it possible to integrate a Matrix chat into a Gutenberg block. This means that you can use any WordPress post or page to start chatting when it has that blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. embedded. This could even be set to a particular room, so that users can be asked to join a specific room or Make team by giving them a link to a particular WordPress(.org) page. This could make taking part in Make WordPress teams much easier and possibly encourage more contributions. 

3. An Open Source Project should use an Open Source Chat System?

Many people were excited about the Matrix project and how it being open source seemed like a much better fit for the WordPress open source project. It was mentioned to us that an open source product might have a tougher onboarding experience, so we were happy to see how our research of using SSO and a Matrix client inside a GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ block encouraged us to think that it actually might be more accessible.

Would Matrix be a good fit for Making WordPress?

Since our efforts so far have been sponsored by Automattic and didn’t revolve around a particular community, we’d like to start a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. sub-team that would hold bi-weekly chats and figure out a plan how we could assess whether Matrix would be a viable option for the community.

In particular, we’d like to contribute our projects Chatrix and OpenID Connect Server to the WordPress project. Additionally, work with people of the community interested in Matrix to see which Slack integrations would need to be ported and how that could be done. As well as understand through testing with other WordPress teams how good or bad the experience is, either on its own, or comparing it to Slack.

Thus we’d like to invite everyone who would like to take part in this to speak up in the comments so that we can find a day and time in the week where we could hold our meetings to get this started.

Looking forward to hearing from you!

@ashfame, @psrpinto and @akirk

#matrix