-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve User Experience VarSets #17
Comments
@pieterhijma, thank you for your grant proposal: I have begun the committee review process and will keep you informed of the status as it is evaluated. |
Hi @pieterhijma , Do you plan to first complete the research for all features and only then start to deliver PRs, or is it going to be in parallel? |
This is obviously a good thing to pursue work on VarSets and make them better. I would just like to see a bit more concrete measure on the deliverables, ex: There are currently XX issues on the project, this plan involves addressing all the XX issues (plus any other VarSet-related one that would appear during the time of execution? 😇 ) so we have a clear metric and we can have a proper delivery report that can match more or less what has been proposed... |
@yorikvanhavre, I consider all these issues to be part of this project. Let me try to be as concrete as possible. Any VarSet-related issues that appear during the execution and fall into this scope, I consider to be part of the project as well. I'll elaborate on the scope below. Although it is sometimes difficult to quantify the progress of a project, I think this particular project lends itself well to it. A concrete measure on deliverables:
Concerning the scope of the project, I consider the Add Property dialogs, the extra VarSet dialog in the expression editor, and the property view context menu (for renaming, refactoring, def-use chain) part of the scope. For this work, I can foresee somewhat larger changes to the core of FreeCAD, for example an analysis of the uses of properties for the def-use chain. I consider these somewhat larger change to be in the scope. Something I don't consider part of the scope, is a major rewrite of the property item editors as I explain in reaction to this comment. |
Ok thanks! That's fine for me :) |
Thank you again for your proposal, @pieterhijma. The grant review committee has reviewed this proposal and supports its funding. This recommendation will be sent to the FPA members, who will now vote on the proposal. |
Thanks for letting me know, that's great news. |
Thank you again for the grant proposal, @pieterhijma . The FPA has voted to fund this project. Please email [email protected] to coordinate payment. |
That is great news. Thanks to the committee for their recommendation and to the members for the support! |
Proposal description
The essence of the proposal is to improve the user experience in a workflow in which VarSets are used for designing parts. The proposed changes are composed of (see delivarables):
Now that VarSets gain more traction, users have submitted various issues with suggestions on how to improve the user experience. Resolving these issues will lead to an improved user experience which benefits FreeCAD users.
Deliverables
This work consists of three kinds of work that are presented in project Improve User Experience VarSets. For your convenience, I've included a screenshot of the issues that I consider to be part of this work:
It contains three kinds of work:
The issues that are marked "Discussion / Research" can benefit from researching implementation options to help the community to decide what is best given resources and choices. For example, renaming is contentious because some users foresee large problems if users have control over renaming properties, whereas other users consider this part of the users' responsibility. This discussion is difficult to move ahead without researching the ramifications of changing properties.
For the issues marked as "Dicussion / Research", my role would be to research the various options, report back to the users on the forum or in issues, and to consult with the design working group. If we can decide on a clear path forward, I will try to implement that.
The category "New feature" provides issues that provide users with new functionality that helps a workflow that makes use of VarSets. These issues aresomewhat larger units of work.
The category "Small issues" consist of various issues that are relatively easy to solve.
Finally, the issues marked as "Part of discussion" are all related to a specific "Discussion / Research" issue (see the comment) and will be taken into account in the respective discussion.
The aim is to deliver all improvements in small PRs that are related to these issues.
Timeline
Since I'm now working on #10 and #4, I would schedule this for the period of January to April. However, if necessary, I can reschedule the grants if this work is deemed to have more priority.
Risks and mitigation
I recognize two risks: One risk is that the "Discussion / Research" issues require much discussion before consensus is reached. This will delay the implementation of a solution. To mitigate that, I will try to suggest to find consensus on little steps to ensure we can create PRs for these little steps.
Another risk is formed by the new features because there are dependencies. Refactoring properties will rely both on renaming properties and analyze the def-use chain. To complete this as much as possible, I may guess on the outcome of the discussion or implementation direction and create a somewhat larger PR that shows the functionality as a proof-of-concept. This larger PR can then be dissected later into smaller PRs to reach the same functionality.
Compensation
I would like to carry out this work with for a total of 8000 EUR.
About you
My name is Pieter Hijma (
pieterhijma
on the forum andpieterhijma
on GitHub). I'm a self-employed software developer (https://pieterhijma.net) and as a co-founder of the Open Toolchain Foundation, I would love to contribute to improve FreeCAD as it is an important part of open toolchains.I have introduced Variable Sets to FreeCAD's code base and introduced the current GUI features. However, I largely agree with all the feedback from users and am highly motivated to improve the user experience.
The text was updated successfully, but these errors were encountered: