[Lazarus] New compiler options page "Additions and Overrides"

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Jun 8 11:45:51 CEST 2013


On Sat, 8 Jun 2013 10:49:50 +0200 (CEST)
Michael Van Canneyt <michael at freepascal.org> wrote:

>[...]
> If I may chip in, defending the normal users:

Were they attacked?

 
> I can see why you're making this new page.
> 
> But this new page only makes sense when you use different build modes:
> For build modes, I think it is an elegant solution that lets you see 
> in one glance, what options are used in the various modes.
> 
> But build modes I consider something that only experts or powerusers will 
> use, those who do many builds for different targets/platforms.
> 
> The normal, casual user does not need this.

True. And he can ignore them, can't he?

 
> The additional specification of 'where the option is stored' is powerful, 
> but adds yet another layer of complexity, another source of misunderstandings, 
> and necessitates almost a dialog 'where did this or that option come from'.
> The additional option of 'to what to apply an option': same thing.
> 
> However, for the casual user, this is complete overkill.
> 
> For a casual user, the 'old' interface is clear, simple and accessible.
> There is no doubt where an option came from. All options are clearly visible.
> (OK, you may need to look on which page it is located)

Some new features for experts were needed and there were
several possibilities to implement them. With the 'old' interface
approach several pages would have been needed. That would have been
awkward for the experts and more confusing for the normals. With the
grid, a lot of expert features were combined in a single expert page.
In a normal application I would have marked it 'expert options'. But
since all programmers tend to think of themselves as experts, that would
achieve nothing.

In short words:
A single expert page is hopefully less confusing (aggressive).

 
> For those options that have no support in the IDE, the custom options memo is there.
> Please do not remove it. 

+1


> For example, I never understood why there is no support for 
> managing "defines" in the IDE, so I must resort to using that.

How would you manage "defines"?

 
> I am writing this email because I am afraid the lazarus devs may get 'carried away' 
> and elevate the idea of build modes to a status where it dominates the options UI.
>

> The point is that they make the UI more difficult to understand.
> 
> Hence my plea: For a casual user, build modes are an unnecessary burden. 
> Do not build the entire compiler options management around it.
> 
> I can see why you want them, I can see their use. 
> But please make sure you don't push them onto people that have no need for it,
> because it no matter how useful, they do make things more complicated to use.

What about a checkbox to hide the build mode options or maybe 'Show
advanced features'?
That checkbox itself would of course be disabled, when the
project uses advanced features.

 
> That said, I think the new page is a better idea than the solution Delphi used, 
> which - for a casual user - is simply horrible to understand and there is no way 
> to get rid of it in Delphi.
> 
> Please do not make the same mistake.


Mattias




More information about the Lazarus mailing list