Opened 13 years ago

Closed 13 years ago

Last modified 11 years ago

#677 closed Enhancement (fixed)

Rework menubar and toolbar to match GNOME HIG

Reported by: LucaFerretti Owned by: charles
Priority: Normal Milestone: 1.05
Component: GTK+ Client Version: 1.03
Severity: Normal Keywords:
Cc:

Description

Hi everyone,

here is a review/proposal for Transmision menubar, in order to make it more coherent with other GTK+ and GNOME applications.

Torrent Edit View Help

This is the current layout, it's good and there is no reason to change :-)

File Menu Items

Currently there are a lot of stuff in File menu. Some commands could be moved elsewhere. The suggested layout is

Open
Create New
<sep>
Ask More Peers
Verify Local Data
Details
<sep>
Quit

Three sections: the fist one to add an existing torrent or to create a new one, the second one to perform some action on currently selected torrent that don't change the item list (such as play/pause/remove), the third to exit.

Edit Menu Items

Move here some items currently under Torrent menu. Note that HIG says that items in Edit menu are able to change the content of the open "document". Moving this statement to Transmission, where the "document" is the list of torrents, I think we should put under Edit those commands able to change the status of torrents (Play/Pause? and Remove).

So, the suggested menu is:

Start
Pause
<sep>
Remove
<sep>
Select All
Select None
<sep>
Preferences

View Menu Items

Here are a lot of changes here, but the result if optimal for GTK+/GNOME users.

[x] Toolbar
[x] Filter Bar
[x] Status Bar
<sep>

Arrange Items >

[ ] Minimal View
<<-- this entry needs a better label... <sep>
[ ] Message Log Window
[x] Main Window
<sep>

Statistics

Those entries are grouped too: first group to show/hide bars (note that HIG says you simply have to use the checkmenuitem and the widget name, not "Show/Hide/Toggle? Widget"), the second group to change the view of torrents, the third to show/hide windows, the last to open the Statistics..

Selecting "Arrange Items" you'll show this sub-menu (like the Nautilus File Manager).

(*) By Activity
( ) By Name
( ) By Progress
( ) By State
( ) By Tracker
<sep>
[ ] Reversed Order

Help Menu Items

The only available menu item for Help menu is About.

Toolbar

To reflect menus layout, the toolbar layout could be:

Open | Start Pause | Remove | Details

Other Menus

I haven't yet checked the torrent context menu and the notification icon menu against HIG suggestion. Stay tuned.


I'll provide a patch shortly: Transmission is using GtkActions? so change the menu layout is a breeze.

Change History (10)

comment:1 Changed 13 years ago by charles

I have a few thoughts about this.

  1. Moving {New, Open} to the top of the File menu is consistent with the "Standard Menus" section of the HIG and has no downside. This should be included in our next release (1.05).
  1. Removing the "Show" in {Show Filter Bar, Show Status Bar, Show Toolbar} is consistent with the "Controlling Display and Appearance" section of the HIG and has no downside. This should be included in our next post-string freeze release (1.10).
  1. "Statistics" is in Help, rather than View, because the HIG says "the View menu contains only items that affect the user's view of the current document", and the stats aren't related to the current document. The Help menu isn't a perfect fit for it either though...
  1. Moving "Transmission|Close" to "View|Main Window" is inconsistent with other Gnome apps such as Rhythmbox. (also see ticket #611)
  1. The {Verify, Start, Ask, Pause, Remove} buttons are intentionally grouped together to follow the typical sequence of events for a torrent. Ungrouping these would lose that consistency, such as the cue that "Ask" is something done between "Start" and "Pause".
  1. If {Verify, Start, Ask, Pause, Remove} *were* to be split up, the order in the File menu should be {Verify, Details, Ask}, so that the buttons would be ordered by locality, closest first.
  1. It's pretty common to change the sort order of the main window, so Transmission shouldn't nest these options unless clutter becomes too great. Even then, we should first consider nesting or moving other menu items first.

comment:2 Changed 13 years ago by charles

1.0x: r4904 Moved {New, Open} to the top of the File menu

trunk: r4905 Moved {New, Open} to the top of the File menu Removed "Show" in {Show Filter Bar, Show Status Bar, Show Toolbar, Show Message Window}

comment:3 Changed 13 years ago by charles

  • Type changed from Bug to Enhancement

comment:4 follow-up: Changed 13 years ago by LucaFerretti

  1. Moving {New, Open} to the top of the File menu is consistent with the "Standard Menus" section of the HIG and has no downside. This should be included in our next release (1.05).

Great, just IMHO:

  • Open -> Open... - trailing ellipses to show user further action is required, somewhere on GNOME HIG. Note that "..." shouldn't appear on toolbar buttons, so you have to define a new label for it (see Epiphany or Evince sources for details)
  • Torrent could be reduntant in "Create New Torrent": it's yet under Torrent menu, and you can create only torrents (see HIG -> Menus -> Standard Menus -> Creation and Opening Operation)
  • trailing ellipsses should be needed in New action too, 'cause users will have to specify data to torrent-ize.
  1. "Statistics" is in Help, rather than View, because the HIG says "the View menu contains only items that affect the user's view of the current document", and the stats aren't related to the current document. The Help menu isn't a perfect fit for it either though...
  1. Moving "Transmission|Close" to "View|Main Window" is inconsistent with other Gnome apps such as Rhythmbox. (also see ticket #611)

There is a long standing bug against Rhythmbox. I'll ping Rhythmbox developers about it: the bug was accepted, but I was never allowed to commit the patch.

HIG says (of course related to document bases applications) that File->Close should close the current document (see HIG -> Menus -> Standard Menus -> Closing Operations). Epiphany and Gedit are good examples of this.

So, another design could be add a Windows menu, and put here checkmenuitems to show/hide main, log and statics windows.

Unfortunately HIG says Windows menu should be used only for MDI applications :-(

  1. The {Verify, Start, Ask, Pause, Remove} buttons are intentionally grouped together to follow the typical sequence of events for a torrent. Ungrouping these would lose that consistency, such as the cue that "Ask" is something done between "Start" and "Pause".

But let me raise a doubt: as user, you need/want to be exposed to this is sequence? I mean, as user I just need to change the status of exising torrents (start, pause; remove) and perform additional actions (see details, check data, ask more peers).

You are right, Ask is between start and pause, but, hey, I just want to download my favourite music/movie/other, not learn how BitTorrent? works!!! ;-)

  1. If {Verify, Start, Ask, Pause, Remove} *were* to be split up, the order in the File menu should be {Verify, Details, Ask}, so that the buttons would be ordered by locality, closest first.

I agree.

The same should occur on popup menu, something like: {Start, Pause | Verify, Details, Ask | Remove }

  1. It's pretty common to change the sort order of the main window, so Transmission shouldn't nest these options unless clutter becomes too great. Even then, we should first consider nesting or moving other menu items first.

Oh, that's true. Transmission is not using a plain GtkTree? view, so you can't sort simply clicking on list headers...

However you should at least add a separator between radiomenuitems and "Reverse Order" checkmenuitem. From HIG->Menus->Designing a Menu->Grouping Menu Items: "Only place one type of menu item in each group command, mutable, check box or radio button"

About the "Minimal View", IMHO it don't belogn to its current group (toogle bar): maybe could be a good idea split in 2 radio items like

(*) Short List
( ) Detailed List
<<<sep>>>

x Toolbar
x Filter Bar
x Status Bar

Maybe this could help users to understard the option.

comment:5 in reply to: ↑ 4 Changed 13 years ago by LucaFerretti

Replying to LucaFerretti:

  1. Moving "Transmission|Close" to "View|Main Window" is inconsistent with other Gnome apps such as Rhythmbox. (also see ticket #611)

There is a long standing bug against Rhythmbox. I'll ping Rhythmbox developers about it: the bug was accepted, but I was never allowed to commit the patch.

Forgot to mention: GNOME HIG don't provide for this eventuality 'cause _status_ notification area should be used only for transient notifications:

Using the status notification area applications can notify the user of non-critical events (for example, arrival of new email, or a chat 'buddy' having logged on), and expose the status of active system processes (for example, a printing document, or a laptop's battery charging).

You could deceive this making transmission icon blink (and maybe show a libnofity notification) when a torrent download is completed and add in preferences a section like:

Notification Icon

(*) Show icon on torrent status change (download/seed)
( ) Always show the notification icon
( ) Never show the notification icon

This come from: Non-core programs for which a perpetual icon may be useful must default to not perpetually showing the icon. Users may select to enable a perpetual icon for the application as a preference.

comment:6 Changed 13 years ago by charles

Open -> Open... - trailing ellipses to show user further action is required, somewhere on GNOME HIG. Note that "..." shouldn't appear on toolbar buttons, so you have to define a new label for it (see Epiphany or Evince sources for details)

This has been checked in for the next post-string-freeze release (1.10)

Torrent could be reduntant in "Create New Torrent": it's yet under Torrent menu, and you can create only torrents (see HIG -> Menus -> Standard Menus -> Creation and Opening Operation)

This has been checked in for the next post-string-freeze release (1.10)

trailing ellipsses should be needed in New action too, 'cause users will have to specify data to torrent-ize.

This has been checked in for the next post-string-freeze release (1.10)

You should add a separator between radiomenuitems and "Reverse Order" checkmenuitem. From HIG->Menus->Designing a Menu->Grouping Menu Items: "Only place one type of menu item in each group command, mutable, check box or radio button"

This has been checked in for the next release (1.05)

About the "Minimal View", IMHO it don't belong to its current group (toggle bar)

This has been checked in for the next release (1.05)

comment:7 Changed 13 years ago by charles

  1. Moving "Transmission|Close" to "View|Main Window" is

inconsistent with other Gnome apps such as Rhythmbox. (also see ticket #611)

There is a long standing bug against Rhythmbox. I'll ping Rhythmbox developers about it: the bug was accepted, but I was never allowed to commit the patch.

HIG says (of course related to document bases applications) that File->Close should close the current document (see HIG -> Menus -> Standard Menus -> Closing Operations). Epiphany and Gedit are good examples of this.

That is an apples to oranges comparison. Rhythmbox and Transmission are intended to be left running, more-or-less unattended, over long periods of time.

What needs to happen, is the HIG needs to address this topic. Until then this isn't a valid topic for a "rework the menu to match the HIG" ticket.

comment:8 Changed 13 years ago by charles

  • Milestone changed from None Set to 1.05
  • Resolution set to fixed
  • Status changed from new to closed

This ticket has gotten pretty sprawling -- trac's not a very good place for discussing long lists of ideas back and forth like this. :)

I'm going to close this ticket because many of its suggestions have been adopted over the last 24 hours. Maybe this discussion should be moved to the Transmission forums instead...

comment:9 Changed 13 years ago by charles

trunk: r4911 1.0x: r4910

comment:10 Changed 11 years ago by sim

(deleted spam)

Last edited 11 years ago by charles (previous) (diff)
Note: See TracTickets for help on using tickets.