[Standards] Meta-Contacts: implementation notes

Pedro Melo 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.

Best regards,
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: melo at simplicidade.org

More information about the Standards mailing list