A Feature Quest Proposal

Hi,

I would like to propose some kind of feature quest (same principle as the last Code Quest, but 2,3 times a year.).

I do read and watch Blender Today, Blender Dev Talk, Dev Blog from time to time… So i’m quite informed on the developpement of Blender in general.

Something I have notice is there’s an infinite amount of features request from the community/users base. It is almost a running joke on Blender Today sometimes. Features such as destructive extrude, better UV tools, better snapping tools, parallax occlusion mapping, caustic, spectral rendering, etc… And the list goes on and on forever, even if there is a huge amount of work done by the amazing and talented devs (even many of then are not paid, as Grease Pencil team).

As people are really exited/motivated by new features, I think this tsunami of request could be seen as an opportunity by the Blender Fundation.

So here is my proposal for a Feature Quest and how it could work :

  • A voting system could be create where only peoples that are part of the Developpement Fund and Blender Cloud can vote for their favorite features within a pre-established list by the devs. So if you are Bronze level, you get one vote, of you have a Gold level, you get 3 votes and so on.

  • Then, same principle as the last Code Quest : A Feature Quest is launch with an estimate goal (money). Community contribute finantially to make it happen. Then a job offer is launch on the Jobs page to find a developer.

  • It could also solve/help one of the problem I see with the Developpement Fund right now; is that there is not really incentive for individual to give more than 5 euros (6$) to the fund. Therefore, 60% of individuals choose the Bronze membership on the dev fund**. The only incentive right now is your degree of Blender Love, small badge on Blender’s website and name & logo on the fund page. That is a bit short. At the same time, I understand as Blender is free, that you can’t really sell or give more to users who contribute more, as for instance, the game Star Citizen. But still, Patreon and Kickstater give clear incentive to individuals to spend more (membership level on Patron / Pledge on Kickstarter).

  • Advantage would be : Community would love to become involve in ‘‘choosing’’ some of the upcomming features, it could encourage people to give more to the fund to get more vote (see above), it could put an end to pending feature request that are frustrating to the community, it could unload some work from the dev, it could be another source of revenue for Blender, etc.

Let me know what you think,

Francis

**Source : Blender by the Numbers – 2019

2 Likes

Personally i trust the foundation to make the right calls here, when given the option to bolt some shiny new thing on top of EEVEE or working on the blender core foundation code i’m pretty sure where the community vote is going to go. It is very hard to resist “shiny” and go if we fix the foundations first, we’ll be better off in the future. They are open in their road-maps, and when things are going in a direction i disapprove of i’m free to pull my contribution. I don’t mind the current system at all.

There’s also that the dev fund was/is pretty upfront that a voting system is “not in the planning

A voting or polling mechanism is not in the planning - although it’s open for discussion and review, especially when roadmaps don’t get wide endorsements.

Judging by the comments in the latest roadmap everyone seems rather on board with the direction it is going.

So it seems unlikely they’ll consider anything like this at this moment in time.

4 Likes

Thank you LazyDodo for the links and comment :slight_smile:

I didn’t know there was any discussion about a voting system.

If I can clarify my thoughts,

Actually my point wasn’t to vote on the roadmap or any official planning (as 2020 Big Projects)

But to vote for features that devs doesn’t have time to implement for the mid/long term. Then a feature quest would make sense to gather money to implement those feature requested by the community.

A voting system could then be implemented to make everyone involve into the process and encourage people to join the Dev Fund since voting could be limited to those Dev Fund Members (although this is just an idea). I thought this could encourage ppl to join or spend more.

In any case I don’t know if that would be doable dev wise : Hire someone who know Blender for a short term contract to implement a feature.

Personally, I love the idea of financing a specific suite of features! For example, I’m desperately looking to make macOS’ Metal support by Blender a thing and with this kind of system it would be possible to gather people behind the idea, certainly more so than with a forum thread hidden somewhere in the attic…

2 Likes

AFAICS writing code for spesific features is (often) too risky for developers.

Most non-trivial features carry some uncertainty & chance of failure, which could be damaging for a developers reputation.

Anyone with the necessary experience to work on this needs to have the time available to devote to it, then have work to fall back on when the one off project ends.

Not that it’s impossible, in some limited situations it could work, just that I can see why many developers would avoid this.

2 Likes

First of all, thank you for replying. Your points make perfect sense.

For cases like “make edit mode faster” which have widespread implications, or “better child highlighting in collapsed hierarchies inside the outliner” which would obviously need to reach some sort of agreement on the design end, I can definitely see this not to be a realistic solution.

For other/smaller things like “make shape keys work for matching vert numbers and not require matching vert count” I could see it being practical though. Just one example, but makes the difference between being able to build proper head rigs and having to work with severe limitations in that field.

Anyhow, I can see this becoming a big confusing mess as well as creating a huge overhead. Still, I’d pitch in for the odd fix/feature for sure. :slight_smile:

1 Like

If there is a new Code Quest performance should be the main purpose, not new features. Edit and Sculpt modes, Undo system, OpenSubdiv and Viewport Animation, Modifiers (New everything nodes?), physics simulations.
Also try to make the interface as fluid as possible when working while heavy work where sometimes the interface becomes uncomfortably slow/laggy.

3 Likes

Thx a lot for your input,

It is really interesting to have a developer point of view on this proposal.

True, failure to deliver ‘‘promised’’ feature/fix would damage developer & BF reputation and make users angry.

As @dan2 said, I would still be willing to finance some sort of ‘‘fix’’ project, small or big. But I understand now it is more tricky than it seem and that money is not a magic solution to everything :slight_smile:

TIL - I am apparently in the minority for being much more positive twoards trying and failing than not trying at all for fear of damaged reputation due to failure. :frowning:

Then again it makes sense. I’d be lying if I said this wasn’t at least somewhat true for my art, as well.
Though we learn so much more from failure. Or could get better help if others were more helpful and less judgemental towards others, as well.

2 Likes

I do agree that a solid plan would need to be in place before any such quest starts, because it is frustrating to everyone if it turns out you guys just wasted a lot of time and money on something that couldn’t be delivered. This is something we should know about already because it has happened in Blender development before.

However, a quest to improve things like performance could be more doable if it could be broken down into smaller steps (which can be done independent on one another). Many tasks on the developer site already have a description of a larger project, but broken down into bullet points that do not always need to be completed at the same time and perhaps not even in order. With the steps in mind, it might help ensure that something was done that brought tangible, real-world benefit to users (even if the push did not accomplish everything).

2 Likes

Just to complete what I have said. All of us who are regulars on the Blenderartists forum know that there are some common questions from users.
One of them is users interested in acquiring a new PC/Laptop to have better performance in Edit mode, Sculpt mode, with physics simulations or better performance for animations in viewport. Unfortunately, we must answer that in most cases it is not a hardware problem, but rather Blender’s own limitations.

The second group of users are those who did not ask previously about the above, and they built a Top/High-end machine to better performance in Blender, but their messages are about showing their disappointment because they continue having performance problems.

1 Like

There was a conversation a while ago about making a benchmark of some sorts to measure edit mode performance accurately, similar to the render benchmarks. I’m sure it wouldn’t be super tricky but it would be helpful to get something semi-official.

I tried Blender on loads of highend setups and operating systems, for edit mode it doesn’t really make a huge difference after a point. It’s not like a $50k linux setup is even 10 times faster than my crappy old macbook. More like 3-4 times tops. Comparing it to a mid-range desktop setup the difference is a lot smaller.

I’d be interested in a core devs opinion, not a super elaborate plan, just something from the top of their head. If it’s a straight “no effin way can this be done on the side, even if everyone would agree how things would work with modifiers and undo, it’d take years” or “some of the steps described in the fast edit task could be tackled on their own without having serious implications on other areas”.

2 Likes

Right, someone could have a more broad goal, where they won’t have their toes held to the fire if some spesific tasks don’t succeed.

In general though, this isn’t very motivating for developers still, consider how the stars must align.

  • An capable developer needs to be unemployed…
  • Who is good with PR and communication as well as development to get the Blender community on-board.
  • Which they will self manage (so they must be experienced too).
  • They need to be able to work with the existing developers who might not accept some of their patches without modifications (be a good team player).

… Maybe it’s not as unlikely as I suggest, an experienced developer could take a sabbatical for example … who knows. It’s just that the situation isn’t all that attractive for most developers - AFAICS.

I tried doing this years ago, while the project succeeded, there was a reasonable amount of setup and follow up work, which makes these kinds of projects even less attractive.


What could work is a developer could be crowd funded to work on what they’re good at, taking feedback from the community - this removes the setup/follow up hassles, as well as having to get too caught up in communicating every project.

The down side with this is they will mainly be funded to work on new shiny things, where their work (if they’re writing enough) will need fixes/maintenance too.

So it ends up being a kind of parallel (individual?) blender development fund, that will have to deal with the same kinds of issues the existing development fund handles - with long term maintenance, etc… (more could be written on this).

Other developers may have a different take on this, depending on their experiences.
Whatever the case, developers are free to try this out.

2 Likes

A good plan can only do so much to avoid the project failing.

I’d argue it happens quite rarely - more common is that projects are not finished at the level we would like, the developer gets assigned to other projects - which is different to finishing a project then throwing away the code.

Such criticisms should consider what’s typical in the software industry too, I can’t say if Blender is better/worse than others, only that there have been high profile cases of this happening, including other 3D applications.

Hi,

For anyone reading this thread, I would recommend to look at this RCS proposal by @dan2, to begin with. Plan something like 30 min to read all the comments. But there is a lot of good arguments (pros and cons) about a Feature Fund/Feature Quest proposal.

This podcast in general and in particular this episode : ‘‘Open Source Software Is Not a Public Service’’ is also a good watch. It just make you understand that even if Blender is Open Source, it is not ‘‘your’’ project, even if you give them money. I’m saying this because I do not try, with this thread, to tell BF how founding should be make. But to share my idea of how, maybe, focus ideas could be finance.

I know there is already https://www.bountysource.com/ but I have never try it and I’m not aware how it is working exactly.

The only Blender Dev I can think who was finance by the community was Pablo Dobarro. As I remember he was developing his custom sculpt branch by receiving money through Patreon. But that is the other way around (he developed something then receive money).

What about a ‘‘real life example’’ of how that could be done ? :

  • Right Click select is already a good starting point to link idea with founding

  • Each RCS proposal could have a ‘‘I support this proposal’’ option to raise some money

  • Linking money with proposal would encourage people who are serious about their idea to shape them well instead of just throwing a few lines with no pictures

  • Next step : If the author of the RCS see there is some interest and founding coming in. He would be require to write a more official proposal following some sort of ‘‘blue print’’ already establish by the Blender Foundation. This blueprint is what a future developer would look at, instead of scrolling around 150 comments.

  • Then if founding is present and there is a good plan with all the details, ‘‘green light’’ could be given to the proposal and any interested developer could take the project in hand if he consider the amount to be sufficient… Else founding would increase until an interested developer take the task.

  • Money would be given after the completion of the project or certain pre-established goals

  • There could be a ‘‘no promise of success’’ policy to merge the code inside the master branch (depending on the quality of code, presence of bugs etc…), but at least a custom build with the advancement/feature could be supply to the user and a commit be created on developer.blender.org for future implementation, review.

4 Likes

I think in order for this to work the platform maintaining the requests might need to be independent. RCS would be a great place for it, it might create high expectations though, people thinking it’s something official. Maintaining such a platform would mean a considerable overhead and commitment as well, which can’t be expected from the BF.

The second, most important thing would be setting expectations. Even if something is well planned, if everyone is on the same page, and the developer/developers are highly competent, there’s no guarantee that the fix/feature makes it into Blender. The way I see it, if it’s advertised as high risk investment people won’t be as upset the way they feel with failed kickstarter projects.

There is a large user base who’re waiting for specific things. Be it something that can be done in weeks, like pointiness in Eevee or fancy texturing a’la substance which could take years. The developers are super slammed with a million projects equally important, but streamlined funding could help users to get what they’re waiting for, faster. Emphasis on could. I’d threat it as high risk investment.

1 Like

Something like this could work… considerations.

  • Who is going to do this?

    Most discussions on this topic are discussing work for “someone else” to do.

    While that’s OK, at some point the person who would actually do this needs to show up. From years of this kind of topic coming up - it seems nobody actually want’s to set this up.

    Are you proposing to do this yourself?

  • Talk to developers!

    The kinds of developers who might take part in this. What do they think of this? What would make them want to be involved?

  • Be aware of the risks!

    It might be this attracts people who are happy to get a patch working at the bare minimum level, accept the money, then stop development (someone else might need to finish their patch to get it into Blender … which might not happen). Even if problems like this get addressed - user trust in the system could drop, making it unsustainable (you only get so many chances to make these kinds of mistakes).

    While I don’t have first hand experience, I’ve heard that holding other peoples money in bank accounts for long periods of time has complications regarding TAX (bounty source had some issues here IIRC)… just to say even if you know what you’re doing - the money side could become complicated.

    Maybe the most likely risk is this just takes a lot of time & energy to get off the ground - without any certainty of gaining much attention from developers.

  • Suggestion: Start Small!

    You could try some kinds of in-between project - for example: have a Patrion who’s members pay monthly & vote on proposals, accumulates money to fund those, after these finish, pick other project(s) … this at least could be done with much less up-front development.
    Although I’d hazard a guess this is still a lot of work on the communication side (talking with users/developers… etc).

    You would effectively be running your own Blender developer fund… maybe that’s OK. You could take some percentage for the coordination work.

    This has the fairly big advantage that you can start small and iterate.

    OTOH, this is “real work”, you need to gain user trust, promote what you do. Be sure you’re funding trustworthy developers. Whoever does this is giving themselves a job and needs to be able to sink time into this. They would also need to have some natural ability for project coordination, be able to tell when developers are being unrealistic … etc.

    Even if it’s not the end goal, the experience you would gain here would help a lot with any further projects.

2 Likes