I want to design a user interface for Blender

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

BrendaEM
Posts: 0
Joined: Sat Feb 16, 2008 9:25 pm

Post by BrendaEM » Sat Feb 23, 2008 1:09 am

As far as the interface design is concerned, there's not much there, but I did see a named-layer mod that showed layer names in the help balloons.

There was a mention of replacement icons. Someone was worried about the icons looking cartoon-like, even cartoon icons would be better than ones that need to be read.
jesterKing wrote:
BrendaEM wrote:Do any plans exist on the new interface, mock-ups, drawings, or sketches?
http://wiki.blender.org/index.php/BlenderDev/Blender2.5

/Nathan

jesterKing
Site Admin
Posts: 207
Joined: Fri Oct 18, 2002 12:48 pm
Location: Finland

Post by jesterKing » Sat Feb 23, 2008 2:19 am

If you're not happy with the current output:

http://wiki.blender.org/index.php/Meta/New_Writer

Send patches to:

https://projects.blender.org/tracker/?a ... unc=browse

and in general http://www.blender.org/community/get-involved/

Perhaps then you may be able to see the progress you need.

/Nathan

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Sat Feb 23, 2008 11:48 am

BrendaEM,

you seem to have this very strange notion about how development proceeds.

First this is an opensource project - while core developers can request other core developers to preferably focus their efforts on a specific task - no one has a right to demand someone work on a task.

Second, many projects are like that old joke 'if it takes one woman 9 months to make a baby, how long does it take nine women to make a baby' - that is to say there are certain large chunks of the interface code rewrite that are not parallelizable.

Third, people are using Blender for productivity now - the vast majority of Blenders user base could care not a whit if Blender ever becomes more customizable - developers focusing solely on the needs and wants of 'potential users' is not very practical.
If you do have plans to change the interface, and you are still tacking things onto the old interface, then it appears that Blender is wasting not not only the users time, but also the programmers time.
Four, time spent developing new features on the current code base is not 'wasted' - generally less than 5% of a features code is the interface part of the code. In all likelihood a new interface exactly mimicking the 2.46 interface will likely be available so any user who prefers to stick with the current interface will be able to do so.
Still, it appears that whoever originally designed Blender's user interface shouldn't have been let or forced to. Perhaps I'm being harsh, but I'm also worried that whomever designed the interface, the interface that doomed a commercial product, would be once again allowed to make user interface decisions.
Blenders original interface was designed for an in house production team to achieve maximum productivity. NaNs lack of success is largely unrelated to Blenders interface design.
There is another problem: If Blender.org makes money selling books on Blender's usage, then do they have an incentive to make it easier, more coherent, and more intuitive.
We are interested in wide spread adoption of Blender, most of Blender Foundation funding is via its project sales. Most of the sales are driven by anticipated feature improvements.
The last-minute make-do concept is what led Blender's interface to the point it is now.
You don't have a clue what you are talking about. Most user and developers have had higher priorities than interface changes - the rest of the tool set is now adequately robust that interface flexibility is a more pressing issue. If it were something 'easy' it probably would have been addressed sooner - if for no other reason than to stop the incessant whining :).
If the programmers are working hard on the code that would allow user interface changes, the designers should also be working on Blender's layout and icons. Given Blender's tool set, that could take some time.
Feel free to make proposals - the interface code design is intended to be robust enough so that designing ones own interface is relatively straight forward. There has been quite a bit of thought and analysis on the interface design by Matt Ebb and others already.

LetterRip

pinhead_66
Posts: 17
Joined: Wed Oct 16, 2002 10:09 am
Location: Belgium

Post by pinhead_66 » Sat Feb 23, 2008 6:49 pm

BrendaEM

Jesterking and the other developers here are trying to explain something (i think)

- Blender is currently not as modular as it should be

- The interface code right now, is so tightly connected to everything else, that under the current conditions, changing the interface to what is disirable, is not possible.

- An event refactor is on the way as we speak, the first window creations and splitting have been lay out. This even refactor will tackle the blender core, how everything works and works together. No commercial project can afford to do exactly this. As blender is open source, the fact that the developers are tackling this, means they are very, very serious about improving the current program.
Developement after this refactor will be easier and faster, so the time we "lose now" in getting it right, will seem like nothing when it is behind us.


The "future" may bright, but the word "future" is nice and open-ended word, suggesting no definite plans.
lucky I'm no developer. As a developer I would find this remark rather insulting. especially since developers on open-source project tend to put their whole heart and passion into such projects and their is enough evidence proving there is lots of planning concerning blender.

Besides, future generaly has a positve ring to it, with hope lingering there, with impovements etc. I find it quite impressive how you give it a bit of a negative twist (subjective personal opinion)

yours truly and happy blending
pinneke

BrendaEM
Posts: 0
Joined: Sat Feb 16, 2008 9:25 pm

Post by BrendaEM » Mon Feb 25, 2008 8:04 am

LetterRip,

I have an opinion, and I did express it, but if you read my posts, you may see that I did not demand anything of anyone.

Should you actually read my posts, you, as well as every one else, can plainly, see that I never mentioned anything about wanting the GUI customizable. The other developer mentioned that something of the sort that GUI code was flexible yet for the changes to take place. You might have confused my posts with someone else's.

Blender is getting very powerful and robust, but almost anyone would admit that interface needs work. Additionally, I did mention that it it did appear that the GUI was a low priority, and you seemed to reiterate my point, for some unknown reason, so it would seem that I do have a clue.

Working on the GUI is not easy, and I am going to mention this: it is just not as glamorous as working on some new tool, but the GUI is the face and personality of a graphic program.

[In just one day, I showed Blender to two poeple, someone who is building their own curriculum for user interface design, who could not believe how bad the interface is, and also, I showed Blender to another person, touting that the same program that "Elephant's Dream" was created in, was written in Python.]

In the beginning of this thread, someone offered to help come up with concepts for Blender GUI; I could only hope they were treated better than me. I know I have ruffled a few feathers, and I know, I'm not about mincing my words about the interface, but what I think is much worse--I am asking for change, because the really hard programming, all the 3D matrices and transforms are already done, and I feel they are much more deserving than the packaging, and the representation they have with Blender's current user interface.

pinhead_66, I'm not trying to make Blender's future seem bleak; I just would like to check to see that someone is thinking about it, and perhaps the future would have a some kind tangible date, like a goal, and to see some designs, also goals. One way to see if all is well, is to ask someone about it, and see if someone jumps out at you for asking about it....

Briggs
Posts: 0
Joined: Tue Feb 13, 2007 10:37 pm

Post by Briggs » Mon Feb 25, 2008 7:11 pm

BrendaEM wrote:LetterRip,

Blender is getting very powerful and robust, but almost anyone would admit that interface needs work. Additionally, I did mention that it it did appear that the GUI was a low priority, and you seemed to reiterate my point, for some unknown reason, so it would seem that I do have a clue.
BrendaEM wrote: Working on the GUI is not easy, and I am going to mention this: it is just not as glamorous as working on some new tool, but the GUI is the face and personality of a graphic program.
This has very little to do with glamor and more to do with the cold hard reality of Blenders current code base.

Significant improvements to the UI are not really *possible* given the current architecture. This is a classic example of putting the cart before the horse in software development. The event system re-factor that is being undertaken right now is a huge job and basically involves touching just about every part of blender. We are talking hundreds of thousands of lines of code. But without it any work on the GUI would be just wasted effort really. You can only stretch a system so far before it breaks.

Given the facts of the situation its a gross oversimplification to say that the GUI is not a high priority. Large scale software development such as Blender is complicated and multi-faceted, and cannot be summed up in such simple terms.
BrendaEM wrote: am asking for change, because the really hard programming, all the 3D matrices and transforms are already done
Programming is not just about writing code. This is a common misconception. Large scale architectural decisions can be just as hard as implementing individual features or library functions because once you have locked into a system you are stuck with it for a long time.

Cheers,
Briggs

lukep
Posts: 0
Joined: Sun Apr 04, 2004 1:39 pm

Post by lukep » Mon Feb 25, 2008 7:39 pm

BrendaEM wrote: Blender is getting very powerful and robust, but almost anyone would admit that interface needs work. Additionally, I did mention that it it did appear that the GUI was a low priority, and you seemed to reiterate my point, for some unknown reason, so it would seem that I do have a clue.
Lets restate a bit the facts :
- the current state of the core code dont permit significant improvements of the GUI.
- The problem is not the graphic part, with fancy drawing of the buttons, but the internals were designed for a much smaller software, and we are struggling to keep things working
- the amount of work to be done for improving things is really huge and need a coordinated effort of all main coders. it is total rewrite of tens of thousands lines of code, and while doing that nothing else can happen.
- We have been aware of GUI needs since a long time, and some coders did some big work already in the limit that the core allowed.
- blender has reached a point where its features set is good enough, so we can permit ourself to commit the amount of time needed for this rewrite and will do it
[In just one day, I showed Blender to two poeple, someone who is building their own curriculum for user interface design, who could not believe how bad the interface is, and also, I showed Blender to another person, touting that the same program that "Elephant's Dream" was created in, was written in Python.]
Blender interface is old technology, but its principles are sound (derived from Raskin work). It is different from most software, but its workflow is rather more efficient than most 3D competitors.

So calling its GUI bad is not understanding what a GUI is.
Now, yes there is problems that need to be adressed, and they cant till we rewrite the core.

gendou
Posts: 0
Joined: Tue Jun 17, 2003 7:57 am
Location: Indianapolis, IN

Post by gendou » Mon Feb 25, 2008 11:30 pm

per an earlier post, yes, ikari.

I am excited to see the eventual results of the event refactor. Will this modularize all major parts of blender (events, UI, mesh edit, render, scripting, render, plugin api, etc)? That seems like a logical way to structure it, at least in the source tree.

After reading this thread, I downloaded the source and looked briefly though it. Not being a C programmer or familiar with the code's folder structure, I couldn't easily see where the UI code lived. Will that change after the refactor, making it easier for a newcomer to blender (source) be able to easily see what code is responsible for each part?

Designing UI mockups would probably be wasted effort now and better saved for post-refactor. However, it would be wise to plan the user experiece "philosophy" of blender. The user experience is not simply how the icons look or where the buttons are located but how the user should interact with blender; but that's a whole other discussion.

One suggestion I would like to make regarding the overall user experience is implementing the two following features:
  • 1) Multiple .blend files open simultaneously OR multiple blender instances (if available, multiple instances doesn't work on Mac/Leopard).

    2) (this depends on #1) Copy/cut & paste between open documents.
    The Copy & Paste feature would affect all selected objects and include everything related to the selection (xyz position/rotation/scale, materials, parent/child relationship [if parent or child is selected], layer, etc).
I am aware of the Link/Append function but that's not enough. It's much faster to copy/paste an asset between open files than digging through a file tree looking for the right object. Even then, it's deposited where the 3d cursor is, not the object's world location in the scene. If there are copy & paste functions available, they are not immediately noticeable. This should be a global function under the Edit menu.

I needed this feature recently when trying to compare two files and exchange assets between them. Needless to say, I couldn't do it. This relegates me to open doc1>render>save render>close... open doc2>render>save render>close over and over.
What a waste of time and my client's money.

These are the kinds of interface consistencies that blender lacks when compared to "standard" interfaces and UI guidlelines across computing platforms. I hope the refactor allows us to realign blender with more generally accepted UI rules, not because blender should look like every other app, but instead to greatly lessen the learning curve of newbies or those immigrating to blender for it's incredible feature set, speed and, ha ha, price.

jesterKing
Site Admin
Posts: 207
Joined: Fri Oct 18, 2002 12:48 pm
Location: Finland

Post by jesterKing » Tue Feb 26, 2008 7:30 am

gendou wrote:
  • 1) Multiple .blend files open simultaneously OR multiple blender instances (if available, multiple instances doesn't work on Mac/Leopard).

    2) (this depends on #1) Copy/cut & paste between open documents.
    The Copy & Paste feature would affect all selected objects and include everything related to the selection (xyz position/rotation/scale, materials, parent/child relationship [if parent or child is selected], layer, etc).
The new design makes "MDI" possible. There is a new notion of Context on the interface level, which allows to do that. With the new event refactory copy&paste -type functionality will also be so much easier to implement. Event drag&drop is now an option.

/Nathan

joeedh
Posts: 31
Joined: Wed Oct 16, 2002 10:30 pm
Contact:

Re: I want to design a user interface for Blender

Post by joeedh » Sun Mar 02, 2008 9:36 am

To get back to the point of this thread. . .

whitelight, you sound like you'd make an excellent addition to the UI team. Currently that team is Ton (kaito), Matt Ebb (broken), with coding work by those two plus Nathan Letwory (jesterKing), Andrea (elubie, btw, she is a girl, remember that), bdiego (sorry I can't spell his full name, that's his irc name) Micheal Fox (mfoxdogg) and addition design work by Jean-Luke Pierre (lukep), who did the preliminary architecture design.

I'd suggest visiting the IRC channel #blendercoders on irc.freenode.net. I've given you the irc names of the relavent parties. I'd also suggest joining bf-committers and emailing your ideas to that list, you can do that at http://lists.blender.org/mailman/listinfo/bf-committers. In addition, you may want to create proposals on the wiki, http://wiki.blender.org, to do that you'll need to create an account then ask someone on #blendercoders to activate it (or just email LetterRip, aka Tom Musgrove, I think his email is on the wiki front page).

Also, there is a functionality mailing list, however I'd recommend not posting to it since there arn't many people who actually know what their doing there (it's kindof fallen into disuse for that reason).

Some further words of advice: there are good reasons why Ton did right click selection and a few of the other controversial ones, so don't assume he didn't/doesn't know what he's doing. Also, Matt Ebb is extremely talented in UI design, and really knows what he's doing. Asking him for advice would be a good idea.

If you need to contact any specific person on the UI team, you can ask in #blendercoders for their email address.

Joe
whitelight wrote:Hello everybody. I'm new to the Blender community even though I've been looking a Blender releases for years.

Its progressing very well on the technical side. Kudos to everyone working dev and technical R&D for Blender. But it could use an artist UI that is less "Blender" and more "any artist can instantly understand and use it".

I'm not here to get anyone's favorite UI ripped out of Blender and replaced with something I suggest.

Instead I want to propose additional floating controls that are logical, easy to understand, artist friendly and enable rapid scene editing for everyone. Controls that pop up in the 3D viewport only when people want to use them, with a hotkey, so that nobody has to break the workflow they are accustomed to from Blender if they don't want to.

I have a good deal of experience in 3D workflow and want to suggest some ways of doing things that you can't even find in the commercial packages yet. I don't have much spare time to engage in coding so I would like to design these elements visually, like concept art, and present them with notes and diagrams that explain step by step how they work and why doing it this way has benefits for the user.

My focus will be artist-centric. UI elements that are not intended for the technically inclined artist who can wire shader nodes together in his sleep but rather for the less techy artist focused more on bringing a character or a scene or a narrative or VFX shot to life.

But the technical artist too will benefit from being able to edit some things very quickly and focus his or her technical skills more on truly problematic elements that need to be handled at a low-level. 3D takes a lot of time to create with. Anything that makes the workload lighter when you need it can't be a bad thing.

My aim in all of this is to make Blender more appealing for 3D artists like myself who've grown tired of doing very manual, click-intensive setup work over the years and also complete beginners who don't know 3D but want to learn it without being bashed over the head with 550 3D tech terms and acronyms.

Before I post some designs, I would like to ask which one the is correct forum section to do it in. I'm looking to get feedback from both Blender coders and Blender artists who only use the GUI side of Blender.

That's it from me for now. I want to see what other people have to say.
Positive or critical. :D Thanks for reading.

- wl

Post Reply