[Lazarus] Configure Build Lazarus

Mattias Gärtner nc-gaertnma at netcologne.de
Fri Dec 4 12:15:42 CET 2009


Zitat von Juha Manninen <juha.manninen at phnet.fi>:

> 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).

Both pages are distinct.
Either you use only the quick page or you use only the advanced page.
Instead of the tabs above maybe a check box 'Advanced options' would  
be better.
Because I only use the advanced options, I can't say anything about  
the usability of the quick page. This was created by some users.


> 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.

Maybe my example was misleading. The advanced page is not only for IDE  
developers. For example when I debug something in synedit that appears  
only under gtk2 I enable LCL+SynEdit.


> 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

Dividing the buttons and the edit fields is useful for the casual user.
For the lazarus devels who change targets and options frequently this  
would be bad.

Speaking for myself: I set this dialog on a short cut and I have so  
many options that the edit would be better a memo.


> 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.

If you put everything on one dialog: yes.

You are welcome to improve the build dialog.
But don't split the advanced page.


> 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.


Mattias






More information about the Lazarus mailing list