> 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 ;)