godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.12k stars 69 forks source link

Create feature development surveys according to user need / priority #2097

Open alexfreyre opened 3 years ago

alexfreyre commented 3 years ago

Describe the project you are working on

Some ideas for our Godot community.

Describe the problem or limitation you are having in your project

When I go in to observe the PR that exist to find out what the community wants and what direction Godot will take or to personally create one in the proposals repository, I see tons of PR and I feel a bit disoriented in a sea of ideas.

As a result I don't see clearly what people want in a general sense, what core developers think about it and what will happen with Godot in both the near future and in a long term, which worries me because it is my main work tool.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

I think that the PR system is great and extremely active, but it does not allow to perceive clearly or on a large scale what is happening or what decisions are made. I love Godot's polls because they clearly show what the community does and wants. It is also reflected in quantity and in percentages which is wonderful.

I propose to create surveys that remain open until a new version begins to develop. That the number of users, the number of features on request or the number of requests for the same feature is constantly increasing. Each user could create a new feature request or increase the priority of an existing one. These features could be delimited by fields such as PR, rendering, core, editor, etc. Or could be defined for major or minor versions.

And the results of the surveys would show what the people really want and the priority / need of the community with numbers and percentages. Then both the community and the core developers can clearly see what is happening, what is needed, what is a priority and for how many. For the development of each version, a number x of features to be implemented could be defined, due to complexity, time or availability of developers, etc.

These are simply ideas to discuss as a starting point, if this PR is considered. :smiley:

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

It could be a web page, it could be a survey like the previous ones, it could be similar to the PR repository. It is subject to discussion.

If this enhancement will not be used often, can it be worked around with a few lines of script?

It is intended as something apart of the editor.

Is there a reason why this should be core and not an add-on in the asset library?

Neither part of the core nor as an asset.

alexfreyre commented 3 years ago

note: I've often noticed that Godot's missing features that may be done in other engines are missing for a matter of time. Core developers know what is missing, what to do and how to do it.

This PR aims to show the needs and priorities of Godot users. Also draw attention to features or fields that the community demands more, so instead of 200 people opening 200 PRs about the same or something similar and thus control the number of PRs according to the top request and then open discussions like the one @reduz did for the development of particles for 4.0.

clayjohn commented 3 years ago

It sounds like you are describing the proposals viewer which Calinou recently worked on. :)

https://godot-proposals-viewer.github.io/

YuriSizov commented 3 years ago

What clayjohn said, but also a correction. PR, in case of GitHub at least, stands for "pull request", an incoming code modification, a series of commits, pending review. This repository is for proposals, not PRs.

For PRs we prefer that they are exclusively based on things that are either already requested and supported by community or that fix recorded and confirmed issues and bugs. So if an actual PR exists, it's probably what community wants and needs already.

alexfreyre commented 3 years ago

It sounds like you are describing the proposals viewer which Calinou recently worked on. :)

https://godot-proposals-viewer.github.io/

I will see it now, I have not seen it! But I think it is great, because it means that we, as a community, are thinking similar. I feel very happy to hear that!

What clayjohn said, but also a correction. PR, in case of GitHub at least, stands for "pull request", an incoming code modification, a series of commits, pending review. This repository is for proposals, not PRs.

Ah! sorry, I wrote a proposal in the issue section. I am spanish speaker and I thought that PR = PRoposals not Pull Request :smile: ,

alexfreyre commented 3 years ago

It sounds like you are describing the proposals viewer which Calinou recently worked on. :)

https://godot-proposals-viewer.github.io/

Yes, I have seen it now and personally I think it can be simpler to the eyes, it is like the same but a little bit organized, not what I am proposing. The topic of each proposals are long and aren't organized by main topics, I am talking about simple features names like, "motion-blur" "UI" "realtime something" "my short feature request", which people can support +1 and its topic will increase in priority.

The previous polls @reduz did were great, so simple, with charts, with numbers and percentages.

I recommend to use our common main topics core, rendering, physics, etc with all its numbers for each feature request inside and see in general what users claims most.

For example:

From top numbered above to lower below, but with a very short name or a tag for the polls, keeping it simple and then a pop-up with the name of the Github proposal and its link, Aiming the proposals here like a more detailed thing, with a long description and a space for discussions, but leaving the thermometer in the surveys.

I think it is better to have 1 big and organized proposal with a discussion instead a proposal for each user, so some tags or features request can point to the same proposal here, for example request_xa numbered with +80 and request_xb with +55 point to proposal X with a priority of +135 and its discussion, and in the end that feature_request -> proposal with other ones increase the priority of a main topic, for example previous +135 plus other group ya + yb = +222 then rendering priority = +357

Circular charts in real-time with percentages of main claimed features or tags or topics for example

rendering 50% -> 2000 users physics 49% -> 1999 users

then a chart for the rendering features request and another for physics ones, etc

I often see non-developers proposals here in Github, not very well done/presented (like some of mine, :smile:) the fact is that artists/musicians/modelers/designers/animators/etc in general don't know how to program nor what is needed to develop some feature and their claims look inconsistent, but the underlying need remains and generally applies to many people.

so I think about this proposal repository is for everyone but more for developers, because non-developers often opens surrealistic proposals objectively unrealizable but those in another discussions have pretty good points/ideas.

So the polls will be more for non-devs people and devs too of course.

I think with a system like this people (users and devs) will feel with more control about Godot development, something that you all core-devs always say that Godot is community guided, so this ideas aims to show clearly what people claim as a need and its priority.

alexfreyre commented 3 years ago

In the @Calinou solution https://godot-proposals-viewer.github.io/

there are 42 pages and 15482 words according to wps-office, nobody have time to read all of that sentences and support some of them, it needs to be a simpler way

And the score I think needs to be in a general sense for the feature not within for every comment, because people can like an answer of a comment which is against of the PR for example.

Calinou commented 3 years ago

I think it is better to have 1 big and organized proposal with a discussion instead a proposal for each user

In my experience, small, focused proposals are always better than lumping many ideas together in the same proposal. It makes things far easier to track.

there are 42 pages and 15482 words according to wps-office, nobody have time to read all of that sentences and support some of them, it needs to be a simpler way

The proposal viewer I made is designed to:

I didn't design it for any other purpose. It is not intended to be a way to evaluate proposals for inclusion :slightly_smiling_face:

alexfreyre commented 3 years ago

In my experience, small, focused proposals are always better than lumping many ideas together in the same proposal. It makes things far easier to track.

I have ideas to bring but not experience on develop Godot, so I aim at least one of my ideas on this or on something else could help you to improve Godot in some way, that is the intention! :smile:

better this way, small proposals!

Xrayez commented 2 years ago

I think Godot Discussions can be used for this purpose, available now in https://github.com/godotengine/godot-proposals/discussions.