2.8: Optimizing Workflows
Closed, ResolvedPublic


2.8: Optimizing Workflows


The main goal of the Blender 2.8 project is to improve workflow support, this invokes optimizing workflows. Optimized workflows can greatly increase efficiency, which again results in an improved user experience.

Possible Solutions

A common way to optimize workflows is using task oriented environments. Such tasks can be modelling, retopology, animation, VFX, game creation, ... In a task oriented environment, access to relevant tools and options is facilitated, optionally while hiding irrelevant ones.

I can think of these 3 approaches:

  • Context Sensitivity- Context sensitivity can be one solution to optimized workflows, however software history tells us that context sensitivity almost never works in a user satisfying way.
  • Modes - More reliable than context sensitivity are modes, which can be easily changed on user's desire. We simply put it into the user's hands to select the right state for the task he's trying to accomplish, he's smarter than Blender anyway ;) The issue with modes is that they are not entirely error free, in fact they can easily become dangerous if not designed/implemented thoughtfully. Mode errors appear when the user tries to invoke a function by an action (pressing shortcut, clicking button, ...), but a different function is invoked, or even nothing at all, because of the different behavior of the current mode. To solve that, the currently active mode has to be clearly communicated to the user and the individual modes have to be fundamentally different so that it's easy for the user to memorize the differences.
  • Presets - By selecting a preset, options and interface are automatically set based on a pre-configured state. Current screen layouts are an example for this. They are simple and don't suffer from mode errors. They are pretty primitive though and changing to a different preset might override previously set options. A nice way to solve this has to be found, e.g. by storing the previous state when changing and allowing to toggle back, or by not changing values that have been modified by the users before (which is not always wanted either).

Open Questions

  • Which is the most attractive solution for optimizing workflows in Blender?
  • How could the mentioned issues be solved in practice?
  • How would an actual integration into Blender look?
  • How would the viewport work with this? (Could become a separate task, but should be considered in the decisions.)



Related Objects

Julian Eisel (Severin) updated the task description. (Show Details)
Julian Eisel (Severin) raised the priority of this task from to Normal.
Julian Eisel (Severin) set Type to Design.

I think it is important to have all three. One bad thing currently is that there is not enough Context Sensitivity in some places. For example, there are several game engine tools available even though you are not in the game engine.

Before organizing Blender in task oriented environments, I think it is worth trying other modes of organization.
In this Mockup I simply added a tool shelf in property editor and I have removed it from 3D view tools panel, this way brush properties goes with other properties, such as texture properties, multiresolution deformer...
I added three slots for active pinzeles, the second and third is accessed by pressing Shift or Alt. All slots are modifiable. Ctrl inverts brush function same way it does now.
Perhaps with more slots we could assign more keyboard combinations.

In Object mode and Edit mode, the slots could be filled with transformation and selection tools. I can't do another mockup now. The proportional transformations, doble side selection, snaps and other properties should be located there.

At risk of opening a lengthy discussion, I think it might be worth stepping back for and asking what do we want to enable the artist to do?

For example, are we trying to enable them to define their own workflow tasks? Are we trying to provide an out-of-the-box solution to the most common workflows? Or are we simply setting a basic foundation for the artists to work with?

It seems to the goal needs to be weighted more towards the first option, of enabling artists to define their own workflows. This fits within Blender's design of being mostly agnostic towards specific workflow methods.

In order to take action, though, I think it's important that we identify more specific (even broadly specific) weaknesses. For example, here's a couple workflow weaknesses that could be addressed in 2.8:

  • Ability for artists to customize tool workflows through a combination of modes and macros, without python scripting (e.g. ability to define a Retopology setup within Edit Mode, stemming from this discussion)
  • Make the relationship between tools and relevant settings more clear, particularly those that're specific to an individual tool (e.g. new Curve Draw settings)

The latter of these two are impacted by the context and/or modes they're presented in, but not very clearly. The tool/settings relationship in particular is often very murky.

These types of problems can then help provide some context for an end goal.

Thinking in your words Jonathan Williamson, I have thought maybe would be a good idea split key comands in "key shortcuts" and "mouse shortcuts". This way would be more visual to see how user interacts with modes (and tools?), and change the behaviour if neeted.
As I have said in other thread, in my opinion spaceBar should be in this table too.
As we can see in this table there is a lot of empy space.

@Albert (wevon) I'm not quite sure how filling open combinations on the keyboard+mouse specifically applies to this discussion, much more applicable to T37417, but either way we should be careful about just filling all the "empty space". Doing so greatly restricts artists ability to customize hotkeys to their liking.

Albert (wevon) added a comment.EditedApr 26 2016, 9:55 PM

I see a relation of this last post with the firt one, where there was some slots for tools. Instead of calling directly a tool I suggest to call a slot, more or less like Zbrush does.
I think it's something more than a key configuration.
(Context Sensitivity + Modes + Presets)

I have thought to put the slots on top of tools menu, and add more slots, and add edit mode version, but ... forget it. It has a conflict with modal tool options, and becomes too confused.
Most of the time we need to configure the tools and not replace them, although the slots could be filled with presets, it's too crazy.
Maybe a good representation and easy configuration of mouse shortcuts it's enough.
Thanks for your attention, Zbrush possessed me.

@Julian Eisel (Severin) I believe Blender have most the work there but it is just scattered all over the place.

To speed up user workflow we need to know what a standard user workflow for a given task. Let's say modeling what the user need at hand to start working and when he is working what he need? I m thinking about it in traditional art mind set. When I'm painting i put my table, color palette, mixture, board, light environment , ... I have those tools in given place let say color palette are somewhere i can easily reach when needed and the light is somewhere fixed and will change position just when testing shadow and so on.

In Blender we almost have that already with screen layout which is poorly implement. The big advantage that we can take from screen layout is to make it possible to communicate with property panel and rearrange the property panel so it can be workflow oriented as well. So when one choose a preset screen layout he will have given workflow property panel open and find all his needed tools there and yes all this can be customized :)

In the real world we have enough space to put our tools but CG we have only our screen, many people usual work on full screen mode (Matthieu, Sebastian, pixar gyus, me, and so on ) When starting to work user doesn't need to see all other button, here the T-panel and the N-panel can to be handy if we are able to customized those 2 workflow-oriented it will be great. So user doesn't have to see transform tab in the T-panel when sculpting because sculptor don't need it when in sculpt mode.

What do you thinking?

Photoshop makes toolset panels that can be docked or torn off and moved around with simple drag and drop.

  • If you drag a panel to an edge, they'll snap to that edge like a toolbar.
  • If you drag a panel over another panel, it will turn them into overlapping tabs.
  • If you drag a panel to an upper or lower edge of a panel, it will wedge the panel into that space.
  • If you drag them out into the open, they become a free floating panel.

If you had something like this, you'd select your mode and it would load your last layout. From menus you could select panels appropriate to that mode that you want visible. When a panel becomes visible it is populated to its last known location and made active. The user could then move, snap, overlay or free float that panel however they want. You could add options to save/load these mode layouts.
For example a modeler might create several layouts related to the modeling mode: Modeling - sculpting, Modeling - Polyflow, Modeling - UV/Texture

I agree with @Jonathan Williamson (carter2422). There are lots of suggestions, but what in Blender needs/are we improving? What does an artist need to be able to do better? And how much better? What constitutes sufficient improvement?

Adding up all of the suggestions might not constitute an improvement to Blender workflow. I'd suggest doing the basics first, and yes, that will probably be a lengthy discussion.

Here's a first stab at "the basics" in order to start discussion.

The slides try to detail 'workflow' how it ties into UI. I tried to compare the current Blender UI to that and added a few examples for discussion.

I searched for Blender UI design documents but couldn't find any, so I apologize if it the slides are heavy on working things out from first principles.

Julian Eisel (Severin) moved this task from OpenGL to Backlog on the BF Blender: 2.8 board.
Julian Eisel (Severin) moved this task from Backlog to UI/Workflow on the BF Blender: 2.8 board.

@Jonathan Williamson (carter2422) Has research been done before? Maybe it'd be an idea to setup a survey or some interviews to gain quantitive information about how professionals use their software and why. It might give some insights in to what interface features they like (in general in software) and why as well.

Personally, I rarely use layouts - neither in Blender nor Adobe products. But that might be because I'm mostly self-thought. I often customize my default layout to the way I like it so that my most used features are the most readily accessible. This feature set is rarely large enough to justify multiple layouts, because whenever I need less frequently used features I just bring up the tools needed temporarily for as long as I need to work with that feature and when I'm done, I push them back down.

Granted, Blender is a whole other beast because of the scale of it's functionality. But Blender is not about Blender, is it? It's about it's users. What I wonder, is how many singular users actually use Blender's complete functionality for projects and how many specialize in parts of it, and then might pass the files along to a colleague that specializes in other parts of the program. If the latter is more common, then maybe we need to focus more on quick accessibility of hidden tools, than on defining workflows and modes for them.

In any case I already believe Blender to be an amazing tool and I can see that development has been steering in the right direction for a while now.

Hey, this is an old task, pretty much forgot about it :S
With Blender 2.8 we plan to introduce a new 'workspace' concept, combined with a new template system. See https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup#Workspaces. Basically, workspaces are there for users to organize the UI for different tasks they are doing, templates for the different kinds of users or the different contexts they use Blender in.
Everything in that document is somehow related to workflows, but workspaces & templates are the most important ones for this task.

So after all, we pretty much have the answers I was trying to find with this task. So time to close it. Thanks all!

@Rob van Wees (rvanwees) looking at your slides again, it's interesting to see that we have a really similar take on things :) It's a shame that I've forgotten about it. Although I'd say what we plan for 2.8 totally goes into the direction you proposed. Phew!

Julian Eisel (Severin) closed this task as Resolved.Nov 26 2017, 8:05 PM
Julian Eisel (Severin) claimed this task.