[Telepathy] Proposed standard MC API

Sjoerd Simons sjoerd at luon.net
Tue Aug 14 04:31:54 PDT 2007

On Fri, Aug 10, 2007 at 09:08:14PM +0200, Xavier Claessens wrote:
> Le vendredi 10 août 2007 à 15:57 +0100, George Wright a écrit :
> > On Friday 10 August 2007 15:54:40 George Wright wrote:
> > > - Ironing out, peer review.
> > 
> > Woops, forgot that we still need to do profiles.
> Profiles are the hard part I think... The following is based on NMC
> profile definition.
> Here is why I think profiles should be per client:
> 1) They have translated fields

Why can't these be re-used by different clients ?

> 2) Clients wants to select "blessed" CM that works for them. A client
> without MUC won't install tp-idle profile, clients don't want to support
> officially the last very unstable CM that will break everything.

telepathy-idle can still do private messaging :).. Anyway if you only want to
support known ``good'' CM's in your client (Which i think is a loss). You can
always keep your own list of blessed CM's, no need to abuse profiles for that.

A better option for the first use-case would be using the Capabilities field
that is present in NCM's profile files

> 3) There is UI related information, like which UI plugin to use to
> display the protocol-specific setting widget.

As said elsewhere in the thread. One option is to move that (or even all UI
specific stuff) out of the profile. For things that are client specific,
clients can just have their own mappings somewhere.

> 4) Some defaut values for CM depends on policies, like should we
> ignore-ssl-errors which is a security flaw but (atm) required to connect
> GTalk.

Which is actually a good reason to _not_ have profiles in the client. The
ignore-ssl-errors value for GTalk can be removed as soon as Gabble/Loudmouth is
fixed to do starttls/sasl properly. Which is something the CM knows about, but
your client doesn't...

> For those reasons a client can't use a profile installed by another
> client. This means we won't be able to use an account created by one
> client in another client... And what if I uninstall one client, I loose
> all my accounts? That's not an option !

Again. This is a very good reason to not let clients ship profiles but do it in
CM's instead.

> CM already provide their own default values, they can't add anything in
> a profile that isn't already available via telepathy spec. 

Uhm, They can. Your GTalk example is above shows this. SIP is another good
examples. Sofiasip could ship a set of profiles specifying various voip
providers so that users only have to fill in their account and password and
_not_ things like proxy server, stun server etc. Replicating this information
in all clients just doesn't scale

Personally i even hope that in the future some providers would even start
offering Telepathy profiles for use with their services.

> And they can't provide translated strings, protocol icon, etc.

I don't see why you can't reuse translated strings. Actually i'm not sure if
having translations in profiles is a good idea. If you've got X SIP profiles
that will mean that each one contains potentially the same translations. If
some third-party ships a profile for his services, then it's quite likely it's
not translated (or not traslated very well)

For the protocol icon if you use it, at worst it's not in the style you want it
to be. There is nothing forcing you to use this icon though, you can always
regard it as a default and override it for known protocols.

Also note that third party providers might like to see their branded icon (e.g.
the google talk icon instead of a default jabber one).

A failure will not appear until a unit has passed final inspection.

More information about the Telepathy mailing list