MeMenu

Differences between revisions 4 and 5
Revision 4 as of 2009-12-08 18:13:47
Size: 8151
Editor: eth0
Comment: cleaning up tables and merging some sections
Revision 5 as of 2009-12-08 18:47:14
Size: 8365
Editor: eth0
Comment: resolves many of the unresolved issues
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:

|| ||Off ||On||
|| ||Off ||On                      ||
Line 50: Line 49:
||Hidden || <service>_hidden_nosend || <service>_hidden_send  || ||Hidden || <service>_hidden_nosend || <service>_hidden_send ||
Line 52: Line 51:

The arrow keys should navigate through the items just as they would for a spreadsheet. '''Test case:''' With the seven accounts still set up, open the menu and press Down twice. The first account (top left corner) should be highlighted. Press Right once, then Down twice. The text field should be focused. Press Up once. The seventh account (not the sixth!) should be highlighted.
Line 55: Line 56:
The broadcast field should be present if you have at least one broadcast account set up. It should be sensitive whenever at least one broadcast account item is checked. (There is no extra submit button; text is submitted by pressing Enter.) Entering text in the field should post that text to all broadcast accounts whose account items are checked. The broadcast field should be present if you have at least one broadcast account set up. It should be sensitive whenever at least one broadcast account item is checked. (There is no extra submit button; text is submitted by pressing Enter.) Entering text in the field should post that text to all broadcast accounts whose account items are checked. If any of them fail to update, a notification bubble should be displayed with title text of the form “Status could not be updated” and body text of the form “for {comma-and-space-separated list of accounts that failed}”.
Line 57: Line 58:
The trailing end of the field should have a Clear icon. Pressing this icon, or opening the menu, should reset the field to the last successfully transmitted entry. If your last posting to all currently selected broadcast accounts was the same (for example, if you have only one broadcast account item checked), the default contents of the field should be the text of that last posting. In all other cases, the default contents of the field should be nothing.

The trailing end of the field should have a Reset icon. Pressing this icon, or opening the menu, should reset the field to the last successfully transmitted entry.
Line 61: Line 64:
This section is present only if you have set up any instant messaging accounts. It consists of items with icons and labels for “Available”, “Away”, “Busy”, “Hidden”, and “Offline”, and an item with label only for “Custom Status…”. Each item should be sensitive only if at the account item is checked for at least one chat account that supports it. Test case: Check the Facebook item and no other items. “Available” and “Offline” should be sensitive, while the other instant messaging items should not. This section is present only if you have set up any instant messaging accounts. It consists of radio items with icons and labels for “Available”, “Away”, “Busy”, “Hidden”, and “Offline”, and an item with label only for “Custom Status…”. Each item should be sensitive only if the account item is checked for at least one chat account that supports it. '''Test case:''' Check a Facebook item and no other items. “Available” and “Offline” should be sensitive, while the other status items should not. '''Test case:''' Check a Twitter item and no other items. None of the status items should be sensitive.
Line 63: Line 66:
Activating any of the items except “Custom Status…” should close the menu and set your instant messaging status for all chat accounts that support that status. Activating “Custom Status…” should open a dialog for setting a custom status. If submitted, the custom status should be set for all chat accounts that support custom statuses. A status item should be checked if all the currently selected chat services are set to that status. It should be set to indeterminate status if not all, but at least one, of the currently selected chat services are set to that status.

Activating any of the items except “Custom Status…” should close the menu and set your instant messaging status for all checked chat accounts that support that status. Activating “Custom Status…” should open a dialog for setting a custom status. If submitted, the custom status should be set for all checked chat accounts that support custom statuses.
Line 93: Line 98:
== Visual designs needed ==

Line 108: Line 110:
 * Social network/messaging service icon grid - clicking on these icons does not close the menu: can we give users an 'out'?
 * Should user be able to choose whether or not any name is shown in the panel?
 * Keyboard navigation?
 * What if service has no icon?
 * Do we need to show a count for the 140 character limit?
 * What if someone uninstalls Gwibber?
 * Where does the default set come from?
 * How do we show that a text status is being sent? (a spinner is not visible if the menu is immediately removed; maybe a notification?)
 * Can we try to make the text entry field show the the text on the currently selected service (or services, if they're the same, or 'multiple' if there is different text set for each service)
 * Can we try to make the status selection list show the status of the currently selected service?
 * If multiple services are selected, can we do the semi-highlighted selections for both services?
irc.canonical.com, irc.freenode.com - what do we use for icons?
 * Relationship between Messaging Menu and Me Menu.
 * During multi-selection can we show only the inputs appropriate to all selected services
e.g: if twitter+facebook+anything else, limit statuses to those that make sense to twitter (online and offline to turn notification on/off)
 * Status vs chat
 * Application preferences: configure gwibber, configure skype...
 * what do we use for icons?
 * If you have multiple microblogging accounts with the same service (''e.g.'' two Twitter accounts), they’ll be indistinguishable in the menu.
 * What if a service has no icon?
 * If you have multiple microblogging accounts with the same service (''e.g.'' a personal Twitter account and a corporate one), they’ll be indistinguishable in the menu.

  Both could be resolved by using text items, instead of the grid of icons.

 * Do we need to show a count for the 140 character limit, where you are broadcasting to accounts that have one?

  We could leave space for this beside the field, so that it doesn’t quite take up the full width of the menu.

Designed by MarkShuttleworth, specified in detail by Ivanka Majic and MatthewPaulThomas

There should be a “Me menu” representing you in Ubuntu. It should let you broadcast to social networks such as Twitter and Facebook, set your status for instant messaging, and access settings for instant messaging and microblogging accounts and for Ubuntu One.

Rationale

The Me menu is the first port of call for the user to express their status and their identities to the world.

Use cases

Initial appearance

IM set up, no broadcast accounts

Both IM and broadcast accounts set up

me-menu-initial.jpg

me-menu-im-only.jpg

me-menu-full.jpg

The menu itself

Unless otherwise specified, activating any menu item should close the menu before carrying out its function.

Title

The title of the menu should be an icon representing your current instant messaging status, followed by whichever form of your name you have chosen in About Me. If you have no instant messaging accounts set up, the icon should be the Offline icon.

Me item

The first item in the menu should consist of data from your Ubuntu account: your account picture on the leading side, and your “Real name” alongside, with 1 em spacing between them. It should behave exactly as a single menu item. Activating the item should open About Me.

The account picture should be scaled, maintaining proportion, to the largest size that will fit in a 3-em square. If you have no account picture, a default user account picture should appear instead.

The name should, if necessary, wrap to two lines of text. If it would take up more than two lines, the second line should end with an ellipsis.

TBD: A mockup showing the first item highlighted.

Service and account items

The service and account items represent your broadcast accounts and instant messaging accounts that Ubuntu knows about. The items should be present only if you have set up any broadcast or instant messaging accounts.

If you do have accounts set up, these should be displayed as toggle items in a grid that has up to five accounts per row. Test case: Set up seven accounts. The first row should have five account items, and the second row should have two account items and three empty spaces.

All account items should be in the on state by default (meaning that entering text will post to that service). Activating an item should toggle it between on and off, but should not close the menu. For this specification, an account item in the on status is referred to as “checked”, and an item in the off state as “unchecked”.

In addition to being unchecked or checked, items for chat accounts should also display whether your status for that service is available, away, busy, hidden, or offline. Visual design TBD.

So, each toggle button needs to have the following statuses:

Off

On

Available

<service>_available_nosend

<service>_available_send

Away

<service>_away_nosend

<service>_away_send

Busy

<service>_busy_nosend

<service>_busy_send

Hidden

<service>_hidden_nosend

<service>_hidden_send

Offline

<service>_offline

The arrow keys should navigate through the items just as they would for a spreadsheet. Test case: With the seven accounts still set up, open the menu and press Down twice. The first account (top left corner) should be highlighted. Press Right once, then Down twice. The text field should be focused. Press Up once. The seventh account (not the sixth!) should be highlighted.

Broadcast field

The broadcast field should be present if you have at least one broadcast account set up. It should be sensitive whenever at least one broadcast account item is checked. (There is no extra submit button; text is submitted by pressing Enter.) Entering text in the field should post that text to all broadcast accounts whose account items are checked. If any of them fail to update, a notification bubble should be displayed with title text of the form “Status could not be updated” and body text of the form “for {comma-and-space-separated list of accounts that failed}”.

If your last posting to all currently selected broadcast accounts was the same (for example, if you have only one broadcast account item checked), the default contents of the field should be the text of that last posting. In all other cases, the default contents of the field should be nothing.

The trailing end of the field should have a Reset icon. Pressing this icon, or opening the menu, should reset the field to the last successfully transmitted entry.

Instant messaging statuses

This section is present only if you have set up any instant messaging accounts. It consists of radio items with icons and labels for “Available”, “Away”, “Busy”, “Hidden”, and “Offline”, and an item with label only for “Custom Status…”. Each item should be sensitive only if the account item is checked for at least one chat account that supports it. Test case: Check a Facebook item and no other items. “Available” and “Offline” should be sensitive, while the other status items should not. Test case: Check a Twitter item and no other items. None of the status items should be sensitive.

A status item should be checked if all the currently selected chat services are set to that status. It should be set to indeterminate status if not all, but at least one, of the currently selected chat services are set to that status.

Activating any of the items except “Custom Status…” should close the menu and set your instant messaging status for all checked chat accounts that support that status. Activating “Custom Status…” should open a dialog for setting a custom status. If submitted, the custom status should be set for all checked chat accounts that support custom statuses.

custom-status.jpg

Settings items

The menu should end with a separator, a “Chat Accounts…” item, a “Broadcast Accounts…” item, and an “Ubuntu One…” item.

The “Chat Accounts…” item should be present only if Empathy is installed. Activating it should open Empathy’s Accounts window, or focus it if it is already open.

The “Broadcast Accounts…” item should be present only if Gwibber is installed. Activating it should open Gwibber’s “Manage Accounts” window, or focus it if it is already open.

The “Ubuntu One…” item should be present only if the Ubuntu One control panel is installed. It should say “Ubuntu One Settings…” instead if you are currently logged in to Ubuntu One. Activating it should open that control panel, or focus it if it is already open.

Application integration for Ubuntu Lucid

For Lucid, these services should be integrated:

  • Gwibber: Twitter, Facebook, Identica
  • Empathy: msn, Google Talk, Yahoo Chat

Lucid + 1

  • Unified accounts?

Changes to About Me

about-me.jpg

Handling upgrades

Risks

  • Facebook Chat does not have a “Hidden” status, so including it in a global IM status menu may mislead people about whether they are actually hidden. See also http://www.szetopia.com/im-presence

Future work

  • Broadcast what I am listening to as a status
  • Review all messaging apps
  • Does the Social Networks service need an alternative list view to support accessibility?

Unresolved issues

  • What if a service has no icon?
  • If you have multiple microblogging accounts with the same service (e.g. a personal Twitter account and a corporate one), they’ll be indistinguishable in the menu.

    • Both could be resolved by using text items, instead of the grid of icons.
  • Do we need to show a count for the 140 character limit, where you are broadcasting to accounts that have one?
    • We could leave space for this beside the field, so that it doesn’t quite take up the full width of the menu.

MeMenu (last edited 2012-04-16 14:37:28 by mpt)