The future policy for dealing with user feedback?

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

The future policy for dealing with user feedback?

Post by Jamesk » Mon Jun 09, 2003 10:00 am

As a result of the recent discussions concerning the nature of the technology and functionality in the future Blender, I've come to feel an urge to ask an important question:

Q - The consensus seems to be that only the views and suggestions coming from coders or wannabe coders are being considered as valid feedback. Is this going to be the ruling policy, or are there just some cowboys in the house?

Sidenote #1: I've been involved in discussions around another opensource 3D application too for the past 6 months or so (Wings3D), and the most striking thing about that application is that it makes very fast progress in a very useful direction thanks to the fact that the developers and plugin-coders are listening very closely to suggestions from the users. Most of those users are not programmers. But they obviously are well suited to deliver feedback and constructive critisism since they are the ones using Wings the way it's supposed to be used - as a 3D creation application, not a platform for various programming experiments. Experimentation is a natural part of development, but it should not be the primal mover.

Sidenote #2: I have quite some experience programming in both C, C++ and Java. I also have extensive understanding about object-oriented analysis, design and programming (heck, I've even teached that stuff). However, since my experience with application programming of non-trivial complexity is zero, and the fact that my mathematical skills leave much to be desired, I have deliberately stayed away from even thinking about coding anything in the Blender source (be it the current codebase or any future implementation). This is because I know that I would only spend a huge amount of time introducing bugs. And that doesn't make anyone happy. My main interest is 3D creation, so I will use whatever spare time I've got for that - not learning how to code new features. And Blender, as far as I know it, is supposed to be used for 3D creation.

So, the bottom line is:: Is the future of Blender going to be a 3D-suite mostly based on (a) features that coders consider cool, or will it be (b) the result of feedback from users/artists?

And think carefully before you answer. If people suggesting things are told that "there's no point in discussing this, just code it yourself", then (a) applies. If that kind of remarks continue to appear, it doesn't matter if anyone says "of course we'll listen to the users" because everyone will know that it's just empty words.

I am really interested in a few honest replies here. And I'm really excited to see if they can be delivered without sarcasms and rolling eyes.

Zarf
Posts: 46
Joined: Mon Oct 14, 2002 3:54 am

Post by Zarf » Mon Jun 09, 2003 11:07 am

I think that comparing blender with Wings misses a few huge differences.

Wings was programmed primarily by one individual who still guides all the development. (Yes I know that major functionality has been added by others but the bulk of the source I believe is Bjorn's)

No such parralell exists with blender. Everyone is pretty much doing their own thing with development going on in different branches that may or may not have their features merged with the official releases. Theres no one to really take 'ownership' of these requests unless Some programmer decideds its something they want to do or the suggestion has merit. From the standpoint of the common user things begin to look pretty lonely, its like standing in the middle of a crowded street making wild gestures trying to get someone to notice you but people just keep walking on...

Perhaps then, if the people who fall into the category of 'only users' could group togather and decide on a SET of features that they want implemented they try to attact a programmer to their group and start a new project that could be handled in much the same way wings development is...

I think something like the suggestion for a 'future technology' forum might serve this purpose well. People start threads by identifying an AREA that needs improvment, discussing the specific goals for any project that seeks to improve that area and see if anything can be done to attract a programmer. I think this would have more success than just randomly dropping feature requests because it allows the users to take part in the design stage.

Or maybe not.

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Mon Jun 09, 2003 11:26 am

Zarf wrote:I think something like the suggestion for a 'future technology' forum might serve this purpose well. People start threads by identifying an AREA that needs improvment, discussing the specific goals for any project that seeks to improve that area and see if anything can be done to attract a programmer.
That might be a possible way to go. Maybe I should also clarify that I know how opensource works by now - nevertheless it would be a huge benefit to Blender - the application - if there was a 'recommended way' to give feedback and suggestions. Otherwise we might end up with something like K3D (don't remember who said that, but it's an important point).

Perhaps such a specialized forum, as you suggest, could be a good idea.

eskil
Posts: 140
Joined: Tue Oct 29, 2002 10:42 pm

Post by eskil » Mon Jun 09, 2003 3:21 pm

Obviously all feedback is valuable.

However every one should be aware that caring about feedback, and even reading feedback is optional for coders. So if people think they can "strong arm" their will, or be argumentative and still get their will, they may be mistaken. If coders stop reading the user forums because of too much traffic they don't care about that is a problem, even for those who have good things to say.

There are some things that will be easy to get coders to do (feature X should be implemented / fixed / different) but making a programmer change language or coding style is very hard.

I suggest that each programmer who wants to work on a specific component should, make a public request for feature ideas. The users are able to make specific requests. Right now the discussion is very fragmented.

I have done so each time i have started a project, with varying result (most users wants features form already existing apps), But i think it has been a lot better to be able to show something and then get feedback that i can use.

E

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Mon Jun 09, 2003 4:58 pm

eskil wrote:be aware that caring about feedback, and even reading feedback is optional for coders. So if people think they can "strong arm" their will, or be argumentative and still get their will, they may be mistaken.
That goes without saying. And nobody would benefit from a community where it pays off to be a nagging loudmouth. :D
eskil wrote:making a programmer change language or coding style is very hard.
Tell me about it... I've been doing Java for too long, so I just can't seem to come back to C/C++ at all.

Besides, I would think that the average user doesn't care about those things anyway. They only run the binaries. More advanced users would perhaps have comments on the choice of language for scripting. As long as NGB continues to support Python, those users will be happy too. And if there will be further support for other languages as well, then that's all for the better. If NGB turns out to be as modular as proposed, it will be relatively easy to add various scripting hosts.
eskil wrote:Right now the discussion is very fragmented.
Now that's an understatement! As mentioned above, a special forum for (well thought-out and specified) user feedback might be helpful. Otherwise there should maybe be a 'Blender User's Interest Group' or something along those lines.

Ton's suggestions for a Functionality Board was maybe (sort of) along those lines, but I'd be willing to organize a "BUIG" if there's enough people around willing to participate. Such an interest group would gather input from 'regular, non-coding users', clean it up and produce detailed descriptions of desired features and tools. It would result in some sort of RFC's or 'recommendations' along with as much technical data as possible to pass on to the coders.
Those RFC's would of course only constitute suggestions to idle programmers. If someone is willing to implement it - good! If not, well, there's nothing to do about that.

Any takers?

ton
Site Admin
Posts: 350
Joined: Wed Oct 16, 2002 12:13 am
Contact:

Re: The future policy for dealing with user feedback?

Post by ton » Mon Jun 09, 2003 8:13 pm

Jamesk wrote: So, the bottom line is:: Is the future of Blender going to be a 3D-suite mostly based on (a) features that coders consider cool, or will it be (b) the result of feedback from users/artists?
I am very strong believer in (b), when it comes from individuals who can both code and need tools, and/or from a close cooperation in a fruitful creative environment.
The fact that Blender actually *works* is fully the result of being responsible for projects within an animation studio.... well, and added to that of course the guts & vision how to code it. ;-)

This (a)-(b) distinction is not really fair. Artists consider things 'cool' too, hence the bells & whistles you can see in 3d packages, which are seldom used... and I've seen 3d coders doing 'cool' things that have helped artists in ways they couldn't even imagine.
We just need both dude! The real challenge is finding a way to make that work... together.

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Re: The future policy for dealing with user feedback?

Post by Jamesk » Mon Jun 09, 2003 8:49 pm

ton wrote:The fact that Blender actually *works* is fully the result of being responsible for projects within an animation studio.... well, and added to that of course the guts & vision how to code it. ;-)
That is what's so fascinating about Blender! It really does work, without any serious gaps that force you into using another application to solve a particular problem.

And that is exactly what's at stake in the NGB-discussions. If development of the next generation, totally rewritten Blender, becomes a very fractured project with a huge bunch of coders writing modules in five or six different languages without listening to the users, then the whole thing is running the risk of ending up as an application that does not *work* in that sense.
ton wrote:This (a)-(b) distinction is not really fair. - - - We just need both dude!
Admittedly, maybe there is a few guys who are both excellent artists and excellent coders, but I'm pretty sure they are very hard to find. Most people are not both things because it takes a lot of commitment and hard work just to become one of these two things. So this distinction between (a) and (b) will always be true. In reality we will see a blend (:)) of these philosophies, and it is therefore crucial (and this is my main point) to create an environment where both "groups" feel they are equally valuable.

cessen
Posts: 109
Joined: Tue Oct 15, 2002 11:43 pm

Post by cessen » Mon Jun 09, 2003 9:03 pm

Jamesk wrote:So, the bottom line is:: Is the future of Blender going to be a 3D-suite mostly based on (a) features that coders consider cool, or will it be (b) the result of feedback from users/artists?
I'm with (b). I think that user feedback is not only useful, it is necessary. Just because someone can't impliment a feature themselves doesn't mean that their idea isn't of value. Sometimes non-programmer users aren't really very well informed, and suggest things that are really silly in and of themselves, but often the basic idea behind their suggestion is still valuable. And even if their logic was somewhat flawed, the aspects of it that aren't flawed can still be built upon (in other words, even if you don't directly impliment somthing that a user requests, you can still use their idea in other ways).
Also, I've found that non-programmers often come up with very good ideas *because* they aren't programmers, and thus look at programs in different ways.

(I really do feel this way, and that is verified by my actions: I have, from the very first version of my material system, been asking for feedback from users. In fact, the toon shader was added purely *because* of feedback. I really do value user feedback.)

Programs are written to be used; programers that don't listen to users shouldn't be programmers (IMO).

(Another thing is that I think that it is--generally--more valuable to design an application from a user perspective, and then use the architecture design as a means to achieve that design, rather than as an ends in itself. I guess that's one thing that really bugs me about the current discussion is that it seems like most of it is about things from a developer perspective, rather than from a user perspective.)

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Mon Jun 09, 2003 9:24 pm

cessen wrote: Also, I've found that non-programmers often come up with very good ideas *because* they aren't programmers, and thus look at programs in different ways.
Very true indeed.

Back when I was teaching programming to total newbies I frequently got very strange suggestions for the example programs I had put together.
At first glance these suggestions would seem to be utter nonsense, but they often turned out to be quite brilliant just because only a mind previously not exposed the particular way of thinking 'like a programmer' could have come up with such ideas.

(And this was people that didn't even realize that all the things they saw on screen was actually the result of some programmer's work... I still don't know how they figured it got there in the first place, but that's another story...)

xype
Posts: 127
Joined: Tue Oct 15, 2002 10:36 pm

Post by xype » Mon Jun 09, 2003 11:26 pm

I think the whole user/coder interaction has a lot to do with momentum. At the beginning, when there will be not much one will be able to do with NGB, coders might want to have their "environment" up and running before implementing features and that might be percieved as reluctance to add features by some users. But eventually the more it falls into places the more the coders will be willing to add stuff since there will be immediate results from that (instant gratification).

Also I think the design of NGB should start with users saying what they'd eventually want and describe problems they would like solutions for - that would probably spark a debate about implementation that would have more sense than people debating object-oriented design without a problem that it would solve.

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Tue Jun 10, 2003 12:28 am

Xype: I agree with everything you said, except for one little thing that I find perhaps slightly contradictory:
coders might want to have their "environment" up and running before implementing features - - - debate about implementation that would have more sense than people debating object-oriented design without a problem that it would solve
Depending on exactly what the "coders' environment" means, this may be problematic. First - choosing a system strategy (e.g. object-orientated vs procedural) sounds to me like an important part of the "environment", and second - future features may very well be things of such magnitude that they could actually have a big impact on how this system strategy should look, meaning that user feedback should be collected, classified and organised before setting up an environment.

Of course, you said "the design of NGB should start with users saying what they'd eventually want and describe problems they would like solutions for" so I guess we're on the same page there.

Now, I may have misinterpreted what you said about the 'environment' - if so, I apologize.

I'm not in a position to say anything about the system strategy, since I probably won't be doing any coding personally - but as far as OO goes, my experience is that even if it really doesn't solve any real coding problems in detail, it does make it easier to find solid and maintainable solutions than "old school" procedural approaches. From a user perspective, the current Blender already appears to be object-oriented, and it probably makes things easier in the long run if this is reflected in the coding practice as well - thus making the OO-nature ooze out from within, so to speak :)

But, as I said, these matters (i.e. coding paradigms) are not supposed to be influenced by user opinions. The exact implementation is invisible to the users, and as long as it does not affect the performance of NGB in a negative way, it should be left to the coders to debate on their own.

matt_e
Posts: 410
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Post by matt_e » Tue Jun 10, 2003 2:58 am

cessen wrote:(Another thing is that I think that it is--generally--more valuable to design an application from a user perspective, and then use the architecture design as a means to achieve that design, rather than as an ends in itself. I guess that's one thing that really bugs me about the current discussion is that it seems like most of it is about things from a developer perspective, rather than from a user perspective.)
I completely agree. I worry when I see discussions like "ok, lets code all this architectural stuff, then we can worry about how it works and slap a pretty GUI on it later". The architecture defines the philosophies and structure of the program, which then defines how it's used in practice. Blender is a tool - the code is a means to an end, not the end itself.

One thing that makes Blender difficult is that generally speaking, as Jamesk said, there is usually quite a psychological difference between programmers and artists. Right brain/left brain and all that. This means that programmers will generally tackle problems from a different perspective and in a different way than a more right-brained person would. This is not a bad thing or a good thing, just a difference. However if coders ignore this distinction and assume that everybody sees things the same way they do, it can lead to a program with lots of power, but just isn't useful to many artists. Like ton said, the best results can come when everyone works together, when people listen to each others' viewpoints and try to understand why they think differently. Rushing off and diving into code without understanding what Blender's users even want and what their philosophies are would be dangerous.

xype
Posts: 127
Joined: Tue Oct 15, 2002 10:36 pm

Post by xype » Tue Jun 10, 2003 7:13 am

Jamesek: By "environment" I actually mean the basic application design (how it works under the hood). To make a solid working design takes time, but if the coders have a lot of input on the problems the artists want solved they can develop that in the right direction. We basically agree anyway. :wink:

NateTG
Posts: 37
Joined: Mon Oct 14, 2002 2:38 am
Location: Here

Post by NateTG » Tue Jun 10, 2003 8:23 am

jamesk, if you want to organize a "BUIG", I would be happy to help/join. I think it is an excellent idea. I have experience both in programming (albeit not very extensive) and art (more extensive).

A group of users commited to organizing/editing a list of feature requests would be very helpful, I think.

nAte

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Tue Jun 10, 2003 9:37 am

NateTG: Sounds very good! And it also seems like you have about the same background as I concerning programming/art-creation ratio, which is probably good. It would most likely be helpful to have at least a few guys with some remote idea of what would in fact be impossible to implement (such as "I want a feature that allows me to build characters starting with individual molecules. We're looking at around 893.000.000.000.000 polygons for each object here, and separate armatures for each molecule would be cool...")

That aside - how would we organise a BUIG? First of all, most non-programming users are found over at Elysiun, so that would be the logical starting point. Python scripters and gamers have to feel equally welcome even if they do in fact code stuff as well, but from a user perspective.

My initial thought was that a special forum would be a good way. Each particular featurerequest would be neatly discussed in its own thread. If things are slow, there's a lot of stuff in the tracker to throw in as bait. The number one priority is to get as many participants as possible, in order to get a 'democratic selection' of what features and paradigms are most asked for by a majority.

Maybe we should talk to S68/Timothy about adding such a forum at Elysiun? Just to get things going, then we take it from there... As certain requests get "ripe" so to speak, we make sure that there is lots of reference material and general explanations to pass on to the coders. After that, it's merely a question of hoping for someone to take the bait.

<edit>Since most coders hang out here at .org, and most users are over at the other place, it may be better to keep it that way.</edit>

Comments?

Post Reply