> On 4 Dec 2014, at 18:52, Stephen De Gabrielle <spdegabrie...@gmail.com> wrote:
> 
> How does your team manage tracking native L&F? I'm assuming you have your own 
> gui toolkit and you mimic the platforms you target as closely as possible?

Yes, the GUI toolkit is 100% non-native.

Over the last two releases we've developed a skinning system for widgets based 
on delegation. Prior to that it looked 'sub-optimal' shall we say (i.e. Windows 
XP and a poor simulation of OS X 10.2). That's been a problem for the entire 
lifetime of the product - well, apart from when it was called Smalltalk-80, 
when it defined GUIs :)

It's complicated in Smalltalk because you save an image on one platform and 
open it in exactly the same state on another i.e. in the middle of a debugging 
session. So it has to be a 100% dynamic adaptation.

On OS X we now draw native controls offscreen and use that as the artwork. On 
Windows we use UxTheme.dll, although it has some issues in that it doesn't 
actually look the same for some controls such as sliders, so I'm investigating 
using the same strategy as OS X in some places. This is how we track the 
underlying platform UI. It's more work than it sounds because the content such 
as buttons labels and images is pure Smalltalk, not native rendering, and 
things like OS X focus rings are really painful. Apple don't make it easy.

Note that's only the look side of the equation. People can live with look 
issues far more easily than feel issues. Get in the way of muscle memory and 
severe displeasure is the result.

Finally, cross-platform development involves more than just the widget looks. 
There are structural UI issues that need to be abstracted over, and things like 
icons and images need to be customised if you want something that doesn't look 
like lipstick on a pig. The best strategy is to design for OS X first, because 
that platform and its adherents (e.g. me) are far more demanding.

Antony Blakey
--------------------------
Ph: +61 438 840 787

Human beings, who are almost unique in having the ability to learn from the 
experience of others, are also remarkable for their apparent disinclination to 
do so.
  -- Douglas Adams 




____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to