> In the end, I think that the best solution is to design GUI API for Ruby,
and
> then require toolkit bindings to conform to that API.

Don't you then run the risk of reducing the underlying toolkits' unique
strengths to a lowest common denominator -- the same problem that you flamed
AWT for earlier in your post ("... the limitations are many, but most of
them arise from the fact that not every OS supports the same widget
features. Therefore, your widget options are the subset of widgets that are
supported by all GUIs, which is much smaller than the set of widgets
supported by any one GUI.")?

By the way, didn't we have this discussion on the newsgroup just a few
months ago? This:

    http://www.rubygarden.org/ruby?AbstractionLayer

looks like the beginning of the thread but I don't remember where it went
from there ;)