Matrix Big Issues

A year ago I wrote up some thoughts on Matrix Big Issues. Here is another take on the medium-to-big issues that I think are important and interesting.

(My personal view as someone who runs my own homeserver and is getting involved with Matrix development.)

Matrix needs…

  • Support in popular address books [EXTERNAL-ENGAGEMENT]
    • VCARD/CARDDAV, microformats2
    • Thunderbird-CARDBOOK, Evolution, Gnome, KDE, Ubuntu-accounts,
  • Mobile: 1st class integration [MOBILE-UX]
    • Contacts: call/text directly from Contacts, save to Contacts
    • Contacts: get Mx support into popular Contacts apps [EXTERNAL-ENGAGEMENT]
    • Calls: make/receive just like phone calls (dedicated buttons, mute media, etc.)
    • SMS bridge: smsmatrix needs work
    • telephony bridge: should be a separate component, serving multiple Mx apps
  • Mark-up system (for IM class)
    • A base mark-up system with subclassing, to bridge systems that have their own mark-up sets.
    • Seek common denominators plus extensions.
    • NOT like https://github.com/tulir/matrix-doc/blob/formatting-entities/proposals/2427-json-based-message-formatting.md
    • Find that composable/pluggable news media markup system I read about a few years ago
  • The Public Switched Social Network (PSSN) [EXTERNAL-ENGAGEMENT]
    • Industry Co-ordination
    • see John Ryan’s presentation in: https://blog.archive.org/2020/01/30/our-social-media-is-broken-is-decentralization-the-fix/ from which (PSTN -> PSSN):
      1. Alternative operators -> alternative media operators
      2. Interconnect technology -> server-server / backend data exchanges
      3. Interconnect business agreements
      4. Data / records
      5. User equipment / experience -> new user apps / APIs
      6. Regulatory framework (and transparent ethics)
  • Single Sign-On (SSO) [ONBOARDING, SERVER]
    • Why? Users hate multiple logins. Self-sovereign services must flock together.
    • Especially target easy setup for private and small group installations. (Enterprises can plug in to their existing SSO.)
    • Poor state of SSO in FOSS.
    • Work with other FOSS; decouple the id provider functionality.
    • see: keycloak.org, pomerium.io, portier.github.io
    • see: self-host systems that offer SSO provider: Nextcloud? Mattermost? UBOS?
  • Scripting, auto-responder, filtering, web-hooks [CORE-APPS]
    • What? Allow user to program functions in their user account.
    • Why? User of a digital comms system should be empowered to control their own automation, in case they don’t want GAFAM doing it for them.
    • Why? Enterprises benefit from automation of email, SMS, webhooks, etc.; private/small groups should be able to benefit as well.
    • first class core + user plug-ins
    • Simple config; like old home computers booted up to BASIC; e.g. manual config through a bot room, scripted config by file uploads.
    • eg: look at GAFAM: respond to calendar invitations, maps
    • eg: look at enterprise customer comms: SMS to query & top-up accounts, book a ticket
  • Default Widgets/Integrations/Bots should include FOSS [FOSS-ALIGNMENT]
    • I’m looking at the default integrations (Modular.im)
    • especially provide FOSS alternative to each proprietary one
    • standard calendar (vs. Google)
    • peertube (vs. Youtube)
    • GitLab bot (vs. GitHub)
  • In decentralizing ids: option for forwarding one’s own DNS domain to a multi-tenant server [DIDS]
    • DNS is one method for addressing/routing to my id
  • Riot: Simple UI mode [ONBOARDING]
    • (see “Idiot mode”, https://github.com/vector-im/riot-web/issues/8952 )
    • Why? New user: Child/Parent.
    • Why? New user: friend migrating from WhatsApp.
    • Why? Power user (myself) wants minimal clutter in most cases.
    • in group rooms: show minimal metadata (typing notifications, read markers, etc.)
    • in 1:1 rooms: show little metadata
    • vastly simplify Settings (not just remove; organize with modes & search)
  • Sign-up [SERVER, ONBOARDING, EXTERNAL-ENGAGEMENT]
    • “install on my existing server” (NextCloud, UBOS, Sandstorm, etc.)
    • link/guide to purchasing a domain name?
  • A reference system definition for server [DEV-META]
    • for each major use case (private, group, public)

And some smaller but still important and interesting issues:

  • a “Why Should I?” page [ONBOARDING]
    • Why? Because I want to persuade family & friends but I’m not good at persuasion.
    • one specifically addressed to a WhatsApp user with no tech skill
    • one specifically addressed to a FOSS project/group (e.g. Apache Subversion)
    • to quote, link, copy, share
  • Responding to a blog that was linked [DEMO-APPS]
    • using activity pub etc.
  • Log monitoring: Synapse reporting Synapse logs to a room [DEV-META, DEMO-APPS]
    • Suggested ~2020-01-24 by someone on #matrix-docker-ansible-deploy; I commented.