

How Blender started, twenty years ago - unwind
http://code.blender.org/index.php/2013/12/how-blender-started-twenty-years-ago/

======
terhechte
Blender is a really fantastic software, from a professional, a educational,
and a tinkering perspective.

I started using Blender in 1998 or 1999 back when it was still closed source
(around version 1.6, I think). Back then I also used to use 3D Studio Max and
it was a far superior software. Then, NaN went bankrupt and managed to raise
enough awareness to collect the required money so that the investors could be
paid out and Blender could be released into the public as open source. In the
following years, Blender has continously grown in feature-size oftentimes
coming quite close to what professional packages offer.

From a professional perspective, one can get a very solid 3D Rendering and
Modelling solution for free that offers enough features to get a deep
understanding of the whole subject. This makes it easy to learn enough to be
competitive when it comes down to searching for a job.

From a educational perspective, Blender is a great teaching tool. The
animations that Blender can generate (with particles and hair and bones) look
good enough to amaze young kids. Based on this amazement, one can explain the
math behind it, or the code behind it, to make computer science and math look
more practical.

From a tinkering perspective, Blender is fantastic. The core is written in
C/C++ but a huge part of the application is scripted in Python. This makes it
very easy to have a look into the source, extend the app, and gain a better
understanding of the ideas behind 3D Rendering and modelling. Case in Point:
When working on an iPad game recently, a friend and I decided that we did not
want to build our own level editor. Since one requirement of each level was
the ability to edit nurbs curves, we decided to simply script a lightweight
Blender Plugin so that we could use Blender 3D as the level editor. After some
initial problems it went fluidly, and we quickly had a great working level
editor with an extensible interface, all scripted in Python. If I were to work
on another game and if there weren't already a good level editor for the kind
of levels I'd need, I'd go with Blender again as it is really easy to extend
and already has functionality for lots and lots of use cases.

All in all, Blender is - in my eyes - one of the big success stories of open
source software. Especially because there's no big corporation behind it. Open
Office has/had Sun, Linux has IBM, RedHat, and many many others, but Blender
is really being build by a community of seperate entities and few
corporations.

~~~
nkoren
Blender represents both the triumph and tragedy of open source software. I've
been vaguely following its development since the late 90s, periodically making
attempts to learn it, and failing until I finally made a more serious push
earlier this month. Once one has gotten over the very steep learning curve,
it's an amazing piece of kit. On a feature-by-feature basis, it handily
outcompetes many commercial packages, and once one has learned the keyboard
shortcuts, I can see how the interface would actually become a pleasure for
daily users.

However for beginners and casual users, the UI is a disaster: stupidly opaque
and pointlessly obtuse. It is obtuse in ways which _aren 't_ necessary to
support the power-user workflow, but seem to exist for no other reason than to
maximise the "WTF?!?" factor for new users.

For example: object-selection is done via a right-click, requiring the user to
break their muscle-memory from literally every other GUI program they've ever
used. WTF? And where are the contextual menus? And why are the all-important
keyboard-shortcut tooltips scattered so haphazardly through the UI?

Making things worse, the defaults and documentation assume a three-button
mouse and a full keyboard with a numeric keypad etc., and the most basic
navigation functions -- panning, zooming, dollying, orbiting -- all rely on
inputs from these devices. Working on my 13" Macbook Pro, it took me about 15
hours of banging my head against the software until I found a combination of
settings which allowed me to pan and zoom etc. using only my trackpad. (I had
asked the Blender forums for help, and the advice I received was to buy
another computer). Now it's working quite well for me, but only because I was
willing to endure a few days of pain to get there.

3D software doesn't need to be this difficult. In my day, I've been highly
proficient at 3D Studio, Lightwave, Cinema4D, Form•Z, and various other
platforms, and none of them embody UX anti-conventions the way that Blender
does. Heck, even basic things like its click-drag mechanics are just wrong
(click-drag to initiate a drag, at which point the object or control point
becomes "sticky" to the cursor, even after it's released; a second click is
required to end the drag), requiring the user to _comprehensively_ retrain
their muscle memory in order to use the software. WTF?!?

The Blender community, unfortunately, seems to largely be a self-selected
cabal of people who have survived this pointless hazing ritual and are
determined to make sure that everyone who follows in their footsteps does the
same. Although a small minority of the community "gets it" and is making
earnest and well-thought-through proposals about how to fix the situation
(see:
[https://docs.google.com/document/d/1ScPMbHv8WRCU2znB7IU2l-W9...](https://docs.google.com/document/d/1ScPMbHv8WRCU2znB7IU2l-W9hH-
NLs5weQKLkjqmgpA)), they don't seem to have much traction, and are continually
derided / ignored by the rest of the community. Thus even the very simplest
lowest-hanging fruit -- such as enabling "select with left mouse button" by
default (it's already an existing setting, buried deep in the preferences
where no noob will ever find it) -- aren't implemented.

It's a sad situation, because with a bit more polish on the UI/UX, Blender
could be a genuine player in the 3D industry, rather than an intriguingly
powerful assemblage of missed opportunities.

~~~
michaelbuddy
I realize you have strong feelings here, but what you are saying isn't really
a tragedy. Blender is hard to learn, so are 3D graphics in general. You can
accomplish a lot but it's difficult to do so. That's it. not a tragedy. the
community is pretty helpful too. Every artist community is pretty critical
when presenting your work, blender is no exception but Iv'e gotten help at
various times over the year in forums and IRC with sure the occasional snark
(that's everywhere).

I bet more people ask for feature requests of big complex commercial software
and don't gain traction either. People get used to the UI and come out of the
woodwork when noobs want to change it.

Another comparison, without having owned it but just through seeing and
hearing demos, Maya is barely usable for projects without 3rd party plugins
(my understanding anyway). How is that a good setup for a new user?

~~~
nkoren
I know that 3D graphics aren't trivial to learn, but the tragedy with Blender
is that it is _arbitrarily_ difficult. The difficulties aren't intrinsic to
learning 3D. A lot of people -- both beginners and professionals from other
platforms -- are turned off Blender when they can't even figure out how to do
basic functions like select an object or pan across a view without watching
tutorial videos. That's really unreasonable, and I'm sure that Blender loses a
substantial portion of its potential users due to completely unnecessary UI
anti-conventions like this. It wouldn't be difficult to fix: simply enabling
"Select With: Left", "Orbit Style: Table", "Zoom to Mouse Position", and a
handful of other existing defaults would make Blender _vastly_ more
approachable out-of-the-box. I'm sure that something as simple as this would
produce a measurable increase in its rate of adoption, perhaps on the order of
15% or 20%, without compromising the advanced functionality in the slightest.
Other measures such as consistent tooltips across the UI and contextual right-
click menus would give another significant boost in adoption.

The tragedy of Blender is that the community is highly responsive to feature
requests from established users, and has developed some superlative advanced
capabilities as a result -- but is blind to the needs of beginning users. If
Blender were a commercial product (maintained by people who think not only in
terms of _features_ , but in terms of _market penetration_ ) then these kind
of simple issues would have been addressed a decade ago, and the good efforts
of the Blender developers would now be reaching a much much wider audience.

------
dsirijus
My biggest regret was that they haven't invested more resources into BGE
(Blender Game Engine). They had it within their graps, and could have easily
stolen Unity3D's thunder, as well as probably gotten funding somewhere.

They just didn't listen to market, imho.

Admittedly, some licenses should've been changed for that to be true.

~~~
djcapelis
BGE wasn't ignored because anyone on the dev team wanted to sideline it. In
fact, many many people really loved it and hoped it would go somewhere. But it
is an open source project. The stuff that gets resources is the communities
that show up and work on it.

If you want BGE to get better, join the team and make it better.

------
scoofy
I love blender, but as a person with a startup in the 3d printing field
(shameless plug: bld3r.com) my one regret is that the learning curve for
modeling is so steep. Is there a forked version that is a standalone for 3d
modeling? If there isn't, there should be.

Blender is the only program i know of that is open enough and powerful enough
to spend a long time learning, but for noobs in 3d printing, it's absurdly
disheartening. I'd hope we could develop a version easy as solidworks, even if
it were uglier. If i'm totally out of the loop on open cad software, do please
tell me what i'm missing.

~~~
iKlsR
Why would you need a standalone version for modeling? That would be like
having a car sans everything except the engine. The 3d viewport works closely
with almost all the other views, if you don't need a feature, just hide it.
Once you grasp the basics of how to manipulate/transform vertices the curve is
flattened immensely. The only tip I could give is to learn the keyboard
shortcuts. If you still insist, you could build your own version of Blender
and omit many of the other things it comes with now by default, the game
engine, cycles etc.

~~~
scoofy
In a word, clarity.

I realize it would be redundant, that's not the point. I'm hoping for 3d
modeling software that is free, and easy to start with. Maybe blender isn't
the solution to that problem, but i've spent well over two years using
blender, and i honestly have no idea what half of it does.

There are some helpful "blender for beginners" video tutorials, but not many,
and i've looked.

In trying to advance open 3d printing, this is a huge barrier. Modeling
software is the future, and if we want any independence from stratasys we'll
need a powerful, easy to learn, modeling program. Otherwise we'll be
overwelmed by proprietary software that only works with proprietary printers,
e.g. makerware slicing program.

~~~
iKlsR
2 years and no progress? I think you are doing something wrong. I have been
using Blender for a long while now and there are parts of it that I see every
day and don't use or even know what it does. It's a generalist's package, it
can be overwhelming but just focus on what you want and don't try to grasp
every bit of it. A beginner's series I would recommend is
[http://cgcookie.com/blender/cgc-courses/blender-basics-
intro...](http://cgcookie.com/blender/cgc-courses/blender-basics-introduction-
for-beginners/) and some useful resources can be found here
[http://meta.blender.stackexchange.com/a/43/12](http://meta.blender.stackexchange.com/a/43/12).
I have a friend on fb that makes amazing 3d prints using Blender and a couple
years ago he was fairly new to it, here's his blog,
[http://generativemodelingproject.blogspot.com/](http://generativemodelingproject.blogspot.com/)

~~~
scoofy
I'm familiar with this course, the amount of time dedicated to modeling is not
very large, but the overview of the controls is pretty decent.

The reason i'm not good at using blender is that when i hit a wall... it's a
pretty insurmountable wall. It's much easier to just switch programs. If i
need precision, openSCAD, if not, sketchup, both of which are obviously
inferior.

The stack exchange post seems very useful, i'll look into that, thanks.

------
iKlsR
OT: If anyone is interested in trying Blender or need a place to get solutions
to problems,
[http://blender.stackexchange.com/](http://blender.stackexchange.com/) is a
great resource.

------
rtpg
I remember way back when, how 3ds max was something like 600 megs and blender
could fit onto a floppy disk. Some really amazing stuff. Now blender seems to
be 60 megs, but I imagine comparative things like maya are probably far in the
gigabytes now

~~~
iKlsR
The size of a default Blender installation _now_ is ~214MB. Zipped, it's abt
40.

------
DoggettCK
Definitely a steep learning curve, but like vim/emacs, it quickly becomes
second nature.

I shouldn't have left all my Blender books on the bottom shelf of the bookcase
where my old cat could pee on them. I need to pick it back up again. Good
thing there are so many more resources these days.

------
thirdtruck
Kudos to Blender! I would not have completed my 3D animation degree graduation
project without it, years ago, and I picked it back up just a couple months
back for video composition work. Looking forward to doing even more in it once
my new computer arrives.

------
melling
Here's an entertaining Blender podcast.

[http://www.blenderguru.com/introducing-the-new-blender-
guru-...](http://www.blenderguru.com/introducing-the-new-blender-guru-
podcast/)

In early episodes he tried to rally people to fix the UI and make it more
intuitive. He got so much crap (why should we change!?) that I think he's
given up on that for the moment.

~~~
iKlsR
Actually no, what he was proposing was to reskin the interface to make certain
things more obvious and consistent. However, it's not as easy to peel a UI off
an existing program as non-technical people might imagine. It was an excellent
initiative and the effort is ongoing.
[http://code.blender.org/index.php/2013/10/redefining-
blender...](http://code.blender.org/index.php/2013/10/redefining-blender/) and
[https://developer.blender.org/project/view/12/](https://developer.blender.org/project/view/12/)

~~~
melling
Well, I didn't think what he was proposing would be trivial. He was simply
trying to make the app more accessible to a larger audience.

Listening to his podcasts made be think the about the way Apple does it with
constant UI refinement, and why many open source projects are really lacking.

------
beambot
OT: The URL is [http://code.blender.org/index.php/2013/12/how-blender-
starte...](http://code.blender.org/index.php/2013/12/how-blender-started-
twenty-years-ago/)

I've never seen "index.php" in the middle of a URL like that. Very quirky.

~~~
jhardcastle
The web server is configured to use something like mod_rewrite to pass
everything after index.php as a query string parameter to index.php. Many
sites use this (though most don't do it so nakedly) to make pretty URLs that
search engines and users prefer.

Essentially, the request is equivalent to index.php?Article=2013%2F12%2Fhow-
blender-started or perhaps index.php?Year=2013&Month=12&Article=how-blender-
started.

~~~
woutervdb
Actually, you don't need to edit your server -at least with Lighttpd-.

PHP automagically (or is this expected behaviour?) gets the string appended to
/index.php for you! Check out the example at
[http://private.woutervdb.com/examples/url-
query/index.php/We...](http://private.woutervdb.com/examples/url-
query/index.php/Welcome,%20Hacker%20News)!

I've made no changes to my webserver configuration. Works on Lighttpd on my
laptop and webserver, not sure if Apache and IIS do this as well.

------
sandGorgon
I really hope that something like Blender Composite Nodes and Blender Python
Nodes can replace Quartz Composer (which apparently has been ignored by Apple
anyway).

It is a pity that you can't tap into design tools unless you have a Mac.

~~~
terhechte
Offtopic, but I think a huge reason for that is how fantastic the Apple
Frameworks are for any Pixel/Vector/GPU/UI stuff. Quartz Composer offers an
API to include it into apps, there's CoreImage, CoreVideo, Quartz2D, SceneKit,
CoreAudio, and much more.

SceneKit [1] alone, makes it unbelievable easy to create animated 2D/3D
interfaces that combine various media types.

Due to this, it is probably easier to create a sophisticated design
application for the Mac platform than for any other platform [2] [1]
[https://developer.apple.com/library/mac/documentation/3DDraw...](https://developer.apple.com/library/mac/documentation/3DDrawing/Conceptual/SceneKit_PG/Introduction/Introduction.html)
[2] Based on some reading it seems that Qt is starting to offer similar
functionality, especially with regards to Filters/Pixels/Vectors, but I'm not
really sure about that.

~~~
sandGorgon
You may be right, and I'm no expert in this, but that is not a large part of
the reason.

I think it was a well designed piece of software by itself - and the node
based programming model lended itself well to interface design.

Right now, it is more a case of adoption. For example, Facebook is investing a
lot of resources in creating stuff like Origami for Quartz Composer. I'd be
willing to bet that if Facebook puts even a small part of that resources into
supporting something like Blender, then the fundamental differences at the OS
level should'nt matter.

------
jjoe
The early source code files from the screen shots are a reminder that big
things start small; very small.

