@psrpinto led the chat on #meta channel of the Make WordPress Slack.
The agenda — thanks to @ashfame, was mostly about Preserving Slack 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 migration 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:
- Fully integrated into Matrix, with correct senders, timestamps, etc. It should be noted that it might not be possible
- 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:
- 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.
- 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?
@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
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 UI 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 UX 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.
@alexstine raised concerns about Accessibility 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 GitHub 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.
The next meeting will be held on #meta channel of the Make WordPress Slack on Thursday April 6th at 9am UTC.