Page MenuHome

Move application actions from file menu to a new app menu
AbandonedPublic

Authored by Campbell Barton (campbellbarton) on May 14 2019, 4:50 AM.

Details

Summary

This is a small patch that makes the blend icon (to the left of file menu),
into an application level menu, freeing room in the file menu.

Motivation

  • The splash screen isn't especially useful as a top-level action for a prominent location.
  • The file menu is getting full of actions unrelated to the current file.

(suggested by @Pablo Vazquez (pablovazquez)).

Pros

  • Fewer items in file menu (which operate on the file).
  • Most application actions are not things you use frequently, so having in a separate menu keeps them out of the way.
  • Follows conventions from macos and some linux applications.

Cons

  • Less discoverable (while arguable), existing users have learned to mostly ignore this icon since it only opens the splash.
  • It's unconventional (also arguable) nevertheless, many applications use the file menu to include non-file related actions.

Diff Detail

Repository
rB Blender
Branch
TEMP-APP-MENU (branched from master)
Build Status
Buildable 3578
Build 3578: arc lint + arc unit

Event Timeline

Personally I don't think this is an improvement, it's hard to discover you can click the icon, and quite non-standard.

I guess it is a bit like macOS menus, where you would have a "Blender" menu with application level things. Still as an icon it's weird to me.

It seems like this emulates the Mac a bit, where there's a difference between:

  • App menu - general app stuff like About, Preferences, Quit etc
  • File menu - things that actually relate to files, ie Open, Save, Import, Export etc

Taking Final Cut Pro as an example:

App menu:

File menu:

I have no strong opinion on it, but I can see why this makes some sense, and it doesn't take up any extra space.

If it was called "Blender" or "App" or something like that, it would ok with me. Just the icon is strange, it's not how any platform works and it's not obvious you can click it to find important functionality.

Personally I don't think this is an improvement, it's hard to discover you can click the icon, and quite non-standard.

Unlike the current state it highlights like a menu making it more discoverable.
On macos the "apple" icon is a menu so there is a precedent for this.

Alternatively we could use the "hamburger" icon which is becoming more commonly accepted as a menu in applications.

It seems like this emulates the Mac a bit, where there's a difference between:

  • App menu - general app stuff like About, Preferences, Quit etc
  • File menu - things that actually relate to files, ie Open, Save, Import, Export etc

This convention is used by Gnome on Linux too.

If it was called "Blender" or "App" or something like that, it would ok with me. Just the icon is strange, it's not how any platform works and it's not obvious you can click it to find important functionality.

The intention (AFAIK) was to make use of existing space, using text makes it use more which is a shame.

This adds yet another type of interface on that one line, and it is already a mishmash of styles

we could use the "hamburger" icon which is commonly accepted as a menu in applications.

We generally only use those in place of menu or navigation bar. To take the place of such when in a collapsed state. So either an expanded menu or a hamburger menu but not both at once. If it is to represent "More" options we'd put that to the right and use an ellipsis instead (sometimes horizontal, sometimes vertical).

It we are really running out of space on the menus the first thing to do is see if we can combine and collapse some. After that we might need to add a "Settings" menu.

I think it's fine to add a menu called 'Blender' here.

We could then get rid of the Blender icon from the menu bar. Even though it's cute it doesn't serve an important function.

But also I think using the Blender icon as this patch is not so bad - since it's in the menu bar it seems clickable.

Please don't. This is not a standard thing. It's pretty much just hiding important functions with no real benefit, imho.

IMHO this is unnecessary, Quit and Preferences should stay in File/Edit menus, these are the standard on every "windows" program, which the majority of current and future blender users know.....and the double blender icons in the titlebar/menubar will not make it easy to discover, acutally i would remove the menubar icon completely since the splashscreen already exists in the help menu but if you guys go with this then i agree to change it to "hamburger" icon or 3 dots or just text..cheers.

This solves a number of issues:

File Menu


The current File menu is loaded with settings that don't belong there (like Load Factory Startup, Install Application Template, etc).

Help Menu


The Help menu contains items unrelated to help like Credits or Splash Screen. We could add handy links like the tutorials section in blender org, Fundamentals, Cloud stuff or a handy list of shortcuts, but because we have too many entries we don't add them.

Plus:

  • Important links like Development Fund, Store or Donate go unnoticed, some could be grouped in a sub-menu but would fit better the Blender menu than Help.
  • Preferences are actually Blender preferences, they are not related to the current project, so moving them from Edit to the Blender menu makes sense.

We could then get rid of the Blender icon from the menu bar. Even though it's cute it doesn't serve an important function.

I wouldn't remove it, at worst I'd have both logo + Blender. But I think the icon is nice there.

But also I think using the Blender icon as this patch is not so bad - since it's in the menu bar it seems clickable.

Yes, I tried it myself and it doesn't feel out of place because on hover it reacts like any other menu and it's surrounded by menus. Many apps do it on Linux, Final Cut like on your screenshot or DaVinci Resolve also has this kind of menu.

For people coming from 2.7 this is one of many changes since they are used to see the Info icon there anyway. An app menu will help to keep the File menu more focused on actual file/IO operations, clear items from the Edit + Help menus, and organize everything a bit better.

I think it's fine to add a menu called 'Blender' here.

As a last resort. Faced with a menu marked "Blender" I don't think many people would guess what would be on it. "Settings" might work as that would fit some overflow from the File menu along with Preferences.

Another idea is to collapse four particular items:

The file you would ever "Revert" should also be on the "Recent" list. Similarly when you are wanting to "Recover Last Session" then you are also looking in the Recent list to see if it contains your lost file. Same with Recover AutoSave.

Therefore you could have one "Open Recent" item that opens to "Revert", "Recover Last Session", "Recover AutoSave", then a separator, then the list of recent files.

Campbell Barton (campbellbarton) edited the summary of this revision. (Show Details)
Campbell Barton (campbellbarton) abandoned this revision.EditedMay 15 2019, 1:26 PM

We had a meeting and agreed to try this:

Committed rB4965af1b7aa60466f6f8842a6f77a0d9b2cb72ac

This solves a number of issues:

Except that those issues are non-existent. What you're doing there is just an extra layer of complexity and it's not standard at all.
A quick scan on other apps to see where similar settings are located would be helpful to see how weird this change is.

Regarding the "standardness" of this, I would like to point out that at least Davinci resolve has a menu similar to this, it reads "DaVinci Resolve" and has options such as Preferences, keyboard customization, etc.

Zino Guerr (Zino) added a comment.EditedMay 15 2019, 3:35 PM

i think devs being on mac/linux can't see that this breaks convention, here i have compiled a few examples of other softwares and as you can see they follow a certain convetion even if they are different heck even MS-Paint with no so many option has that..i think this shouldn't not be thrown out of the window.

I'm late to the party, but as platform dev it would have been nice to have been included in this conversation that was had, on one hand, we put the new exit dialog on hold cause it doesn't follow the platform guidance well enough, (not disagreeing there, it's the right thing to do) and on the other hand we move *super* common things like File->Quit (Should have been Exit, but that's currently not a hill I have any interest dying on) and Edit->Preferences to a spot where no single windows user will ever look.

Let me be blunt here: I *STRONGLY* oppose these changes, they are unintuitive and should never have been done, and I wish mercy on the poor soul that we pay to staff the tracker in the next few days.

[Edit after some reflection]

While I do think we should strive to have identical UI across all platforms, There are exceptions where we should follow platforms standards to get the most of the muscle memory out of our users where possible.

This and the exit dialog are both good candidates for this exception.

If having a bunch of stuff under the app menu is a thing on mac, perfectly acceptable to me, go have it, but don't force this onto other platforms. Users don't know what it is, won't click on it, and even when they do muscle memory will still have them go to File for Ex.. uhh i mean Quit.

So I'm not looking to revert these changes, we should probably just do what the users on a platform expect. if Quit is under the app menu commonly on mac, put it there, but put it under File on windows.

Yes, I tried it myself and it doesn't feel out of place because on hover it reacts like any other menu and it's surrounded by menus. Many apps do it on Linux

This might be common for linux apps, but not on Windows.
On Windows with 2.79 we didn't have the Blender Icon in the menu bar, only in the title bar were the common windows entries are (close, move, maximize etc). To be honest: today was the first time ever I clicked that icon. You may think: yeah, stupid user, but it wouldn't have made a difference if I had clicked it in one of the older 2.8 betas, because it would have only opened the splash screen. At that point I would have erased that from my mind. Unimportant, only opens the splash screen. Waste of time, so I would have never clicked it again.

Then I downloaded the version last night, and it didn't even came to my mind to click the Blender icon, or even hover over it. Why should I? On Windows we are used to menus with text as the name. I searched through the menus (the ones with text) and couldn't find the Preferences. Next step was a bug ticket, and obviously I wasn't the only user who reported a bug., Only to find out today: It is not a bug, it is a feature.

I totally agree with the additional menu to clean up other menus., Although you maybe should consider the entries. For example: what is the difference between "Load Factory Settings" and "Load Factory Settings(Temporary)"? Might be clear for a Dev, for a user (or at least me) it isn't.

Please give that new menu a name, e.g. "Blender", but please don't use the icon. This is so against all standards on Windows.

You have worked so hard to get Blender to a point, where we have standards, which a new user also can understand, so Blender will be used by more people, and hopefully studios.
But with the icon you are going against the standards. Please at least consider giving the menu a name and not this Icon.

And I agree with other users: Quit/Exit should stay in the file menu on Windows. That's where windows users are looking for.

Quit goes to File
Preferences goes to Edit
Splash screen goes to Help (preferably renamed to About)

Problem solved.

I'm a Windows user, but after the initial "What the heck" reaction, I didn't mind it being an icon and having those Mac-like way of doing things, since an icon is small and distinguished.
Of course, the problem is users may not understand it to be a button, and it's a highly non-standard behavior on Windows.

However, I noticed in today's build (03672e77836d), it's a new menu item "Blender" in front of "File".

This takes up more a bit more screen estate than a simple icon, in front of the "File" menu, and I'm not a fan of it.

I think it would be best to:

  1. For practical purposes, get rid of the "Blender" menu and reabsorb the menu items back to where they were, keeping it consistent to other programs. A bit of clutter under "File" is perfectly fine in a production software. And computer users have learned to expect "Quit" under "File", "Preferences" under "Edit", "About" under "Help".
  2. Keep "Blender" as a menu option, BUT move it over to the end or before "Help". In this case, still return "Preferences" under "Edit", and "Quit" under "File". I'd also vote to just expand the "About" and "Support". They're not too many items and I'd rather just see them in one go. Either that, or just create a simple popup window like Krita and have the "About" and "Support" info all in there.