Crossplatform LAFs

Way back when I started my solution I chose Kunststoff as the most appealing LAF. Been building it ever since on WindowsXP and testing on a Mac. There’s some minor annoyances but nothing major. That’s definitely not the case with Apple’s default which is a disaster, at least with my forms developed under Kunststoff. Now I’ve heard Kunststoff is not recommended for Macs.

What LAFs are recommended for development which work well on BOTH platforms?

I develop on a Mac under the default LAF (thus the Mac OSX look).
I test under Windows XP and Linux with the default LAF (thus the Windows and Kunstof look).
All works fine for me.

So I am sure not why your forms are a ‘disaster’ with the Mac OS X look.
Can you show us a screenshot (linked from your own web server since this forum doesn’t do attachments) of what you mean with ‘disaster’?

ROCLASI:
I develop on a Mac under the default LAF (thus the Mac OSX look).
I test under Windows XP and Linux with the default LAF (thus the Windows and Kunstof look).
All works fine for me.

So I am sure not why your forms are a ‘disaster’ with the Mac OS X look.
Can you show us a screenshot (linked from your own web server since this forum doesn’t do attachments) of what you mean with ‘disaster’?

I’m using WindowsXP for development, my Mac for reviewing the look and feel. I chose Kunststoff within the first few days of development.

I’m using tabpanels a lot (as probably most are). Under Kunststoff the tabs are flush left. I’ve used unused space on the right for a modifying popup. However Apple puts its tabs centred. I love Mac but that’s one of the dumbest interface things Apple has done recently.

Another effect of Apple’s interface is to present tabpanels in a much abbreviated space requiring scrolling to see everything there. Possibly I wouldn’t have this problem if I were developing with Windows native LAF. It’s anybody’s guess if Apple’s LAF translates Windows LAF properly. Just don’t know.

If I switch the Mac user to Kunststoff then the look is nearly identical with the Kunststoff look on Windows. Check boxes don’t appear quite perfectly, but at this stage not all that bad.

Yet I keep hearing people (including Servoy staff people) saying Kunststoff isn’t recommended on Mac.

Therefore my question. What LAFs are recommended which work well on all the major platforms?

Morley:
I’m using tabpanels a lot (as probably most are). Under Kunststoff the tabs are flush left. I’ve used unused space on the right for a modifying popup. However Apple puts its tabs centred. I love Mac but that’s one of the dumbest interface things Apple has done recently.

That ‘unused space’ is in fact part of the tabpanel control.
So you are placing other controls on top of the tabpanel control.
This is considered bad practice in any environment.
Especially when you use controls that are generated by the OS. (a LAF in this case). In other words a control where you don’t control the look yourself.
So when the look is changed because of a new version of the OS or something you need to redesign your forms again.
For all we know Microsoft might decide at the last moment to put their tabpanels on the right side in Longhorn.
You can’t gamble like that.

If you really want to use the space on the right side then use a hidden tabpanel, create your own tabs (images) that switches between the (hidden) tabpanels.
Only then you will know things will keep working like you intended to when LAF’s change.

Morley:
Yet I keep hearing people (including Servoy staff people) saying Kunststoff isn’t recommended on Mac.

Therefore my question. What LAFs are recommended which work well on all the major platforms?

I don’t know if Kunstoff works badly on a Mac. I haven’t had that experiance. Then again I hardly use it since I believe that a user wants to use a solution that looks and feels the same as the platform they are working on.
So that means a native LAF.

So that is my recommendation.

Hmmm. A lot of silent viewers of this thread but no discussion on crossplatform LAFs – other than a defence of the platform default LAFs. Odd, considering Servoy went to the trouble to provide support for LAFs and install several to play with, plus the existence of hundreds on the net to choose from.

Question: is everyone sticking with the platform default LAFs? Would I be correct in guessing there hasn’t been much experimentation in this area?

I have done a lot of experimentation with LAFs on both Mac and Windows and there really isn’t such a thing as a LAF that works well on both platforms. (Actually, one called “napkin” works very well if you are looking for a hand drawn look.) I’m not sure why this is but most LAFs on the Mac besides the default are flaky.

I also agree that the default tab panel on Mac 10.3 is not my favorite look. 10.2 had a great looking tab panel. Too much space is taken by the tabs and they are in the center.

If you are developing solutions for x-plat consistency you have two options:

  1. Develop in such a way as to maximize the native LAFs. This entails keeping plenty of room around objects, sticking to defaults as much as possible, not expecting pixel-perfect layouts, and being content with the way Java looks on both platforms.

  2. Bypass LAFs entirely. Don’t use default settings for any object (including form background), create your own tab buttons, use professional graphics for your buttons, don’t allow the client to change LAFs, and test everything on both platforms!

Once you start customizing a little bit, you pretty much have to go all the way. An example of this is the sample crm application on the Mac. It uses a custom color scheme for the backgrounds and beveled fields which conflict with other objects that have default settings (tab panels, comboboxes, font settings, etc).

So go with all defaults or with all custom. With some trial and error, you can get very good x-plat results with either way. The second approach takes quite a bit of extra work but you can get a pixel-perfect UI this way.

Thanks David. While that’s not welcome news, that’s useful background.

In the meantime I’m finding Kunststoff, while not perfect, is workable. I’ll return to this issue further down the road.