maintaining accounts used by different Online Desktop features


I reviewed how we collect and maintain information about the user accounts that different Online Desktop widgets use. Currently, we have Google Calendar and Mail widgets, as well as stand-alone notifications for Google mail. We have a small dialog that gets the GMail account information needed by those services. The back-end code also supports getting calendar events and mail for the accounts supported by Google Apps For Your Domain (GAFYD), but the latest iteration of the UI, i.e. the dialog mentioned above, doesn't allow entering information about such accounts. The goal is to extend the dialog to allow entering information about GAFYD accounts and any other types of accounts the Online Desktop will support in the future, as well as to sort out how the accounts the user cares about are saved by
the Online Desktop and how the passwords for those accounts are retrieved.

What should happen from the user's perspective is that they add their accounts in the accounts dialog once, and the Online Desktop always tries to log in to those accounts once the user logs in. The user should not be asked for the passwords on repeat log ins to the same system account, but they might be asked to enter their passwords again if they log in to the Online Desktop session on a different system. If the user removes or disables some account in the accounts dialog, the
Online Desktop should no longer try to log in to it.

A slight variation to this is to prime the accounts dialog with the accounts registered on, but ignore them if they have been explicitly disabled by the user before through the accounts dialog. When a new account is initially added on, we can display it in the accounts dialog for the user to explicitly enable it even if we have a password for it. This will allow us to tell the users about new Online Desktop features available for the types of accounts they've registered before or tell them that there are features available for the accounts they will register over time.

Here is what currently happens:

We get GConf settings for what accounts the user cares about for the Online Desktop. Those accounts should be preserved across
different Online Desktop sessions with the GConf sync.
(For example:
gconftool-2 --recursive-list /apps/bigboard/accounts
 username = marinazik
 kind = google
 enabled = true
 -- we check if the web login driver has a password for the account
(web login diver checks if the Gecko-based browser profile has the password saved, see for more info)
 -- we check if the keyring has a password for the account
-- we prefer the keyring password over the web login driver one if both exist
If no password exists, we let the user enter it.
 -- we save it in the keyring
If the user enters a new account
 -- we save information about it in GConf
 -- we save the password for it in the keyring

There is an accounts dialog that currently allows the user to enter one Google account.

As far as I can tell, we only use web login driver to check for passwords. That is we don't check if the web login driver knows about some GMail account, and prime the Online Desktop or the accounts
dialog with it.

Here is what needs to be done to get to the user experience described in the beginning:

-- verify that GConf sync currently works for the saved accounts.
-- make sure we actually get the passwords from the web login driver if they are available. -- make sure we save the passwords in the keyring across sessions, not just for the duration of one session. -- allow entering multiple accounts in the accounts dialog. Have the user select what is the "kind" of the account being entered from a drop-down list of account kinds. For now, it will probably just be a Google kind which will apply to both gmail and GAFYD accounts. We'll be able to tell if it's a GAFYD account
   by a different domain name.
-- have the accounts dialog be available at any time. For example, we can have an "Edit Accounts" option under
   "Tools" section in the "Sidebar Preferences" window.
-- figure out if marking accounts as supported by GAFYD on the account page is still necessary once we have a full-fledged accounts dialog that is part of the Online Desktop and all the accounts the user cares about are being saved with GConf sync. (As far as I remember, we used the setting from the account page for the web login driver to
   know which passwords to look up.)
-- figure out if we want to do anything with the e-mails that the person registers on their account page, i.e. do we want to prime the Online Desktop with a GMail account if they have registered a GMail e-mail. If we do, marking e-mails as supported
       by GAFYD on the account page will also make sense.
-- prompt the user for passwords if they log in to the Online Desktop and have some accounts with value enabled=true in the GConf, but the passwords for those accounts are not available from the keyring or the web login driver. Currently, "Login to Google" button in the widgets that use Google login is designed to let the user know they need to do this, but it might be insufficient if the user doesn't use Google Calendar or e-mail widgets, but likes to get the notifications about
   new e-mails.
-- once the number of available widgets increases, we should have a way for the user to see what widgets provide what kind
   of support for a certain kind of an account.

Any feedback is welcome!


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