> -----Original Message-----
> From:	Ben Tilly [SMTP:ben_tilly / hotmail.com]
> Sent:	Friday, March 09, 2001 8:02 AM
> To:	ruby-talk / ruby-lang.org
> Subject:	[ruby-talk:12334] Re: GUI Toolkit for Ruby
> 
> "Conrad Schneiker" <schneik / us.ibm.com> wrote:
> >Kevin Smith wrote:
> >
> >jjthrash / pobox.com wrote:
> [...stuff about gui wrappers benig hard...]
> >Other people in other languages have examined this issue without any
> >apparent success. Ever wonder why the Perl world doesn't brag about the
> >GUI equivalent of DBI?
> [...]
> 
> First of all Perl is not a great choice for writing GUI
> applications.  But even so, as someone who doesn't
> really enjoy GUIs very much there is one feature that I
> really, really wish someone would put into one of these
> toolkits, something which could probably be made portable
> across toolkits.
> 
> Why isn't there a way to take something that was written
> as a GUI application, flip a flag, and have something
> with a reasonably scriptable interface that can be used
> from batch-mode?
> 
> I don't care what your graphics look like.  Where can I
> enter text?  What buttons are available?  Please, please
> please when you alert me, don't bother putting up a box
> that needs to be clicked.  There are no humans to care,
> and I want to be able to handle that case...
> 
> I think that this is lowest common denominator enough
> that it should be possible to do this portably.  And it
> would be very, very nice to have an easy way to get a
> scriptable interface to someone else's GUI application.
> 
> Cheers,
> Ben
> _________________________________________________________________
> Get your FREE download of MSN Explorer at http://explorer.msn.com
> 
	[Bryn Keller]  

Ben's got a great suggestion, which aside from helping with system
administration would also enable accessibility. Writing a cross-platform,
cross-windowing-toolkit GUI is far from easy. The difficulty goes way up if
you want to support internationalization, accessibility, or even drawing. 

<rambling>

Dylan's DUIM
(http://www.functional-objects.com/products/doc/dguide/index.htm) is one
interesting attempt (interesting because Dylan idioms are often reminiscent
of Ruby idioms, and because people have said nice things about it),
wxWindows and Qt are two others. I've written one myself in Python that
currently runs on Qt or Java Swing. All have their weaknesses. 

Starting with a strong MVC bias is probably a good way to do it, and if you
work really, really hard, the payoff could be handsome - if Ruby had a
single, convincing answer to the question 'What GUI toolkit do I use?', it
might help improve the user base significantly. 

However, this is not a project that should be started lightly. If you want
to do this right, pick a cross-platform GUI toolkit which supports Unicode
(and other encodings, possibly) and is free on all platforms as one
implementation (wxWindows or gtk might be acceptable compromises, since
they're both moving toward I18N support, and Ben's text-only implementation.
Develop them simultaneously to keep yourself from cheating and making some
things inaccessible from the text version.

Don't forget to look elsewhere for ideas. Consider UIML (www.uiml.org), XUL
(www.mozilla.org/xpfe), Swing, and the SmallTalk GUIs. Read some books on
user interface design.

If people think this all the way through and still decide to do it, and do
it well, Ruby could benefit greatly.

</rambling>

Bryn