----- Original Message ----- 
From: "Nick" <devel / nicreations.com>
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>
Sent: Sunday, November 28, 2004 11:31 PM
Subject: Re: Ruby GUIs and installation effort

>>> I recently went through the steps to get Tk working with Ruby under Mac 
>>> OS X. It was fairly complicated.  After all that work I found that GUIs 
>>> I had created
>>> under Windows didn't look very good on Mac OS X.  I then decided to try 
>>> FOX. That required downloading the X11 software from Apple.  I installed 
>>> that and
>>> then found that I didn't automatically get the X11 library files that 
>>> are
>>> needed in order to build FOX.  Maybe I'll get this figured out 
>>> eventually.
>
> Did you try RubyCocoa (http://www.fobj.com/rubycocoa/w.en/) ? If OS X is 
> your desired platform, then really this is the toolkit you should be 
> using.

OS X is just one of my desired platforms. I want to write the code using a 
single GUI toolkit and be able to run it under at least Windows, OS X and 
Linux. I'm undecided about whether using native widgets is important, but 
I'm leaning that way.

>>> The bottom line is that even if you take the time to write a great GUI 
>>> app.
>>> using Ruby, your audience of potential users will likely be quite small. 
>>> Installing Ruby is easy enough, but setting up a GUI toolkit is 
>>> prohibitively
>>> complex for a non-developer.  Compare this to Java.  Install the Java 
>>> Runtime
>>> Environment or use Java Web Start and Swing is available.
>
> This is assuming you want to install the ruby development environment on 
> the users machine so they can use your software. There are better ways to 
> do it. If you link the interpreter to your own "startup" binary, you can 
> wrap it in a bundle on Mac OS X, or have the start menu call it from 
> Windows. I've bundled apps on OS X and put the required libraries in the 
> Resources directory, and they start just like Mac OS X apps (and install 
> just as easily too). For Mac OS X, I'd say RubyCocoa is the best GUI 
> toolkit (It's available in Framework form for easy installation). For 
> Windows, you need to choose the toolkit that best matches your needs. For 
> Linux, the Ruby GTK bindings I think make the most sense. For 
> multi-platform apps, I think wxRuby works great on GTK, Windows, and OS X.
>
> In the end, it's not up to the user to have the libraries necessary to run 
> your app. You need to use the libraries that make the most sense for your 
> audience, and you need to install them in the best location. This requires 
> getting a little dirty with the installers, the ruby interpreter, and the 
> system at hand. But if the user can't install your app, then they probably 
> won't run it.

I agree. It seems though that "getting a little dirty with the installers" 
could be done once for all of us rather that repeated for every Ruby GUI 
application that requires portability to Windows, OS X and Linux and desires 
to be used by non-developers. Having a one-click installer for each platform 
that installs everything needed for a portable GUI seems ideal.