
--- Alastair Reid
The sadder news is that people programming to these constraints or designing GUI APIs to these constraints often forget that there is another way. Only by implementing and testing the design on multiple GUI platforms can we really achieve a portable design.
I would tend to agree with you except for the enormous number of counter-examples: Qt/Mac was introduced after Qt version 3.0 came out. Qt was used for years before the mac port was even conceptualized. The API did not change drastically with the addition of the macintosh platform. (change from rightclick to contextmenu memberfunctions was about the only api change). The Win32 port of GTK+ and gnome was a complete afterthought of these libraries. In this case, the core library interface didn't change at all and was ported to windows quickly. (ref: http://216.239.57.100/search?q=cache:V3R1bwF33FEC:lists.ximian.com/archives/public/glade-users/2002-April/001535.html+announce+gtk%2B+windows&hl=en&start=7&ie=UTF-8) When Motif was designed, window's didn't even exist. Yet, we still have 4 commercial libraries that allow motif code to run on windows. (ref: http://www.rahul.net/kenton/GettingMotif.html) The list goes on and on: XFree86 and various X11 libraries for windows, OpenGL which came from IRIX and has been everywhere, OpenInventer which has commercial windows implementations, tcl/tk is perhaps one of the best examples, fltk (www.fltk.org), . . . David J. Sankel