Jump to content

KTp/Components/Account Management GUI

From KDE Community Wiki
< KTp
Revision as of 16:28, 15 January 2010 by Grundleborg (talk | contribs) (Add list of options that must be configurable)

WARNING: Brain-dump on this page. Please take with a liberal pinch of salt

Design Notes/Features

  • KCM Module - can be reused in config dialog of any Telepathy using App to give a "configure accounts" option.
  • Built in default auto-generated UI as a fallback for configuring any Connection manager.
  • Plugin interface to provide prettier UI's for particular connection managers.
  • Plugins for most important connection managers asap:
    • Gabble
    • Butterfly
    • Salut
    • Haze (mainly the more common protocols in Haze)

Current Status

Written, with a gabble plugin. HOWEVER, the design turns out to be a bit crap, and quite limited, so we need to refactor quite a lot.

TODO: Explain what's crap about the current design (Grundleborg 15:37, 12 January 2010 (UTC))

Contact

Developed mainly by George Goldberg (Find me on IRC in #kde-telepathy as 'grundleborg' or email me: 'grundleborg googlemail com'.

Redesign

Use Cases

Add an Account

Imhotep has a Yahoo Messenger account which he wants to use to text chat with his friends. He's not particularly computer savvy, but knows his username and password. However, he tends to get confused when presented with too many unfamiliar form fields.

Pretzel, on the other hand, is at school. He wants to be able to use his netbook to chat to his MSN buddies during classes on the school network. However, the school uses a proxy server and blocks the default MSN port. Pretzel is pretty good with computers so wants to change the advanced network and proxy settings of his MSN account to get round the school network limitations.

Conclusions
  • Adding accounts needs to be as simple as possible by default, only presenting the minimum necessary fields.
  • Advanced options need to be accessible but not threatening to less tech-savvy users.

Edit Account

Charlie wants to change the display name of his Jabber account.

Danni is having problems with network connectivity for her MSN account behind a corporate firewall. She's quite good with computers so she wants to play around with the account network and proxy settings to try and get it working.

Bob also wants to edit his Jabber account - he has changed the password from his home computer, and needs to update the stored one on his work computer.

Alice typed in her AIM screen name slightly wrong when creating the account. She wants to edit it without having to recreate the account and enter all the other details again too.

Conclusions
  • All properties of accounts should be editable, including the username/screenname property.
  • UI should display the basic properties only on the first page displayed to the user, but should still allow editing all advanced properties with the minimum of clicking.

Delete Account

Alice no longer wants to log into her AIM account on her work computer, but she still intends to use it on her home one.

Bob has decided he doesn't trust jabber.org any more, so he wants to remove his jabber account both from his computer and from jabber.org altogether.

Conclusions
  • Deleting account should be easily possible from the UI.
  • It should, if possible either support optionally deleting the account altogether (if the IM network allows this), or possibly point the user to web-based ways of doing this if it is not possible programmatically?


Technical Requirements

Properties that must be configurable

Basic Properties include:

  • Some of Account.Parameters - the required ones e.g. username and password.
  • Account.Displayname - the name to give this account in the accounts list locally, e.g. Jabber: [email protected] or something.
  • Account.Nickname - my name to be displayed in other people's buddy list.
  • Account.Enabled - whether this account is enabled or disabled.
  • Account.ConnectAutomatically - whether to connect the account automatically on startup.

Advanced Properties include:

  • The rest of Account.Parameters - network settings and other advanced protocol/cm specific misc.