Lately we’ve seen some Mac-specific UI changes introduced. And I don’t necessarily mind that but I would prefer it to be more purposeful rather than haphazard. I think we should consider allowing per-platform variations.
I realize we have tried to make Blender appear consistent across platforms but I don’t think that we need to be so strict about this. For almost every other application that is available on multiple platforms the app will look and feel in a way that is more comfortable for that platform. The mac version will look and operate like a mac program and the windows version will look and operate like a windows app.
We want Blender to remain Blender, but it doesn’t have to seem like a unique silo to itself. You can use Photoshop on Mac and then use the Windows version and not be confused. In fact it is made better by adapting to the differences in the platform.
The second is the File Browser. When I want to just open a file or just save a PNG, again, I expect to see the standard OS dialog, a small window rather than a huge full screen editor, it is not necessary if I just need to open the file.
Even when you need a lot of settings, for example when exporting, it is more common to use the standard OS dialog to select files, just as it is done in most other programs. And use advanced file browser only when needed, or as a separate tool.
I don’t mind using standard contextual menus, pull-down list, as you can see in T62309 (Make enum menus nicer) it’s a common practice. Just do not try to simulate the behavior, but use the operating system API.
We should integrate better into the platforms we support, in places where it makes sense.
On the Mac, supporting the native menu bar is one of those things. On Windows, integrating the top bar with the window chrome is another. Also, making sure dragging workspace tabs to spawn new windows works as well as a web browser. Those kinds of things.
However, there are cases where we likely purposefully won’t use native controls:
There are good reasons for keeping the custom file browser and not using platform-native ones. For example, we currently can embed the File Browser as an editor, and we can use it to browse inside .blend files when linking or appending. These kinds of things would be very hard or impossible if we used a native file browser.
That said, the File Browser could use quite a lot of work to make it nicer: Currently the layout and interaction is messy and clumsy, and feels woefully out of date. We can even move the order of the cancel and action buttons to follow OS conventions.
All of Blender’s UI controls - the number fields, the buttons, the menus etc, are custom. Many pro apps actually often do use some kind of custom controls. In theory we could make a special case for the contextual menu, to use platform-native API’s, but it would probably be a surprisingly big effort for little to no gain.
my opinion is ■■■■ the platforms,
make that blender is the platform on the platforms! and remain the same on all platforms, it’s a logical reason …
I will always use blender, whatever the platform, because as it turns me, one day I use linux, one day windows, one day osx, and one day something else … here … I will know that whatever the platform is, blender will always be identical …
and then, why complicate your life on the developing tripling the work with differentiations?
in this case I would launch blender in “full screen” with custom resize and close buttons … same thing for other platforms …
The obvious answer of course, is that the vast majority of Blender users use only one operating system, so there is advantage for them that it more seamlessly look and act like programs they are used to. And this is something that every other cross-platform program does.
If you were to go between Photoshop for Mac and Photoshop for PC you really would not be lost. And everyone using Photoshop on their respective platforms gets the advantage of the prior experience with other applications on the same platform.
the question is that when I get used to the use of shortcuts and other methods of use in
“blender away” …
I’m embarrassed if the program behaves differently from one platform to another …
my mind is set like this: I associate a usage behavior with an application and I store things with respect to that application …
if for example I go from blender to photoshop, I know they work differently …
but if I go from blender to blender from platform to platform … I would find it more convenient that they work in the same way in every platform … especially for those almost instinctive moves … like saving often and other similar things …
the thing that I would not like, is not being uncomfortable as if I were in a new application when I changed the platform … certainly these are little things, but in this I think I’m a bit fanatic
I believe this is also the reason why I prefer the blender ui, while recognizing that it can still be improved in many aspects, compared to all the other ui of all other opensource and closed source applications …
for example if blender was based on GTK or QT, or even on windows ui … I don’t think I’d appreciate it the same way I appreciate it now …
same reason because even though using them, I never particularly loved inkscape or gimp or krita
Shortcuts already vary by operating system, for very good reason. Shortcuts that use Ctrl on PC will now be “Command” on Mac, and that is not a difference of name, as this is the mac version of the “Windows” key. Macs have a Ctrl key but generally don’t use it as much as Windows users. Just as PC users don’t use the Win key for much.
But nobody would argue to make Blender work radically different. It would still be Blender even if there is a “Blender” menu on Mac that includes “About Blender” and “Quit Blender” while the PC version has “Exit” on the File menu and “About…” on the Help Menu. Or if it could automatically use some of the theme colors you have explicitly selected for all your other apps. If the menus were drawn slightly differently you wouldn’t lost. Nor would you get confused if some of the warnings, error messages, and confirmations were OS-supplied rather than the wonky ones we have now.
You can argue that Blender should look like Blender everywhere (my choice!) or that Blender should look like a native app or that Blender should look like Microsoft Word because that is the most popular app.
But one thing you are ignoring is the development costs of porting and maintaining the UI using each platform’s native widget set. Keeping 3 versions of the UI in sync and debugged is 3 times the work. Not only that, but you need someone who knows platform UI coding. A large company can easily afford the cost of attracting UI developers for their supported platforms. We have enough trouble getting someone who can maintain the Mac builds.
Nobody has argued that Blender should look like Word. Although interesting that you didn’t say for which OS since Word is available on multiple platforms yet uses the conventions of the platform it is running on.
Nor has anyone said anything about using each platform native widget set. Nor is that even possible. Nor is anyone talking about doing anything that would take “3 times the work”.
But there are conventions of each operating system that are sometimes at odds with each other so there are only two possible solutions: adopt the convention of one so that it feels odd for everyone else, or make it more comfortable for everyone.
By the way, about the linking or appending of data-blocks from .blend files.
Data-blocks are not files and it is not quite correct to show them as files in the file-browser. Also for example you can’t link/append data-blocks from different folders at once, you have to repeat the steps.
So it would be better to show data-blocks in the form of a collapsible list with checkboxes.
I think, for a long time, we have to stay with same user experience for any os. By doing so, it’s easy to developer & user to maker better software by testing and feedback. I think it’s not a major prob for different os. Rather we should focus on core functionally of the software. Better common UI is very need but platform specific is time consuming. We have to take this in minde but current many important implementation are required…