I want to talk a bit about blender's UI design philosophy and why I think it hurts its adoption. Just as right now, the memes are Flow-ing about people opening up blender again for the hundredth time with intent to learn it, and giving up soon after.
A
#blender3d #b3d thread 👇
Blender's UI-UX pattern is basically "data accessibility". Like a thin CRUD layer above its internal data structure. Is that a surprise that it has a "spreadsheet" view, or that it's possible to literally view the data structure in its outliner?
A different way would be to focus on the user intent.
Mar 4, 2025 19:44There are many examples of that, a very good one is the property window, and all its tabs. What do you "want" to do when you open the materials tab, the object tab, the constraints or modifier tabs?
Usually, you want to *access* materials, object properties, constraints etc. Maybe create new ones?
But besides basic CRUD, there is no user intent more defined. And because something exists in the data, blender will present it.
A great example of this is the materials slots. Why do you need to create slots before linking a material? Why is it possible to have empty slots in this list?
The only reason (that I can see, at least) is that this layer of data just exists, so it is displayed to the user. User intent doesn't really matter here.
This is also a consequence of the way UI is coded, as lists from the data model are just passed to those widgets directly.
This poses a problem : unless you already know the data model, and where everything "lives", you have no way of orienting yourself based on your own intent alone. You need to translate that intent into a knowledge of which parts of the data you actually want to interact with.
This of course is unavailable to newcomers, and also creates a second problem: related actions (in terms of user intent/workflow) can end up far from each other, or even without a logical place for the action to be represented.
After all, workflow doesn't fit neatly inside a data model.
This is where addons come in: most of them are the opposite, because this is the gap they need to fill. They offer workflows, shortcuts to navigate the data and interact with multiple levels at once, creating modifiers and setting them correctly for example, while changing ui settings etc.
The next problem is that addons do not follow a unified workflow/UX language, they are 3rd party. Each new addon is a new paradigm to learn.
And addons are given so much range to do so that they will often conflict, clutter the spaces, and get in each other's way (from shortcuts, to panels etc)
The structure of the addon possibilities also makes it near impossible to use default patterns, in terms of operator behavior (modals frequently check hard coded key strokes for ex..) or ui patterns, which don't use higher level abstractions but only define widgets to populate them directly.
All this to say, isn't there a discussion to be had about what is a good workflow that would represent the way for blender to do things? And implement ways to make sure it's easy to conform to it? This discussion really needs to happen in order for people to join blender more easily.