| > Matrix has a billion different standards There is one specification, available on the official site. It isn't, and never will be, required to implement all of it. > a complex message format It is a very simple format. Here's an example message (as sent by a client; additional fields are added by the server, such as server-side timestamp): {
"content": {
"body": "Hello, world.",
"msgtype": "m.text"
},
"type": "m.room.message",
}
> and encryption to deal withThis is also optional. If you want to talk in unencrypted public rooms, for example, you needn't bother with it. The spec is so simple that you can send a Matrix message from a shell with curl. It's just JSON over HTTP. |
> This is also optional.
If you are making a client for anyone besides yourself at some point people will expect to be able to use one of the many "optional" features. At that point it doesn't matter if you technically don't need to support it as users will then simply see it as a shortcoming of your client.
So if we are talking about anything more than a MVP client these optional specs should be included in the argument as only being optional in theory.