[Standards] Meta-Contacts: implementation notes
melo at simplicidade.org
Mon Apr 28 10:12:06 UTC 2008
On Apr 27, 2008, at 11:51 AM, Remko Tronçon wrote:
>> 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.
Sure, this is totally true. We tried 209 because of the order attribute.
First, using the same name/group-membership to organize meta-contacts
is not a fallback, its a different approach.
Second, we can use this different approach and add order in some
other way, even reusing the parts of 209.
Right now, I'm looking at a simple list of pairs JID => order over
PIP, with separate meta-data and data nodes to reduce the traffic.
> 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.
No. If I add a new contact with the same name, I ask the user "There
is an contact with the same name already. Do you want to add this new
With 209, you add the new contact with the same name, the user sees
the duplicate entry in the roster, and has to manually drag it to the
meta. Or you do the same question as I do.
No difference really.
Well, there is one actualy. If we use the roster-based approach you
are not allowed to have multiple contacts with the same name. But I
would be willing to bet that that's not a problem. People prefer to
have the different names anyway, even if they just add a "(project
X)" pseudo-tag to the name.
> 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.
Sure, but in the roster-based approach, users still have control over
the meta-contacts. Nothing is done without their approval.
XMPP ID: melo at simplicidade.org
More information about the Standards