[Lazarus] Configure Build Lazarus

Juha Manninen juha.manninen at phnet.fi
Fri Dec 4 08:36:27 CET 2009


On torstai, 3. joulukuuta 2009 23:31:24 Mattias Gaertner wrote:
>[...]
> > There are also some logical mistakes in the UI. Like the Quick Build
> > Options page has separate settings for "LCL interface" Target and IDE. It
> > gives an impression you could set two different interfaces at once but
> > you can't because they are mapped to the same 
> > "LCL [<-typofix] interface" list on advanced tab.
> 
> You can build the IDE for qt and the LCL for wince.
> 
> > The dialog has some more issues with its UI design but I am planning to
> > write another mail of it and propose improvements.
> 
> The advanced page is for the IDE development or to compile the LCL with
> some special flags.
> The quick page is for those using svn or cross compilation.

Thanks for explaining.
I understand now that all the functionality there is needed.

But still, the UI design is not intuitive. I know this problem from my own UI 
designs. I had a great idea but still it needs some "dummy" user to click and 
find the problems.

Now the problems in Build Lazarus form :

1. Synchronized GUI controls. When synchronizing GUI controls they should not 
be placed on different tabs. The "Advanced" tab should contain some seldom 
used controls and they should not be changed automatically when clicking 
controls in "Quick" tab because it is not intuitive. There must be some visual 
feedback when the controls are synchronized. In practice they should be placed 
on the same form (or tab).

2. Redundant controls. I maybe could build IDE for qt and LCL for wince in two 
separate build runs but not during one build.
Those 2 comboboxes on Quick tab are synchronized to a single control on 
Advanced tab. They are exclusive to each other and thus misleading and 
useless.

3. For IDE developers only. I have basically just compiled Lazarus from SVN 
but still I am using the Advanced tab most of the time. I even get 
instructions like: "go to Advanced tab and deselect Examples".
It is used by most Lazarus users, I dare to say. Hands up who haven't used it? 
Even a programmer's innate curiosity forces him to look at it and study its 
logic. Detailed settings also work as visual explanation of what the quick 
options do. I select Build All. What "All"? Then I see the detailed list and 
realize: ok, that "All".

If you really want to create config options only for IDE developers then you 
should hide them in a separate dialog and show it with a certain command line 
switch. Then you must make sure that the remaining options are enough for 
everyone else.

To make my point clear I created a mockup, or actually changed the Lazarus 
project's form. Screenshots are here:

http://koti.phnet.fi/juhamann/Lazarus/BuildLazarusQuick.jpg
and
http://koti.phnet.fi/juhamann/Lazarus/BuildLazarusAdvanced.jpg

Notice how Advanced tab has only seldom used controls and they are not set 
automatically in any situation.

There is one more issue which I didn't change (yet). The quick build selection 
uses radiobutton which is not the best control here. A set of buttons would be 
better, or bitbuttons with some pics.
Those are not really radio-selections but shortcuts to other selections.
They can be partly changed and overridden.

I can make another mockup of the form with buttons if this idea gets any 
support.
I could even try to change the Lazarus code. This change is about GUI, not 
program logic, so maybe I wouldn't mess up things badly.


Regards,
Juha Manninen




More information about the Lazarus mailing list