[Standards] [STANDARDS] XEP-0394: too weak to replace XEP-0071

Tedd Sterr teddsterr at outlook.com
Sat Mar 17 20:33:54 UTC 2018

I didn't expect this to turn into a drawn-out argument; I merely suggested a simple solution to something that could otherwise be seen as a problem. Nor am I continuing it for my own amusement, but I genuinely don't understand why it's such a contentious issue for some.

So far the main argument against including text colouring seems to be "because I don't want it, so nobody else should have it either" which is really quite ridiculous, especially when there are genuine arguments that could be made.
In search of clarity, here are all of the reasons against that I can think of, and replies to those. Please correct me if I've misunderstood anything; and additional sensible reasons are also welcome.

(TL;DR: If you don't want to support text colouring, you don't have to, but that is not a reason to stop others from supporting it - skipping unsupported spans is necessary to support 0394 properly anyway. If you do support text colouring, allow users to disable it.)

1. "I don't want to use text colouring, nor do I want to receive it."
That is a valid viewpoint, and your eyes should not be forced to endure anything but the highest quality of monochrome text displays. If your client supports text colouring, then it should necessarily provide an option to disable it and thus your eyes will be saved; if your client doesn't support it, then all text colouring will be safely ignored, you will be treated to nothing but the finest default text colour and thus your eyes will be saved.

2. "People could send crazy multi-coloured messages and the ugliness of it all would irritate me."
They could, but as long you're not the one receiving them it shouldn't be a problem for you. If you are the one receiving them, then much as above, your client should allow you to disable it or simply won't display it in the first place - either way, you're saved from irritation.

3. "If my client has a black/white/pink/green background and somebody sends me text of the same colour, I won't be able to read it."
This could very easily be handled automatically by the receiving client (as I have previously suggested.) But as has been pointed out, neither email, nor web browsers have made any attempts to do so; which really only demonstrates how much of a non-issue it is in practice. Again, clients that support text colouring should allow users to disable it, and it makes no difference for clients that ignore it.

4. "It's bad for accessibility."
Absolutely! And for this reason alone, clients should allow users to disable text colouring. But there is far more to providing good support for accessibility than simply not displaying multi-coloured text; if your client does have serious a11y support, then providing a high-contrast view and not displaying multiple colours are just some of the many options you're already providing.

5. "Optional features are bad for compatibility."
XMPP is based around the flexibility of features being optional, and that works successfully because we have a mechanism for determining which features another entity supports and which they don't. The problem with things being optional stems from not knowing - if you expect something to be there but it isn't, that is a problem.
However, text formatting is very much a cosmetic feature, so the worst that can happen is your text isn't displayed 100% as intended; if the client handles things sensibly, this will be entirely transparent to the receiver of the text. In the specific case of text colouring, this simply means the text will take the default colour, which is a terrible shame, but far from being a catastrophe.

XEP-0394 specifically suggests this kind of opt-in functionality -- "Entities SHOULD be able to cherry-pick a subset of the markup which is suitable for their presentation (for example, a terminal-based client may support inline emphasis and strike through, but no block-level markup)."

6. "I shouldn't have to code special cases to ignore markup so you can include features that I have no interest in supporting."

Quite right - this is an argument I could actually agree with, except it's not necessary.
XEP-0394 is intended to be extensible, with potential future features to extend the base set -- "The markup specification MUST be extensible in order to support more complex use-cases in the futurue.[sic]"

The sensible way to do that is for recipients of 0394 formatted messages to simply skip over spans or blocks they don't understand or support; this means any future additions will not cause problems for recipients that don't understand them, without the need for namespace bumps or numerous capability identifiers.

So, irrespective of text colouring, you will be required to skip over spans or blocks that you don't support; you won't need additional special casing to ignore text colouring, it will be one of many potential spans that you don't support.

7. "If we include this feature, then somebody else wants another feature, and someone else another... where does the madness end?!"

Reductio ad absurdum. We could apply the same reasoning against the inclusion of enumerations, itemized lists, headings, paragraphs, and code blocks - all features Jonas suggested he aims to include, in addition to "XEP-0392-based colors" - but we won't do that because it would be silly.

It is a useful feature, and one that is desired by some. It's not some absurd feature that nobody wants - text colouring is already supported by a number of clients (using XEP-0071.)
If XEP-0394 is intended to be an adequate replacement for XEP-0071, and 0071 supports text colouring, then 0394 should at least attempt to also support text colouring - as long as doing so does not introduce security issues or otherwise cause problems for users.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/standards/attachments/20180317/6621293b/attachment.html>

More information about the Standards mailing list