Usability/Workshop/MultiUI Prototypes2
Z Kadu
0a. Simple / Advanced Modes (A/B modes)
Links: http://i396.photobucket.com/albums/pp45/pelzowski/konfiguracjiwyglad-1.png?t=1236015554
The rationale behind Simple and Advanced Mode is hiding away the advanced multiprotocol / multi-account / protocol-specific machinery from a user who's ready to forsake some special abilities of given protocols and fine-tuned control for the simplicity of just communicating with their pals no matter what protocol they're using / are currently only available on (think Pidgin).
Simple mode:
- - it's the only possibility for a user who only has one account and doesn't use metacontacts
- - metacontacts (buddies) can't be resolved to contacts on the contact list
- - clicking on a metacontact starts conversation with the preferred contact
- - a metacontact has the description of the preferred contact
- - if the preferred contact is unavailable the conversation is started with the most recent out of available contacts (most recently messaged or most recently added to contacts)
- - the contact we're just adding to the metacontact is the preferred contact by default but the user can untoggle 'Make the preferred contact' option to have the current preferred contact stay the preferred contact
- - preferred contact can be changed at any time in the metacontact's properties where ONE preferred contact can be chosen
- - statuses are set for all accounts of all protocols at once with the default set of statuses taken from the protocol which has most contacts associated with it (different idea is to go with the protocols' priority list for the region - which one is better?) and the lenght of the description limited likewise
- - a metacontact can only be jointly added to one group (or should we leave the possibility of adding contacts to separate groups intact?)
- - context menu of the metacontact contains the options to message contacts different than the preferred one with an option to set new preferred contact from there - is this a good idea?
Advanced mode:
- - metacontacts (buddies) can be resolved to contacts on the contact list
- - contacts priority can be manually adjusted by reordering the entries in the metacontact
- - contacts priority is used to decide which contact to talk with while clicking on a metacontact
- - contacts belonging to one metacontact can be added to different groups
- - different statuses can be set for different accounts
Both modes:
- - the indicator of the connection status for different accounts can be turned on/off regardless of choosing the mode
- - the indicator of the connection status can be used both to disconnect an account for the lenght of the session, have it reconnect, as well as have it go into the hidden state
- - while adding a contact to the list (if necessary), our account to associate with this contact is something we need to get from the user every time because there's no way to guess which one of their numbers the user has given to the person on the other end
The switch between modes:
- - the final step of the configuration wizard
- - the option of changing the mode in the Configuration Manager / Accounts
0b. Regional settings
Regional settings influence:
- - interface language (one regional setting can correspond to many languages though like English both for UK and US)
- - choice of branded Jabber/XMPP flavours presented to the user (like AQQ 2.x, Papla etc. for Polish)
- - list of suggested open access Jabber servers presented to the user while setting up a new Jabber account
- - order of presentation of available protocols to the user (following the usage statistics of IM protocols for this country)
1. Configuration Wizard
Links:
- http://ui-patterns.com/pattern/Wizard
- http://www.kadu.net/w/Usability/Workshop/MultiUI_Scenarios
- http://www.kadu.net/w/Usability/Workshop/MultiUI_Prototypes
Goals:
- - inform the user that has launched Kadu for the first time what Kadu is and how it can be useful for him ( 1st page)
- - have the user choose their preferred language version / regional settings (predefined to system settings / English) ( 1st page)
- - have the user choose their global nickname ( 1st page)
- - have the user determine what protocols he's currently using and add one account for each protocol used to the configuration (with an option to create a new account) ( 2nd page)
- - provide a list of suggested open access Jabber servers ( 2nd page)
- - show the acquired new number/username for a protocol to the user with a clear description of what it is ( 2nd page)
- - inform the user he can add more accounts to the same protocol later on and tell him where ( 2nd page)
- - get proxy settings from the user ( 3rd page)
- - inform the user about the Advanced mode
Goals we could get rid of:
- - have the user choose their preferred web browser and e-mail program for links - default to system defaults ( 3rd page)
- - have the user choose their sound system and test sound ( 3rd page)
Goals up for debate:
- - inform the user briefly of the consequences of choosing a regional setting ( 1st page)
Remember to:
- - add a wizard page number counter on every page (eg. 1/3)
- - add back/forth/complete buttons
- - make it possible to cancel at any time and resume from the menu
- - have the program in a workable condition after cancelling the wizard at any point or skipping it entirely
Links:
- http://i396.photobucket.com/albums/pp45/pelzowski/menu1final.png?t=1242412084
- http://akai.opsat.net/kadu-ui/Kadu-lista_kontaktow.png
Notes:
- - security key (certificates) management should be moved to the configuration dialog
- - does it make sense to keep profiles around?
- - modules should be adding their entries to configuration dialog / Kadu and Buddies menus deciding sensibly what's the best location for a functionality
- Kadu:
- Configuration Wizard... (unloaded on completion)
- Preferences...
- Plugins...
- ---
- Profiles...
- Manage accounts...
- ---
- Recent chats (submenu)
- Chat history...
- File transfers...
- ---
- Mute sounds (toggle)
- Turn off notifications (toggle)
- Hide Kadu to tray
- Quit Kadu
- Buddies: (or whatever metacontacts will be called)
- Add buddy...
- Add group...
- Add chat... should we have this option? (for adding conferences to the contact list)
- Search for buddies...
- ---
- Send SMS...
- ---
- Show (submenu): Offline buddies, Offline accounts buddies, Blocked buddies, Buddy Details, Buddy List Search
- ---
- Blocked contacts...
- Help:
- Help...
- ---
- Submit bug report...
- Support us...
- Get involved...
- ---
- About Kadu...
3. Toolbar
Current Kadu toolbar doesn't meet usability standards for toolbars. The toolbar entries should repeat chosen functionality already present in the main menu (as shown above). Ideally, the toolbar items should be customizable and have descriptions (since the icons aren't of widely known and recognized variety).
My suggestion of toolbar icons to include by default is:
- Mute sounds (as a toggle)
- Turn off notifications (as a toggle)
- Add buddy...
- Add group...
Files: http://akai.opsat.net/kadu-ui/Kadu-lista_kontaktow.png http://i396.photobucket.com/albums/pp45/pelzowski/zarzadzaniegrupamipatpi2.png?t=1236870353
Group's name
- Associate with account... (if more than one present)
- ---
- Change icon...
- Rename...
- Hide name (toggle)
- Hide in All (toggle)
- Delete
If drag&drop of contacts onto groups is introduced it should be accompanied by a menu of Move / Copy
Links: http://i396.photobucket.com/albums/pp45/pelzowski/oknododawaniakontaktudoznajomego.png?t=1237068524
Simple mode:
Buddy's name
- Add contact...
- Properties... (should Groups be taken out of Properties to a submenu?)
- Accounts (submenu of accounts with toggles for setting as preferred)
- ---
- Chat...
- Add to chat...
- Send SMS...
- E-mail...
- Send file...
- ---
- Copy description
- Show history...
- Purge history
- ---
- Ignore
- Block
- Offline for buddy (toggle)
- Remove
Advanced mode:
- The menu doesn't have the Accounts submenu and after expanding every contact has its own context menu starting fromt Chat option.
6. Status changer
Simple mode:
- - statuses are set for all accounts of all protocols at once with the default set of statuses taken from the protocol which has most contacts associated with it (different idea is to go with the protocols' priority list for the region - which one is better?) and the lenght of the description limited likewise
Advanced mode:
Goals:
- - set statuses jointly like in simple mode with an option to further customize statuses for single accounts
- - give a choice of which protocol's limits are used for jointly set statuses
7. Indicator of the connection status
Expanded mode: A bar with icons representing all accounts, clicking on an icon pulls out a menu
Collapsed mode: One icon opening a menu with icons for all accounts and their menus
Context menu:
- Account's icon
- Disconnect / Reconnect (depending on state)
- Hide my presence (toggle)
- Status... ???
8. Chat window
Links: http://i396.photobucket.com/albums/pp45/pelzowski/chatv1final.png?t=1242411305
Normal chat:
- - add people to chat button
- - indicator of the account we're writing from
Group chat:
9. Jabber: subscription request
Links: http://i396.photobucket.com/albums/pp45/pelzowski/oknosubskrypcji.png?t=1234192559
Links:
- http://akai.opsat.net/photo/Your%20accounts2_accountsectiongadugadu.png
- http://akai.opsat.net/photo/Your%20accounts2_addaccountsectiongadugadu.png
Links: http://i396.photobucket.com/albums/pp45/pelzowski/oknododajznajomego.png?t=1237068524
Note: A variation needed for adding an anonymous contact that has started chatting with us either as a new buddy or to existing buddy's contacts
Links: http://i396.photobucket.com/albums/pp45/pelzowski/oknododawaniakontaktudoznajomego.png?t=1237068524
Links: http://akai.opsat.net/kadu-ui/Kadu-wlasciwosci_osoby.png
