IM, Contacts & Social hackfest: Libsocialweb Accounts

libsocialweb accounts integrated with gnome-online-accounts.

  • Just goa accounts present? Or additional accounts?
  • Integration of enabled accounts.
  • Does GOA have the different types of auth support (sometimes more than one for the same account)?
  • What are other obstacles to switching libsocialweb to GOA.
    • How do we address multiple accounts for the same service type.


Rob: Obstacles: lsw assumes that there's only a single instance of each service type. GOA supports multiple instances; this needs to be addressed. lsw will have a large API break for authentication, so might as well break API for service types as well. Need more API for enumerating. Could initially assume one instance of each account type just to get GOA working, then extend it later.

Stef: Applications which use lsw would have to be aware of GOA? Rob: Only applications which *create* lsw accounts or update state inside lsw need to be aware of GOA. Consumer applications won't need to. lsw provides all the necessary signalling so that they shouldn't have to. folks won't communicate directly with GOA.

Trusted path for GOA: no application should have credentials entered into it directly.

Bastien: lsw supports many more types of accounts than are supported in GOA. e.g. Facebook, Twitter, MySpace, What do we want to do for those? Previously we would've had a separate UI for setting up accounts, but the plan should be to have this UI in GOA. Otherwise, we'd have to take Bisho and spruce it up. Other option: don't officially support those account types for GNOME 3.2. Support them in GNOME 3.4? davidz isn't interested in supporting every tiny little service which only does one thing, when there are so many large services which support all sorts of actions. GOA is only really useful for services which support more than one action.

From Tp's perspective, Tp will load accounts from GOA if possible, but also load accounts and configuration (e.g. for SIP) from other places. This will keep GOA lean and stable. Having GOA as a blocker to supporting new IM services is a bad plan.

However, this means we need a different way to set up these other account types for Empathy. Empathy already has a UI for this; we probably don't want to merge it into GOA. Market GOA as *web* accounts only; not online accounts in general.

This would mean having 3 separate control centre panels: Tp/Empathy, GOA, lsw. Bastien thinks Tp/Empathy and lsw should be separate preferences windows in separate applications: not in the control centre. Will: There are things which don't make any sense in the Empathy accounts dialogue when opened from the control centre. We should remove it from the control centre.

GNOME first-boot wizard will ask loads of questions about online accounts. We need to make sure that Empathy starts working immediately if the user (e.g.) enters the details for their Google account in this wizard — without having to have the user create the Empathy account separately. Same problem as with setting up e-mail accounts in Evolution.

Should be straightforward to extend GOA for specific vendors/infrastructure. e.g. Company or university accounts on company/university branded computers.

Danni: suggest links between the different accounts dialogues (e.g. Empathy & Bisho) rather than duplicating the data/UI between them. This gives the user familiarity in where different types of accounts are set up. Have an “enable” button in the Empathy accounts dialogue so that the user can easily disable all their chat accounts, even those which were set up in GOA for their Google accounts. Much easier than following a link to GOA and scrolling to find the account in GOA then disabling it there.

Will: Is it planned to allow plugins adding third-party account types to GOA? It would be nice for corporate environments to have this ability. Implies that all the accounts in a corporate environment are nicely integrated. Is this reasonable?

Bastien: Sucky terms of service for various account providers means that Google is the only account provider which can be enabled by default. GNOME Foundation is looking at legal counsel to see if we can ship more account providers (with API keys) by default. Maintaining control of API keys and accounts is one reason why disallowing adding third-party plugins is necessary: legal reasons. Stef: Surely this is one reason why GOA *should* be extensible. cf. GStreamer and MP3 plugins.

Guillaume: Should I remove Empathy's control centre integration for GNOME 3.2? Is it still needed for MeeGo? Will: If we're getting rid of Empathy the application, where do the preferences actually exist? New application: “IM Accounts”? Bastien: In the worst case, there can be an “Other” button in GOA which opens the IM accounts application.

“My Account” in the control centre is an overloaded term. Does it mean the user account, web accounts, IM accounts, GOA? Should have: User Accounts and Online Accounts.

At the moment, the first time Empathy is run, the new account wizard runs. Will that be merged with GOA? Bastien: It should be merged with the GNOME OS first time wizard which runs the first time the user logs in after installing GNOME. Rob McQueen: MeeGo doesn't do this, since it slows down the process of getting into GNOME. Instead, it prompts the user to set up accounts in the places where they'd be useful, as those places are run. i.e. How things are already done in Empathy. What happens if the user sets up a GMail account in Empathy before they do so in GOA? Need to make sure that:

  • this doesn't magically and automatically set up their calendar as well (unless they want it to)
  • the user can easily extend the account later to provide their calendar, etc.

Will: Definitely should give the user the choice of what their account is used for. Don't want to set up a Google account and automatically have GTalk go online without asking.

(Long discussion about token handling in Telepathy between Will and Danni follows.)

Better to get API keys from the filesystem rather than configure flags. Handling keys is a nasty problem, but secondary to actually getting things working.

Action plan

  • Guillaume and Danni to work on the Empathy side of things. GOA should be working enough already (for Google accounts, at least). Write an MC plugin for the accounts with an observer running out of Empathy. (#652543 #652544 #652546)

  • Rob's working on adding GOA support to Facebook in lsw.
  • Bastien's working on fixing GOA bugs.

Hackfests/IMContacts Social2011/Tasks/LibsocialwebAccounts (last edited 2011-06-14 11:41:05 by GuillaumeDesmottes)