Page MenuHome

UI: About Blender Dialog
Needs ReviewPublic

Authored by Harley Acheson (harley) on Sat, Mar 14, 8:14 PM.

Details

Summary

This patch creates an "About Blender" popup dialog.

I find it very odd that we have a pulldown menu attached to the "blender" logo. I'm certain that we have many users who are unaware that there is a menu there at all, and have never seen the options on it. This proposal is mostly a means to (eventually) remove that menu.

Instead this adds a new item to the File Menu:

It brings up version details, links, and more information in a form that many users will consider standard and normal. Clicking outside the dialog, or hitting "esc", or clicking the button will close it.

Because this is a nice place to put complex version details, like hash etc, this means we can simplify the Splash screen so that it only contains the version string. That makes the version more prominent without the competing content, and also treats the splash image a little nicer by having less occluding text.

Diff Detail

Repository
rB Blender

Event Timeline

William Reynish (billreynish) requested changes to this revision.Sat, Mar 14, 9:34 PM

Overall, the idea of adding an About dialog seems alright. However, a few comments:

  • We generally don't use modal dialogs with 'Close' buttons, and this should be no exception. We could either dismiss it with a click, or provide an X in the corner to dismiss it.
  • This should be in the app menu, not Help. Removing the app menu is outside the scope of this, and the app menu was recently added on purpose
This revision now requires changes to proceed.Sat, Mar 14, 9:34 PM

I'm sorry William Reynish, but "About" dialogs are usually found in the Help menu of most applications. This is standard. Why it should be different in Blender?
If you're putting this under the "App" menu or elsewhere, I'd rather not have it at all, sincerely. It makes no sense.

I also agree with Harley. Most, if not every, application for both Windows and Linux that have a menu bar puts the "About" section in the Help menu.
If you are between those using those system, the vast majority of users (at least by looking at https://opendata.blender.org/) , it's very likely that you could only find that App menu by accident.

This should be in the app menu, not Help

We really don't have an "app" menu. An "app" menu is indeed something on a Mac, but that would be a menu called "Blender" on the menu bar at the top of the screen.

What we have is a hidden menu attached to a logo, which is not similar to anything else. Most people would not guess that there is anything there. So I agree with @Nelson (NAS) that putting anything new on the hidden (and silly) logo menu would be less than useless. For the vast vast VAST majority of our users an "about" dialog is something they would look for on the "Help" menu.

the app menu was recently added on purpose

Maybe, but it is failing at whatever that purpose was.

or provide an X in the corner to dismiss it.

That would be unlike everything else in Blender now so would be completely inconsistent.

Mac users aren't going to look in Help for the about but it is correct to put it there for Windows/Linux, Another big difference for the Mac is normally the menus are not in the application window, there is in fact a 'proper' Blender menu in the macOS Menu bar and it does have About in it

which shows this

I'm guessing its way out of scope to use this window for About on the Mac?

In Blender we currently have an app menu - the discussion of whether we should have this or not is outside the scope of this patch. For as long as these kinds of UI elements in Blender are common among all our OS's, we don't adhere strictly to one particular OS paradigm, like Microsoft Windows. That could change in the future, to fit better with each OS, so the Mac could use the native menu bar, but again, that's outside the scope of this patch.

If this patch is to be accepted, it must fit in with the current Blender paradigm, where we place app-items in the app menu.

As for the 'Close' button, I think we should just make it so clicking outside the About window would close it, similar to the current save prompt.

If this patch is to be accepted, it must fit in with the current Blender paradigm, where we place app-items in the app menu.

Accepting this patch, yet putting it in a hidden, unknown, undiscoverable place is no different from not accepting it. Either way it would not be seen or used.

Why not just put in on your hidden menu for Mac users so they won’t ever see it, but on the Help menu for the 85% of users who expect it there? That seems the best of both worlds: where it is supposed to be for almost all us, yet hidden from Mac users.

As for the 'Close' button, I think we should just make it so clicking outside the About window would close it, similar to the current save prompt.

Quoting myself in the main post above: “Clicking outside the dialog, or hitting "esc", or clicking the button will close it”. So it does that already. Or are you saying to just remove the “Close” button? I just don’t like the having any user in a situation where they are not sure how to proceed.

If this patch is to be accepted, it must fit in with the current Blender paradigm, where we place app-items in the app menu.

Accepting this patch, yet putting it in a hidden, unknown, undiscoverable place is no different from not accepting it. Either way it would not be seen or used.

Whether to have the app menu or not is really a separate discussion. I get that you don't like it, but it's not for this patch to change that. Personally I would be fine if we could support the native macOS menu bar on Mac, and then do other changes for Windows, so it fits better on each platform, but that is a larger task.

are you saying to just remove the “Close” button? I just don’t like the having any user in a situation where they are not sure how to proceed.

It's no different from the splash screen. Ideally I think we could add a small X in the corner of both this window and the splash screen. Something like this:

But, since that would be nice to do for both, it could be handled separately.

Now adds this new "About" item to the "App" menu if the platform is Mac, and on "Help" menu if not.

Also removes the "Close" button and adds an "X" to top-right. As before it still closes if you click outside the dialog.

William Reynish (billreynish) requested changes to this revision.Sun, Mar 15, 8:05 PM

Looks alright, but you must place this in the app menu. This is what it's for. Help is for getting help, and the app menu if or information about the app.

Separately, you can start a discussion or design doc about moving all things around to fit in with the Windows, Mac & Linux platform guidelines, and you could do a proposal to remove the app menu. But. this is a bigger topic and may require us to do things like support the native Mac menu bar, but is should not be mixed into this patch. Assume for now that the app menu stays and that this should go there.

This revision now requires changes to proceed.Sun, Mar 15, 8:05 PM
Brecht Van Lommel (brecht) added inline comments.
source/blender/windowmanager/intern/wm_splash_screen.c
128–130

It's LTS, not TLS. But leave this out of the patch, these types of changes should be done carefully throughout the entire infrastructure.

@Brecht Van Lommel (brecht) - But leave this out of the patch, these types of changes should be done carefully throughout the entire infrastructure

Yes, was in there accidentally. Fixed.

Some changes that @William Reynish (billreynish) wanted to look at.

Changes to the Splash screen so that it also has "close" button at top-right. Moved the (simple) version string to top-left. The dialog now closes with the top "X" or if clicking anywhere outside the dialog. In this patch it does not close by clicking on the splash image itself.

Update to current state of master.

  • Would rather keep splash as-is to avoid unrelated discussions in patch review - since there are some opinionated changes here.
  • Don't think the large Blender logo is helpful/necessary.
  • URL's are OK but also available elsewhere, no strong opinion but don't think it's especially handy.
  • We could have the ability "Save System Info" here. Otherwise people are likely to screenshots of the "About" screen and attach it to bug reports, instead of the system info which is more useful to us.

  • Doesn't account for WITH_BUILDINFO=OFF

This gives build errors on Linux:

/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c: In function ‘wm_block_create_splash’:
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:225:35: error: passing argument 2 of ‘get_version_string’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  225 |   get_version_string(version_buf, "", sizeof(version_buf));
      |                                   ^~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:82:49: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | static void get_version_string(char *ver, char *prepend, int max_length)
      |                                           ~~~~~~^~~~~~~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:194:10: warning: variable ‘but’ set but not used [-Wunused-but-set-variable]
  194 |   uiBut *but;
      |          ^~~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c: In function ‘wm_block_create_about’:
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:265:20: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  265 |   uiStyle *style = UI_style_get_dpi();
      |                    ^~~~~~~~~~~~~~~~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:311:31: error: passing argument 2 of ‘get_version_string’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  311 |   get_version_string(str_buf, "Version: ", sizeof(str_buf));
      |                               ^~~~~~~~~~~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:82:49: note: expected ‘char *’ but argument is of type ‘const char *’
   82 | static void get_version_string(char *ver, char *prepend, int max_length)
      |                                           ~~~~~~^~~~~~~
/src/blender/source/blender/windowmanager/intern/wm_splash_screen.c:269:24: warning: unused variable ‘build_commit_timestamp’ [-Wunused-variable]
  269 |   extern unsigned long build_commit_timestamp;
      |                        ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
release/scripts/startup/bl_operators/wm.py
2572–2580

Wouldn't bother having URL's here - we have URL's in help, and in the existing about menu.

Campbell Barton (campbellbarton) requested changes to this revision.Mon, Mar 16, 1:34 AM
This revision now requires changes to proceed.Mon, Mar 16, 1:34 AM

Updated to address some issues brought up by @Campbell Barton (campbellbarton):

  • Now accounting for WITH_BUILDINFO=OFF
  • Added const qualifiers to quieten warnings

Don't think the large Blender logo is helpful/necessary

It is, admittedly, only there as a pretty thing. A humanizing touch that is generally expected and found in most software. Generally considered a "we are proud of our work" kind of message and so usually care is taken to make it look nice.

We could have the ability "Save System Info" here

That is probably a good idea. I have grabbed an assortment of links from the "App" menu and didn't want to remove or duplicate any from elsewhere. But those could obviously all change just by editing the menu in the py file.

Wouldn't bother having URL's here - we have URL's in help, and in the existing about menu.

Actually none of the URLs shown are in the Help menu. All are moved from the "App" menu so there should be no duplication. Not that I mind duplication per say, but the current patch should result in no duplication.

Really not keen on platform-specific menu locations, it complicates documentation since you can't reference a menu's location in a straightforward statement. We have an "About" menu, why not add the about-popup there?

More generally. I would like to be able to accept small improvements without opening up bigger topics.

These patches take time to review & discuss and I would rather postpone topics such as adding window-control-buttons or customizing menu locations based on the platform, when there is time for it.

Harley Acheson (harley) abandoned this revision.EditedMon, Mar 16, 7:57 PM

@Campbell Barton (campbellbarton) - Really not keen on platform-specific menu locations, it complicates documentation since you can't reference a menu's location in a straightforward statement.

I find it far more important that menu items be where users expect them to be. If that means making per-platform changes then that is only a service to the user.

We have an "About" menu, why not add the about-popup there?

Because it is a menu that many of our users are unaware of. And where a vast majority of our users would not expect to find an "About" item. Having the About screen on that hidden "logo" menu, and removing the logo image and also removing the links, would remove any use for the About screen at all. It not only wouldn't contain anything useful it wouldn't be found by users anyway.

More generally. I would like to be able to accept small improvements without opening up bigger topics.

True enough. We can always revisit this one day when there is more time to discuss these larger related issues.

@Harley Acheson (harley) I don't think in this case you need to abandon this, simply because the patch needs to be split up.

Everything can be committed, except the Help menu thing. This allows us to clean up the splash screen and make other improvements, which are valuable regardless or which menu this lives in.

Yes, sounds like we have a plan. Will have an update soon.

A bit simpler and much less contentious:

  • About dialog added to the "App" menu only for now.
  • About closed by clicking outside the dialog.
  • No per-platform differences.
  • No new "close" widget experiments.

About Dialog looking like the following:

App menu gets simplified to just three items:

And the only change to the Splash dialog is that it shows only the friendly version string:

Great. This change allows us to simplify the splash screen and to make a nicer About dialog.

We can separately look at some of the other things discussed here, but this seems fine to me.

  • About dialog added to the "App" menu

Really?
But this is totally non-standard and makes no sense. No one will ever look for the about dialog there. Oh well 😞

@Yevgeny Makarov (jenkm) Your top one is quite neat, although the use of the full Blender logo and text means we would have to include this graphic. @Harley Acheson (harley) made clever use of the blender icon resource without needing to add a special graphic.

Adding the splash screen graphic also seems superfluous since it's already, well, in the splash screen.

A variation could be something like this:

Although TBH then at this point @Harley Acheson (harley)'s layout seems just as good probably.

In alert_icons.png the last icon can be a full logo. This way we can use both the full logo and only the symbol if necessary.

I think the monochrome logo looks better and will work better with different themes.

The idea with a splash screen is not to create a separate dialog, but to use an existing one. Only replace the content. Just like we show the "Quick Setup" on the first launch.

Can I suggest, and this is pure eye candy, that the Blender Logo is an animated Gif that shows off something that has been introduced or improved in this version.

Possibly an animation of the Blender Logo in the style of a Fluid Sim?