[QGIS-Developer] GSoC 2024 proposal : QGIS improve the graphical modeler UI and UX

Valentin BUIRA valentin.buira at gmail.com
Tue Mar 19 00:49:55 PDT 2024


Hi devs,

First of all, I am really glad with how my proposal was received last
month. Now, I tried to address all the remaining issues to finalize the
proposal

I'd suggest cutting back on the scope here. There's a LOT of work here, and
a lot of complexity. I'd strongly recommend dropping the extra "quality of
life" improvements


As Nyall and others have suggested I have trimmed down the proposal to
focus on essential features. Thus I reworked the proposal accordingly, and
shifted the planning to allow more time to handle the amount of new
features and complexity.

Something to consider in your UI designs is that there's two different
"types" of expression based values for parameters

An easy fix in the UI would be to have a drop down to select either
value input or expression input and have the button to open the editor
on the right of the widget.
I went with this solution, and updated the mockup accordingly. The
nodes ended up a bit more crowded than I would like, maybe there is a
more clever way to do it..

To sum up the mapping between old and new UI:

Value -> Exposed directly on the node  with an optional  "Data Defined"
Pre-calculated Value -> Drop down to switch to an expression then
exposed on the node
Model Input -> Drag & drop input socket
Algorithm Output -> Drag & drop input socket

Concerning Custom parameter widgets, I looked in the QGIS source code, and
it looks like the Gdal algorithms use them. I will make sure to include the
Gdal algorithm in test cases during the GSoC. Now if I understand
correctly, custom parameters are not currently reflected when used in the
context of the modeler (see for example the parameter 'Additional creation
options' in gdal algorithm is simplified to the default widget for
string).  How we handle them will also help solve the issue for non-trivial
input like the the "Fields Mapper" or the "Multiple Input Layer". I checked
in other software neither FME nor Unreal Engine(with a HashMap) display
this directly in the user interface. I think we can safely let them inside
the properties windows of the node/algorithm for now.

Care would need to be taken in handling existing models. I think the new
interface would have to be opt-in


I agree with you that we need to take extra care of existing models,
however I am not that keen to have the interface as an opt-in option. I am
afraid of the additional burden to maintain two systems alongside. I'd
rather spend a bit more time polishing the backward compatibility. For
instance, while the more natural flow will be left-to-right in the new
interface, the top-to-bottom will still be possible, and we can also play
with the collapsed version of nodes, I think we could end up with a rather
similar layout for most existing models.

Do you already have a mentor planned for this work?


I don't have a mentor planned yet. I could see multiple people interested
in mentoring a project to improve QGIS as an ETL. Ultimately I trust you to
pick the most appropriate person to guide me through this proposal.

Best regards,
Valentin Buira

Le jeu. 22 févr. 2024, 08:37, Valentin BUIRA <valentin.buira at gmail.com> a
écrit :

> Hi qgis developers
>
> My name is Valentin Buira, I'm a french student in urban planning and I'm
> interested in participating in this year Google Summer of Code to improve
> the graphical modeler.
>
> In particular I am interested in improving the user interface(UI) and user
> experience (UX) of the graphical modeler based on my previous experience
> with other node-based applications. If you are familiar with Blender the
> inspiration will be obvious to you but I tried to adapt to the identity and
> features of Qgis like the expression engine.
>
> You can find the proposal at the url :
> https://docs.google.com/document/d/1iXHMTylTHLljfHBITfuIfJzi4_4hpQifEvj5GkM8OCc/edit?usp=sharing
>
> So far I am happy with my proposal but I'm looking for feedback and
> suggestions, and also tips on the technical feasibility and the schedule of
> the proposal.
>
> On a side note, I will be attending the local code sprint in Grenoble the
> 26 mars. Where I will also discuss this proposal in person.
>
> Best regards,
> Valentin Buira
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20240319/e565c9f0/attachment.htm>


More information about the QGIS-Developer mailing list