[Lazarus] Lazarus for Intel Mac

Brian Prentice bprentice at webenet.net
Fri Nov 13 19:12:05 CET 2009


There's a bit more to UI design than layouts. Unfortunately this brings up the idea of "aesthetic", something that many developers are vocally uncomfortable with (i.e. challenged).

Consider the Preferences dialog in Mac Leopard's Mail client:

http://web.fastermac.net/~MacPgmr/Lazarus/Screenshots/mail_prefs.jpg

First look at the controls themselves. The glyphs at the top operate exactly like a TPageControl. Only it doesn't look anything like a TPageControl. Consider the history of the tabbed control. The first one I can recall was in IBM's OS/2, which looked exactly like a schoolchild's spiral notebook, with the spiral (wire) on the left and tabs on the right. When Microsoft added this to Windows, they got rid of the spiral and moved the tabs to the top, making them resemble corporate file folders. Now we have Apple's latest take on this. And what does it look like? Well, no metaphor or analogy comes to mind, but it certainly is something that any schoolchild could figure out how to use.

Note some characteristics of this dialog:

- Both glyph and text at the top so you don't have to puzzle out the glyphs or wait for some hint to pop up. Often Apple makes this optional, so you can choose to show just glyphs, just text, or the default, both.

- No Cancel or Close button. Apple seems to be moving away from what they standardized, which is the dialog that has OK/Cancel buttons or a Done/Close button. In this dialog, Cancel doesn't make sense since any change you make is immediately applied and reflected in the underlying app. Lazarus has a dialog like this (Project Inspector) where changes are applied immediately. However, in both cases I wouldn't mind seeing a Done button - clicking the close box always makes me wonder whether I'll lose my changes.

- Help button stands out yet doesn't intrude, doesn't take up much space.

- Button to the right of text are clearly labeled "Select" so nothing is left to chance. In Lazarus Compiler Options dialog, there are similar buttons, although labeled only with an ellipsis (...) - not quite as clear, particularly as there's plenty of space to widen the buttons and put a decent label on them.

I would submit that there is an operational aesthetic at work here in Apple's dialog, in addition to great looking controls.

Speaking of controls, one question that comes to mind is whether you could design a dialog like this in Lazarus.

I tend to design dialogs in what might be called the style of "VCL Gothic". Lazarus is like that too. That is, most dialogs are modal, most have OK/Cancel buttons in lower-right, etc. Right out of Delphi.

3 examples of the same dialog with different widgetsets:

http://web.fastermac.net/~MacPgmr/Lazarus/Screenshots/lcl_win32.jpg

http://web.fastermac.net/~MacPgmr/Lazarus/Screenshots/lcl_carbon.jpg

http://web.fastermac.net/~MacPgmr/Lazarus/Screenshots/lcl_gtk2.jpg

I like the look of all 3 of these (VCL Gothic aesthetic). There are some differences, though. For example, the Arial font on Carbon seems to be a bit wider than Windows' Arial and the font substituted for Arial by GTK2. And with the TCheckListBox at the top, you can't specify a horizontal scroll bar, yet GTK2 adds one anyway, apparently determining (correctly) that one of the items further down in the list is too long for the horizontal space.

But does any of these really look like a dialog you would find in Mac software? I would say no - they look like VCL dialogs ported to Mac.

Thanks.

-Phil



----- "Philip J Hess" <pjhess at purdue.edu> wrote:

> ________________________________________
> From: Hans-Peter Diettrich [DrDiettrich1 at aol.com]
> Sent: Friday, November 13, 2009 6:14 AM
> To: graemeg at opensoft.homeip.net; Lazarus mailing list
> Subject: Re: [Lazarus] cross platform [Re:  Lazarus Goal]
> 
> >This is an argument for a Web (Delphi IntraWeb?) layout, portable
> across
> >platforms, because it doesn't rely on any platform specific
> conventions
> 
> "There's an app for that":
> 
> http://code.google.com/p/extpascal/
> 
> Thanks.
> 
> -Phil
> 
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus




More information about the Lazarus mailing list