Boost logo

Boost :

From: Greer, Joe (jgreer_at_[hidden])
Date: 2005-09-29 09:02:46

> Thats a good point, but is that not convention only? Its not required
> behaviour.
> Suppose I am on an XWindows system and I want MSWindows behaviour.
> point
> about locale is a good one. A sequence of user actions must map to
> state-machine that finally maps the sequence of clicks into a
> function such as Maximise, Minimise, etc. Maybe its possible to load
> map

If you want to have your application certified or branded on a
particular platform, then you must follow the style guidelines. Most of
the guidelines aren't written in stone, but gratuitous differences will
prevent you from getting your app branded. For many, this is important.

I think that any GUI should do its best to isolate the app logic from
the presentation style and allow for OS specific GUI behaviors to be
isolated away from the main program logic in order to facilitate easy
porting to various OS-s rather than trying too hard to make it seamless,
but vanilla.

For example, something a simple as prompting for a file, Windows
provides an API call for this that puts up the appropriate dialog box to
navigate to the file and select it. The box may be different depending
upon which version of Windows the app is running on, but the application
doesn't have to care and they will know that the boxes are arranged in
the appropriate order, have the right tab stops and shortcuts etc.
Every ported app I have seen gets this wrong and it is amazing how
jarring that is. I imagine that Mac users would feel the same, if they
were prompted with a box that doesn't meet the Mac guidelines. This
kind of thing is important for commercial apps.

I am not sure how to accomplish this separation of app logic vs GUI
logic, but it needs done if you want it used on non-unix systems. A GUI
that is tailored to allow unix developers to port to Windows and Mac
gets a big yawn from me. I would like a system that encourages
developers from every platform to write their apps in a way that allows
it to work everywhere and to do that, things need to be able to follow
different style guidelines.

I'm rambling now, so I will quit. :)


Boost list run by bdawes at, gregod at, cpdaniel at, john at