Re: GNOME Online Accounts extensibility



Hi,

On Thu, Oct 6, 2011 at 12:52 PM, Ken VanDine <kvandine gnome org> wrote:
> I really want to get rid of gwibber-accounts for configuring accounts in
> Gwibber.  It makes sense to use GOA for this,

I don't think it necessarily does, no. See below.

> however gwibber supports
> quite a few social networks as well as supporting third party service
> plugins.  So anyone can add support for a new social network without
> changing gwibber.  So to transition to using GOA, we would need to
> include support for all the social networks Gwibber supports out of the
> box, and provide a way for third party developers to include the
> necessary provider for GOA.
>
> This really won't be manageable if all the providers need to be merged
> upstream with GOA and included in a release.
>
> Thoughts?

Well, until we've figured out a story in GNOME for how "social
networks" are integrated, it just doesn't make sense to add this to
GOA. The more general observation (of which the above is a
specialization of) is that we do not add support for providers P (e.g.
Google, Facebook) or services S (e.g. Documents, Mail, Chat, Calendar,
Contacts) until

 1. we know how it's going to be used in a GNOME release; and

 2. there is something in the GNOME release using it.

Basically: you need to work with the GNOME Designers on figuring out
how "social networks" fit in.

For GNOME 3.2 we have the following users:

 - Empathy / GNOME Shell (Chat)
 - Evolution (Mail, Calendar)
 - GNOME Contacts (Contacts)
 - GNOME Documents (Documents)

and we still only support Google as a provider. Why? Because Google is
right now the only provider where

 a) we can use anonymous API keys; and

 b) we have support for Google in the above-mentioned apps

The other problem is how to handle API keys. As I have mentioned
before on this list and elsewhere, a couple of months ago I sent a
long mail with legal questions to the GNOME Foundation and I'm still
waiting on a response. Basically, we want to be able to legally ship
API keys along with GOA. So it boils down to this: even if we had all
the protocol support for, say, Facebook in, say, GNOME Contacts
(through libfolks) and Empathy (through Telepathy) we would not be
able to turn it on because of unresolved API key and legal questions.

> Are there plans for making service providers in GOA pluggable?

Not at this point, no, and probably not in the future either. Why? Two reasons

I.  Adding support for a provider P, currently means making code-changes to
    all of the GNOME apps using its services.. because most of the time standard
    standardized protocols are not in use. For the few cases where it
uses a standard
    protocol (such as XMPP and IMAP/SMTP) we could support pluggable providers.

    For example, we could, presumably, read "plug-in" files from some directory
    so we could list 200 different XMPP chat services or 200 different
IMAP servers.
    That that no-one ever heard about. But would we want the user to
see this? The
    answer is: not in GOA. But see II. below

II. To avoid user confusion we only want the major online services in GOA.
    Support for more specialized protocols/services should happen in each
    separate app - that's why, for example, that Empathy still has a preferences
    menu so you can add support for e.g. ICQ, Zephyr and other fringe chat
    services and protocols. And that's also why you still have support in
    Evolution for manually adding IMAP/SMTP servers.

I will try and add some of these guidelines (or "rules" if you want)
to the GOA documentation, see

 http://developer.gnome.org/goa/unstable/

for what it looks like right now.

    David


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]