It’s a recurring event for a lively project like Blender that the UI, usability, design, focus or other important principles  pop up as topics for discussion. It’s all about passion for making a great 3d tool here, and working with this kind of “open source dynamics” is one of the great benefits of the web and social media.

There’s a couple of aspects we do need to keep careful track of though. Online dynamics is also vulnerable – especially when people are feeling unsure about what they can expect to happen, or don’t know what happens with their contributions, or have doubts how decision procedures go. Uncertainty and doubts lead to stress and it can make people become poisonous – usually without even knowing.

A healthy and flourishing free/open source project therefore should be as transparent as possible. That means to be clear about the key goals and what unites everyone, clear about how to get involved and how decisions or actions are being defined.

In this article I will try to summarize these key goals – confirming what we’ve been doing already for a decade – and to ensure we can keep moving on towards a great future together.

FOCUS: BLENDER IS FOR ARTISTS

The official Blender Foundation goal is worded like this:

Provide individual artists and small teams with a complete, free and open source 3D creation pipeline.

In this simple sentence a couple of crucial focus points come together.

  • Artists and teams:
    We work for people who consider themselves artist – and who work on creating 3D individually or in small teams together. The definition for “artist” can be taken quite wide – to include engineers, product designers, architects or scientists. But each of them can be considered to have a serious interest in working with 3D software to create something related to that interest.
    “Blender is for artists” also means that’s it not a programming API or scripting environment, these are secondary to this goal.
  • Complete 3D creation:
    Blender should work for making finished products, without requirement to purchase or run other programs. Its output should satisfy the users sufficiently to share their work in public or market it as part of a living.
  • Pipeline:
    We are aware of how CG production works (for animation, film, vfx, games) and we want Blender to work sufficiently in each and every aspect of such creation pipelines. This to to make complex creations possible and to enable people working together.
  • Free and open source:
    And not only should Blender be a complete production system, we even want this to be free and open source!

BUT IT’S ALSO FOR EVERYONE

It’s quite common for product marketing that the people you target at are a much narrower group than the actual users you have. People just like it to belong to groups they consider to be cooler, or they are in a process to become part of such groups. This conflicting situation is even stronger for free (gratis) software like Blender is. Somehow it’s acceptable for expensive 3D tools to target at specialists, but when it’s free it must ‘obviously’ be a common generic tool for everyone. That misconception also lives inside open source communities. Check Slashdot reviews of Blender to see how the Linux community considers they “own” Blender, and we (obviously) fail to make Blender work for them.

So – we make something for few people and give it to everyone. Quite a contradiction! But that has proven to work. I cannot count the amount of cases of getting enthusiast reactions of people who discovered that this silly free Blender tool was actually doing something advanced and useful for them – literally changing their lives.

EASY TO LEARN vs EASY TO USE

Ideally you make tools to be simple to understand, tools that are self-explaining, that work fast and pleasant also when you’ve mastered them well.
In practice this isn’t always true – and certainly not for 3D technology and tools. If you choose to develop 3D tools to be easy to learn, you will make decisions to sacrifice speed and ease of use for frequent users. You will have to narrow down to a UI that’s optimal for generic (beginner) use cases more than for users who want to handle complexity and who have time for quality.

For tools you use every day, you can simply state “Learn once, use the rest of your live”. So – focus for Blender tools is on making it usable first. Keep things consistent and fit with overall design. Tools then become logical and feel intuitive even.

WE MAKE BLENDER FOR BLENDER USERS

This is not meant exclusive or to keep people out – everyone can use Blender freely and become a user. I usually state this provocatively to explain that I’m not much interested in “getting more users”. That’s not a sane target to work for. Nor am I much interested in supporting Maya users, Sketch-up users, or the forum trolls who don’t use Blender anyway. Why would we in the first place? Why work for people who are not much interested in your work, if you already have like hundreds of thousands of users who are?

If we work with the people who are around for years, who invested time in Blender, who started a business with it, or training services, or just use it for fun… then we at least get people motivated positively with the right incentives. Positive energy, positive results, and happy users!

DON’T LOOK UP TO AVERAGE

In daily computer use you will open many programs that each do specific tasks. You can do some painting, text editing, page design, image editing, all without being interested (or even motivated) to spend a lot of time in becoming skilled in these areas.
That’s when standards kick in, the averages, conventions, common defaults and largest denominators. That’s all fine and useful for getting quick results. But it’s not something that makes it by definition “good” to do, or something to look up to – you would forever put yourself in a position of a newbie then.

I consider myself to be quite average – averagely talented and skilled. I understand conventions and can use or reject them. Use the defaults, or create my own. But most of all – from that position I prefer to look up to the excellent. What’s the best we have in the world, and how can I make that available in Blender? I want to be reaching for the stars!

All of the coders and artists teams I worked in the past – and still work with now – share this passion – we know we might be mediocre and averagely skilled, but we do look up and use the best of the best as a reference. I would never look up to average – I want to lift up the average. It’s not following conventions, it’s following a vision.

DEVELOPMENT BY PRODUCTION

One of the key events that have shaped Blender were the Open Movie and Game projects, conducted by Blender Foundation and Institute. Here the best of the 3D artists were put together to work for half a year or more on a compelling target. Their feedback, their productivity, their needs were put centrally first. And as everyone in a similar working position can confirm – good looking and funny interfaces don’t make films. It’s first about reliable software that does what you want, to provide predictable and stable but highly advanced features.

For sure these 3D artists also cherish usability, they love well designed UIs. For sure they hate inconsistencies, detest the hours lost with scrolling or searching features, and detest all of the shortcomings in Blender we know so well. But this aspect is always in balance with the rest of the software itself. Blender priorities are also on technology, on enabling creativity through exposing advanced features – even when it’s with a clunky UI at first.

Also for the next few years I want to get Blender’s development being driven by such artists and teams. We will use project Gooseberry for it (feature film made by many teams around the world) and of course support our Blender Network of professionals.

PEEL OFF THE UI AND REPLACE IT?

A lot of (really great) UI design proposals that went on the past week give quite a false impression that it’s either feasible to just replace the UI, or that its possible to pay for it – even when it takes a dozen people a year to work on.

The misconception here is that the “UI” is some kind of separated entity of a program, which can just be peeled off and replaced with another interface. However, a really good UI (and certainly Blender’s) is not just an abstract independent layer, it’s the reflection (and sometimes even the core) of the program’s design.

You can easily state that a significant part of the Blender code (more than a quarter) is “the interface”. You cannot code any tool without understanding “the UI”. You cannot work on compositing or rendering without keeping track of it. A particle system is “UI”. How animation systems relate is “UI”. How files read and write is “UI”. The way how undo works is even “UI”.

So – replacing a UI can be as impossible as trying to replace the script in a film. Let’s not go that way now. A full rewrite of Blender might happen once, but I think we have enough quality code design in Blender still – and a whole lot of open todo topics – to fill at least several years of coding time with.

WE’RE ALL HUMANS (TOO)

Since 2010 the developers maintain a todo list in wiki. This is a list of bug reports and reported issues in Blender we cannot solve simply or quickly, but which should really be worked on.

That list now is really huge, intimidatingly huge even. Blender is in many ways crippled, unfinished, or half working only. That aspect you can detect in the UI easily, but if you seek a bit further it’s in nearly every part of Blender.

http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo

So what has everyone been doing then? Consider the enormous amounts of work that has been done since 2010… tens of thousands of bug fixes and updates, loads of new features and tools. And then – how strange – there are still so many weak parts in Blender? So many totally obvious cases we fail to handle? How’s that possible – the UI is still br0ken!!1!

It would be helpful if people who criticise Blender (or want to contribute) spend a bit of time on that aspect. The Blender team – over a 100 people who work regularly on the code – really isn’t dying for ideas or suggestions, nor do they spend time twiddling thumbs waiting for a brilliant request to be passed on. And most of all – they’re not incompetent idiots either. Every contributor knows the shortcomings of Blender and their own shortcomings as well. But they all do their utmost & honest best.

To maintain and work on current Blender is already an enormous undertaking. We have to keep it running with a massive effort, and to improve that the efforts are even larger. Easy fixes unfortunately don’t exist anymore – we’d have done them ourselves you know!

And last but not least – the work we do should be FUN and inspiring! It should be pleasant to hang out with the developers, work with artists, have a friendly and open project. It’s not – and I hope for long – a corporate environment here. That means to be relaxed too – accept imperfection, allow unfinished but promising projects being added to Blender.

GET INVOLVED!

A good and daily interaction between users and developers is a critical success factor for Blender. Decisions and work is being handled by “Module teams” – small groups of developers and artists who are empowered to handle their work. This approach works quite good, especially when these roles are public, and when the team members can be approached easily for review and discussion of their work. It for sure works a lot better than voting or online polling of opinions.

Teams have been setup already on many areas – for character animation tool design, for vfx and motion tracking, for Cycles and shading, for the game engine or for modeling tools. Similarly we have a UI team as well, but activity there has stalled a bit in last 2 years. The team really needs to be expanded, preferably with good designers who can code, or coders who can design well – but also with artists who are closely involved and have an established authority to make daily UI decisions.

I hope we can work out a proposal for a UI team at or shortly after the Blender Conference. Such a team is not going to define “the future of the UI”, but simply will reflect and feedback on work that’s actually being done. One of the first projects they could start with is the Toolbar project from a Google Summer student.

WHAT’S HAPPENING WITH ALL THE UI IDEAS ?

Let’s first get confirmed if we agree on focus and core Blender design issues. That focus is what will bind us together, an essential piece of energy we have to keep as strong as possible to survive as blender.org project. What’s then left – the parts we might disagree on – then can be handled smoothly.

A lot of suggestions as have been done – also to make Blender “easy to learn” – really fit well within a powerful 3D creation tool too. Power users like toolbars or custom shelves too. Power users want efficient workflow and a UI that works with them and can be configured well. By making it work for them first, it will be something any beginning user would appreciate too, or will eagerly accept to learn.

The integration of Python in Blender is also something that will get increasingly more sophisticated. APIs for controlling the UI already exist, but we also will work on access to define and build own custom editors (or to customise editors yourself). That can be used in many ways – ranging from specialist rigging UIs to an easy to use 3D printing UI for high school students.

I also recognise that the energetic and passionate UI discussions were coming from a lack of active development in that area. Our project should really be open for many more new developers – by improving our documentation, website communication and more actively doing patch reviews. We know… the amount of work is just always much higher than we can handle!

On the other hand, our project is flourishing and highly successful already. Here’s some of the actions we take now:

  • Upgrade blender.org, our web tools and services for bug tracking, code reviewing, patches. Move to ‘git’ version control.
  • Make sure the ‘module owner’ teams are active and actively involve users or user-members
  • Expand the ‘foundation’ team  (developers supported by donations and Development Fund) with people who can code on UIs and usability
  • Next Open Movie target: make sure studios and professionals get better involved, (can) hire developers and become real stakeholders in Blender’s future.

So! UI changes will happen yes. It’s a matter of improving issues gradually, tackling them one by one. A matter of finding the right people and the right moment to handle this. But we never forget the real target – to make a tool for 3D artists who want to tell stories, make compelling artwork, 3d designs, animation films or games. And – to have a lot of fun together!

Ton Roosendaal
Amsterdam, 23 October 2013