[Standards] Meta-Contacts: implementation notes

Remko Tronçon remko at el-tramo.be
Sun Apr 27 10:51:42 UTC 2008

>  The meta-contacts XEP is a good example of over-engineering things that
>  have good-enough real life solutions already.

I think that's unfair.

The fallback mechanism is easy to get going fast, and gets good
results. However, there is no way whatsoever to put order on the
metacontacts. This might seem a silly detail, but it isn't: it's very
annoying when people use the wrong contact to contact you, and there's
no way to change it with that mechanism. Every meta-contacts-enabled
client has a way to reorder contacts.

Secondly, this is an example of a 'smart' algorithm. Smart algorithms
might work 95% of the time, but the 5% of the time they don't, they
are annoying and confusing. For example, if you add a user to your
roster which happens to have the same name as another contact, it'll
automatically get added to the existing contact. You'll then have to
start poking inside the metacontact, get the contact out, give it a
different name, etc.

Meta-contacts are something that feel like the user should create
manually to me. And that's why the xep is for, for clients who want to
give their users control over meta-contacts. If you don't want this
control, don't implement the XEP, and use the fallback mechanism only.


More information about the Standards mailing list