Hi,

With this XEP approaching its way to draft status, I gave it a full
review. All in all it was quite readable and from a protocol/logic
point of view it doesn't look that hard to implement.

First off some editorial points:
* It'd be nice if the glossary used definition lists (<dl/>). This
would improved rendering in XHTML and PDF and would make it consistent
with other XEPs.
* The introductory sentence of section 5 is missing an ending period.

Next my remaining points:
* The last point of section 4.6.2 (
http://xmpp.org/extensions/xep-0301.html#attribute_values ) mentions
behavior in case a client receives forbidden values for attributes.
Why not just ignore the RTT message, if it violates the standard?
Would be easier to describe and to implement I think. If the other
side send illegal values there, clipping them to 0 there would hardly
make it interoperate as expected, or would it?
* Regarding section 6.1, Activating RTT: While I'm okay for only
*RECOMMENDING* (not REQUIRING) explicit discovery via disco/caps for
1-to-1 chats, I'm not at all when it comes to RTT within MUCs. Matt
pointed me to XEP-0045, section 17.1.1 (
​http://xmpp.org/extensions/xep-0045.html#impl-service-traffic ),
which describes a way to discover what extended namespaces are allowed
within a room. I think the XEP should REQUIRE discovering the
supported extended namespaces and if RTT is among them, before RTT is
send to a room. What an RTT client is allowed to do if the MUC
component doesn't support discovery of allowed extended namespaces
(i.e. returning ​<feature-not-implemented/>) is up for debate.
In addition, if sending RTT without explicit discovery is allowed, the
protocol should provide a way to signal the sender of these RTT
messages to refrain from further sending RTT messages to the other
side. I can imagine in some scenarios, i.e. really low bandwidth or
high latency scenarios, you simply don't want this excessive traffic.

To sum up, it's a nicely written XEP which covers a lot different
angles including internationalization, privacy, relation to other
XEPs.
When I get around, I'll try to implement it, at least experimentally,
in Swift.

Cheers,
Tobi

PS: I noticed some glitches in its PDF rendering, mostly due to
missing support of strong, em and <br/>. I'll try to fix those.



Reply via email to