RubyGems and RPA

Richard Kilmer wrote:

>>> If we can make this possible, it would be great - I think it could
>>> help raise adoption of Ruby a lot. Conversely, if we make this
>>> harder, we lower the adoption.
>> I think you are ignoring a very important platform...Win32.
Realize that
>> Ruby is a very effective language for folks that merely want
to automate
>> their platform, and most computer users are running Win32
(unfortunate, but
>> true). For them, they want binary versions of libraries and a
graphical
>> installer. RubyGems does support win32, and will include a
GUI for gems
>> management.
>
> ...AND, we Win32 users don't want RubyGems (or any other packaging
> system) cluttering our normal installer.

Yes, well, _our normal installer_ is 11MB and growing, and it does not
include every library in the Ruby community. The idea is to provide a
downloadable ruby installer with basics and a GUI to download any other
library (as a gem) you want so you can work with them. I support about 20
different folks on my project here at DARPA who use Ruby on
Win32...they are
all different (from programmers to domain experts). They have
all suffered
through trying to install various libraries at different times to
help them
use this language I taught them and they now really enjoy. A
gems-based GUI
would help tremendously for Win32 users.

I'm the primary persono who has been maintaining the installer lately, and
this has been my plan. It's impossible to meet everyone's needs with a
single set of packages.

The idea is that the installer would include only an essential core and
would include the RubyGems browser to allow the user to pick additional
packages to install (either right then or any time later on). I would also
like to have a simplified set of categories or groups from which the user
can choose (like "Web Application Development") so that people who are not
familiar with the packages are not overwhelmed with meaningless (to them)
choices.

Curt

···

On 10/6/04 3:11 PM, "Austin Ziegler" <halostatue@gmail.com> wrote:
> On Thu, 7 Oct 2004 03:00:45 +0900, Richard Kilmer > <rich@infoether.com> wrote:
>> On 10/6/04 11:42 AM, "Eivind Eklund" <eeklund@gmail.com> wrote:

> I think you are ignoring a very important platform...Win32. Realize that
> Ruby is a very effective language for folks that merely want to automate
> their platform, and most computer users are running Win32 (unfortunate, but
> true). For them, they want binary versions of libraries and a graphical
> installer. RubyGems does support win32, and will include a GUI for gems
> management.

...AND, we Win32 users don't want RubyGems (or any other packaging
system) cluttering our normal installer.

We had some good conversations with people (including you, I think) at
RubyConf about how an upcoming/proposed post-install hook might help
integrate with the Windows install registry.

What are we actually talking about here? RubyGems is designed for the
packaging of Ruby libraries and applications. Those have no need to
use the registry. Oh.... applications, start menu, all that s..t. I
get it...

So, it remains on the list with everything else that needs to get
done. Will probably have to wait until we finalize how post-install
processing will work.

My sense is that most Windows users really _don't_ care too much about
this, but I believe it's important enough to put in for sake of
"rightness" and for the users who actually do care.

I'm getting lost again. What is it that Windows users care or not
care about? :slight_smile:

Gavin

···

On Thursday, October 7, 2004, 5:24:50 AM, Chad wrote:

Okay ... both Chad and Rich have misunderstood what I've said.

I want to manage Ruby packages only through Ruby tools. I do not want
to have fifteen separate installers (and fifteen corresponding entries
in the Win32 app list). Ideally, the RubyGem Win32 installer will
provide a way to manage this automagically.

-austin

···

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca
: as of this email, I have [ 6 ] Gmail invitations

Hello,

I'm getting lost again. What is it that Windows users care or not
care about? :slight_smile:

I use ruby on windows. I

* am frightened of integration with the registry
* am moderately excited about rubygems package management capabilities
* would like to be able to install rubygems w/out package management, w/out rubygems

To me, the important concern is that packages and metadata be saved in a form that is usable from many different angles. I've joined the rubygems devel list, and I will report on some spikes I will try over there.

This is a coding standards problem. I'll suggest a standard when I have a better idea than the current incarnation of rubygems.

Cheers,

Patrick

···

On Wednesday, October 6, 2004, at 09:30 PM, Gavin Sinclair wrote:

> My sense is that most Windows users really _don't_ care too much about
> this, but I believe it's important enough to put in for sake of
> "rightness" and for the users who actually do care.

I'm getting lost again. What is it that Windows users care or not
care about? :slight_smile:

Valid, interesting question.

Should we try to define different "target profiles" or "user roles"?

1) Ruby coders: IMHO, don't really need gui except for complex
installations, such as the case of the OneClickInstaller, that
prepares a full-blown workbench. Most experienced coders I know prefer
control instead of colours and whistles. (hey, they may want the
whistles if they can still be in control). Now, I personally believe
complexity can be encapsulated and hidden to some degree, but it must
always be accessible, and that´s goes for new ruby programmers too.
GUI installer examples from the extra-ruby world: the Tomcat
installer, the Java webstart installer, etc.
BUT: when you need to deploy applications INTO Tomcat, you don´t
normally use an installer, unless it's a really big thing and mission
critical that could also be prepackaged with Tomcat included.

When a developer uses an installer, becomes a user type 2: GUI user
setting up a full blown application.

When a developer installs a new library, module, extension, etc.
he/she is a user type #1: developer at work

2) Final user of Applications written in Ruby: here GUIs and
installers are the rule, not the exception, installation should be
seamlessly integrated with the default package management tool for the
host system (in case there´s one available)
ie: rpm for redhat, dmg for MacOsX, ¿¿ msi for windows ??
(really, what does "package management" mean in the Windows world ?)
A Ruby application shouldn't feel any different from one written in
another language in the same host system.
That includes setting the right registry entries, setting up, starting
and stopping system services, etc.
The Unix version of this would be writing configs to /etc, and
managing the SysV init system. (there might be slight variations of
this for different Linux distros and Unices)

3) Packagers: don't really need a GUI, except for tools that ease the
task to browse through categories of packages, perhaps task automation
for the building process and other niceties will come later. Still
all the GUI should ideally run as an alternative frontend, the
underlaying engine should be in place first and not directly tied to
any user interface.

The OneClickInstallers seem to be addressing a series of needs from
each of these roles.
I understand Curt's concern and it's a wise decision to present
optional packages as a category tree, I just think the installer in
this case should unify the criteria and be either an installer or a
gui frontend to a package manager, mantaining both can be a
nightmare.

that's all I can think of from the top of my head, there's probably
room for improvement

···

--
--- vruz

Gavin Sinclair ha scritto:

I'm getting lost again. What is it that Windows users care or not
care about? :slight_smile:

well, *I* would like to have the chance to repkg gems and rpas as .msi files.. t even use this ability, but I would like to have the choice.

Gavin, I initiated one of the RubyConf conversations about a RubyGem
post-install hook. I asked about it because Kaspar Schiess' Gem for
RMagick (http://rmagick.rubyforge.org) on MS Windows could use it.
When you install RMagick on Windows, you run the Gem like any other
Gem, but after the normal part is done you have to run a
"post-install" script, too. This script scans the Windows Fonts
directory and builds the font index that ImageMagick uses. IMO this
looks clumsy, and since it's unusual it's easy for the user to
overlook it.

Of course this step is unique to the RMagick install, but I think it's
likely that many extensions will want to add custom installation steps
to their Gem install. One of the nice features of Minero Aoki's
setup.rb (http://raa.ruby-lang.org/project/setup/\) is the availability
of pre- and post- hooks for all of the setup steps: config, setup, and
install. For example, I take advantage of the post-setup and
post-install hooks for the RMagick installation to build and install
the example images for the RMagick documentation.

···

On Thu, 7 Oct 2004 10:30:18 +0900, Gavin Sinclair <gsinclair@soyabean.com.au> wrote:

On Thursday, October 7, 2004, 5:24:50 AM, Chad wrote:

> I think you are ignoring a very important platform...Win32. Realize that
> Ruby is a very effective language for folks that merely want to automate
> their platform, and most computer users are running Win32 (unfortunate, but
> true). For them, they want binary versions of libraries and a graphical
> installer. RubyGems does support win32, and will include a GUI for gems
> management.

...AND, we Win32 users don't want RubyGems (or any other packaging
system) cluttering our normal installer.

We had some good conversations with people (including you, I think) at
RubyConf about how an upcoming/proposed post-install hook might help
integrate with the Windows install registry.

What are we actually talking about here? RubyGems is designed for the
packaging of Ruby libraries and applications. Those have no need to
use the registry. Oh.... applications, start menu, all that s..t. I
get it...

Austin Ziegler wrote:

Okay ... both Chad and Rich have misunderstood what I've said.

I want to manage Ruby packages only through Ruby tools. I do not want
to have fifteen separate installers (and fifteen corresponding entries
in the Win32 app list). Ideally, the RubyGem Win32 installer will
provide a way to manage this automagically.

-austin

Hi!

How do other tools/environments do it?

MIKTex for example, a LaTeX distribution for Windows, has one very small setup file, that allows you to install individual packages. The base system which includes all major binaries is one, mandatory, package. If you want to change something or uninstall, you can access the setup prog from the Win32 app list or you can start the setup yourself, If you want more sophisticated GUI tools, start the extra package browser or package updater (which allows to update the base system as well, since it is only a package).

I think it's very convenient.

regards,
Henrik

I have not misunderstood you. I am building a GUI for Win32 that lets you
manage rubygems (add/remove/etc). This does not use win32 msi files for
every gem...i agree that would suck (IMHO). If no one wants to use said GUI
interface, you don't have to.

···

On 10/7/04 4:15 PM, "Austin Ziegler" <halostatue@gmail.com> wrote:

Okay ... both Chad and Rich have misunderstood what I've said.

I want to manage Ruby packages only through Ruby tools. I do not want
to have fifteen separate installers (and fifteen corresponding entries
in the Win32 app list). Ideally, the RubyGem Win32 installer will
provide a way to manage this automagically.

-austin

Okay ... both Chad and Rich have misunderstood what I've said.

I want to manage Ruby packages only through Ruby tools. I do not want
to have fifteen separate installers (and fifteen corresponding entries
in the Win32 app list). Ideally, the RubyGem Win32 installer will
provide a way to manage this automagically.

Oh, Good :wink:

···

On Fri, 8 Oct 2004 05:15:12 +0900, Austin Ziegler <halostatue@gmail.com> wrote:

I'd like to see a Win32 program that's dedicated to providing
installation support for gems/rpas. I don't see why the core code for
those two systems should be polluted with garbage about the Windows
registry, the Unix /etc, or anything else. They are by Rubyists, for
Rubyists, in Ruby code, for Ruby (and C) code.

Applications that have special installation requirements should have a
convenient means for those to be met, but building those means into
RubyGems/RPA is like a watercolor painting left out in the rain.

Cheers,
Gavin

···

On Friday, October 8, 2004, 6:15:12 AM, Austin wrote:

Okay ... both Chad and Rich have misunderstood what I've said.

I want to manage Ruby packages only through Ruby tools. I do not want
to have fifteen separate installers (and fifteen corresponding entries
in the Win32 app list). Ideally, the RubyGem Win32 installer will
provide a way to manage this automagically.