Zitat von Juha Manninen <[email protected]>:

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



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to