20th August 2016

Last day of GSoC 😦 . Wrapped up everything and submitted the final submission. Will be missing working late night Now, I will be trying to move back  to my normal daily routine.

Just extra work of making presentation related to my GSoC work left which is to be submitted by 31 August.


4 thoughts on “20th August 2016

  1. Hello,
    I don’t know if you still will work on this module, but I have comments on the overall ergonomy.
    This functionality is something I wait since I am using OpenSCAD, so I think it is worth to take some time to comment.
    To check on ‘real case’, I have made a few tests on one of the most simple model I have written (an effector for a delta printer), which do use a total of 24 variables, which shall all be presented to user, even if some are of less importance than other. I have others models (printers/simulator) with more than 50 variables. That may be an edge case, but there is no reason to limit the use to simple cases and tabs help organising. I tested the version you published on 06 August.
    1/ The widgets shall be presented in the order defined by the programmer, not in alphabetical order, which does not carry any intrinsic logic.

    2/ The label display is in option, but what shall be in option is the variable name, which is not user business if there is a label.

    3/ There shall be an option to have the label on the left of the widget, as is traditional in input screens, which means that you shall be able to control the relative width of the space allowed to the label and the widget (meaning left widget sides shall be aligned).

    4/ The border around each widget use a lot of space and it shall be removed (at least as an option). The label shall be closer to the widget and proper vertical space management will make the discrimination with less wasted space. This is even more important if the label is set on the left of the widget.

    5/ It can be useful to group some variables within a border/frame if they belong to a ‘functional group’ . Such group may have an optional title. This might be the same role as tabs, but within the same screen view, so a lower order structure. Maybe use /* [[group]] */

    6/ A variable named ‘part’ is often used to select printable part. It may got a special treatment, as being the first user selection. Notably it shall not be inside tabs, but above them (in the header ?). Maybe when there are tabs, all variables defined before first tab definition shall be above tab selectors ?

    7/ General ergonomy : There is no real point to have the input font size much lower than the label. They are information of equal importance for usability, so they may be in same font size, or with very low difference.

    8/ General ergonomy: The arrows of the spin widget are extremely small, a tiny target difficult to reach for people not very handy or people using trackballs. Even if it looks less elegant, two side by side square buttons of the height of the widget shall be used. If you use same font for input as for label, that will make reasonable target size.

    9/ Above comments may lead to more user options, so a preference window may be created. These preferences shall be attached to the .scad FILE, not to the OpenScad program, so another option is to create a syntax to define customizer preferences inline.

    10/ Tabs don’t work for me.

    11/ The manner to start the customizer as you explained in a post, shall be described in the manual.

    12/ Could you explicit at what moment the variables in the customizer screen are defined. Where they are located in program ? Before, as for the batch run ? After all variables definition ?


    1. Hi, Thanks for taking time and providing such a deep review and I will be continuing with the work of customizer.
      You would try latest binaries of 18th August at end of following post https://amarjeetkapoor1.wordpress.com/2016/08/17/user-interface-for-customizing-models-part-3/

      Now related to points that use pointed:
      1. We agree with you first point and its on the list.

      2. I am unable to understand your 2, 5, 6, 9 point.

      3. Your many points are related to GUI which will be focused after the core functionality.

      4. Its in manual already https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/WIP#Customizer

      5. Variables are defined in customizer basically when AST is created basically they are defined and checked every time. You save file or preview. In the .SCAD program they can be defined any where but not inside any function or module.

      I think you should report all the issues at https://github.com/openscad/openscad/issues/1781 . So, that they can be easily managed and solved.


      1. Hello,

        Indeed my comments are on the GUI, but I think you cannot separate GUI from your data structure and syntax.

        The Tab structure is GUI but is part of data structure and syntax

        The Group structure I suggest is also GUI but shall be described in syntax

        I also propose a syntax for the label position:

        // label on top of widget (as existing)

        //- Label on left

        //+ Label on right

        //-R Label on left, with widget aligned on right

        The last one shall be useful for tick boxes or radio buttons and will allow more text.

        My comments are more feature requests than ‘issues’, is it ok to enter then in issues ?

        I think anyway that the best to understand GUI features is a visual model, so I made some schematics



  2. The part that you suggested which require additional syntax support. Could be part of our final native syntax that we intend to support.

    and rest you could add the features part also to that link in your comment. Just it will be easy to track all the features in one place.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s