Subject: RE: Why is setup.exe so difficult? Am I missing something?
From: "Gary R. Van Sickle" <[email-masked]>
To: <[email-masked]>
Date: Wed, 12 Oct 2005 21:14:50 -0500

> -----Original Message-----
> From: Matt England
> Sent: Wednesday, October 12, 2005 9:03 AM
> To: [email-masked]
> Cc: [email-masked]
> Subject: Why is setup.exe so difficult? Am I missing something?
> 
> [Warning: This is a complete flame of cygwin's setup.exe.  
> After being a long-time user, I've simply given up patience 
> with the program, and this email will probably be the 
> least-courteous note I've posted to any internet community in 
> a long, long time.  I simply need to get someone's attention, 
> and this is my last ditch attempt before I (and my software 
> group) completely abandon cygwin for now and try an work 
> exclusively with mingw/mysys.  I do have a purpose with this 
> flame:  I'm trying to find the answers as to why setup.exe 
> perplexes myself and the rest of my development group.  
> Please do not take any of this note personally.]
> 
> I find cygwin's setup.exe extremely difficult to understand, 
> and over the years I've used it, I have found it somewhat 
> buggy (unless the "bugs" I find are really just "features" 
> that I don't understand).
> 

You should have seen it in the Before-Time.

Yes, it has been buggy in the past, even the fairly recent past.  The
current version however is quite solid, at least the features I use.  Your
statement about it being "extremely difficult to understand" is, well,
extremely difficult for me to understand.  Yes, there are a number of
nonintuitive GUI things going on (which need to be fixed), but if you have
indeed be using it for any length of time, as you claim, they are not all
that big of issues.

> The biggest question: why do myself and everyone else in my 
> software development group that I manage (as well as everyone 
> else with whom I've spoken over the years regarding cygwin) 
> find cygwin's setup.exe so perplexing?
> 
> And why does everyone else in this community for which I write
> ([email-masked]) seem to have no problems with it?  Or 
> maybe they do?
> 

Everybody has *some* problems with it.  Few find it as unusable as you are
claiming here.

> Here are some example problems scenarios:
> 
> * Installing/updating a subversion package
> 
> I want to install or update a subversion package for my 
> cygwin system.  I tried for about 15 minutes to figure out 
> how to do this (and get a specific rev of svn--1.2.3-1) to no 
> avail.  The organization of the modes and views and lists of 
> setup.exe to be are extremely unintuitive--I've never 
> understood them,

Nobody ever has.  That's problem number one that needs fixing.  Trouble is,
it's a big, messy, un-fun job.

> and I think I've been using cygwin for about 
> 5 years now.  It's not like I'm a rookie.
> 

Perhaps not, but some of your statements below.....

> * Installing a full cygwin set
> 

There is no such thing.  Well, not since B21 anyway, and that was destroyed
in the same asteroid impact that caused the dinosaurs to go extinct.  Traces
of B21 are still detectable in the K-T boundary.

> The only way I get by with cygwin is to always attempt a 
> "full" download and hope for the best.

Ok then, we've found your problem.  Don't try to do what isn't possible.

>  However, a full 
> download of cygwin, at least with our controlled setup.exe, 

"[your] controlled setup.exe"?  What do you mean by this?  This could be
problem number two.

> is NOT a full download!

Correct.

>  We had to write a user-installation 
> page just to make sure the installation user had to manually 
> select all the packages in the supposed "full" cygwin install 
> (about 3-4 packages were missing in the list).  What gives?
> 

I'm not sure what gives.  I don't understand that paragraph.  There's no
such thing as a "full cygwin install", that's your primary source of
confusion.

> * Duplication a cygwin environment from machine to machine
> 
> This is critical for development consistency.

Mmmmmm... not really, but that's an argument for another day.

>  We had to 
> download the entire package set,
> 

Even things like "lilypond"?  No.  What did you *really* do?

> * Figure out which things to install and which ones to not
> 
> This is the worst thing of them all.  I always feel like an 
> idiot whenever I step into setup.exe
> 

Well, I don't know what to tell you here.  If you want to install something,
yes, it is a prerequisite that you have to know what it is that you want to
install.  That's hardly Cygwin-specific.

> 
> I could probably provide a longer list with much more detail. 
>  However, 
> empathy for these issues I suspect are rather binary:  one either 
> completely understands what I'm talking about, or they think 
> that I simply 
> haven't read the docs well enough and that they can use 
> setup.exe just fine.
> 

I can use setup.exe just fine, and I understand to a certain point what
you're talking about.  But I do have to part ways with you when you blame
setup because you don't know what programs you want to install.  Doesn't
that seem just a little bit silly to you?

> There's also the "setup.exe is an extremely powerful and 
> flexible" utility 
> argument.

Nobody has ever made that argument.  Cygwin's setup is neither extremely
powerful nor extremely flexible.  The furthest I would personally go is,
"nearly adequate".

>  I'll grant anyone this argument; it seems rather 
> capable...I 
> guess...** if someone  can figure out how to use it. **  I 
> see flexibility 
> coming at the price of understanding.
> 

Again, I've never heard anybody accuse setup of being too flexible.  Setup
has UI problems.  Historically, it has had much worse UI problems than it
currently does.  These problems are not the due to too much "flexibility" or
"power" or "capabilities" - it's due simply to the common ravages of an open
source software project which relies on the kindness of strangers.

Now, if you'd like to cut me a nice check, I'll make that sucker dance for
you.  But even I can't make it guess what packages you want to install.

> 
> I have attempted to read several different user guides on the 
> setup.exe 
> installation process.  None of them I have seen thus far address the 
> questions and problems I have with setup.exe.  But let's say 
> there is a 
> document out there that explains all the setup.exe nuances 
> and helps a user 
> like me to "see the light."  Why does one require such a 
> document (and a 
> side note: why has it been so hard for me to find?)?  Why not 
> simply make a 
> more-intuitive flavor of the user experience for installation 
> and upgrades?
> 

Like I said, cut me a check and I'll get right on it.

> 
> Please, please do not label me an "idiot user."  For what 
> it's worth, I 
> hold a computer engineering degree from a highly-regarded 
> university, I 
> have been a software developer for a long time, I have sysadmin-ed 6 
> different Unix systems, Redhat systems, BSD systems, and have been a 
> significant VMS user.  On the web-and-email-server side of 
> things: I have 
> administered and used qmail, postfix, Apache, Drupal, 
> MediaWiki, phpBB, 
> mail2forum, Subversion, and several other similar systems.  I 
> have been a 
> sw-developer, tester, systems-integrator, sales-engineer, support 
> engineering, and marketing manager for a variety of 
> storage-area networking 
> systems (I worked for a company that made them) on a heterogeneous 
> storage-area network (Windows NT, 6 Unixes, Linux, etc).  I 
> have helped 
> develop industry-leading, patent-pending software.
> 

I'm one of the many people who have worked on Cygwin's setup program.  I
have also developed industry-leading, patent-pending software.

> I'm not trying to impress someone with my "resume."  I'm 
> simply trying to 
> convey the fact that 1) I think I am a reasonably-capable 
> technologist, and 
> 2) I FIND cygwin's setup.exe *THE* MOST DIFFICULT-TO-USE 
> PROGRAM IN ALL THE 
> SOFTWARE I CURRENTLY USE TODAY.
> 

So you don't use vi? ;-)

> It's disappointing, because beyond the install-and-update process, I 
> generally find cygwin a pleasure to use.  First of all, it's free of 
> charge; further, the software-module updates are fantastics 
> (I subscribe to 
> the package-update-notification list, and like how the module/app 
> stakeholders pretty much update many things just as soon as they are 
> available; note the recent OpenSSL and Subversion updates).  
> These and 
> other things enable my business to be quite productive.
> 
> But if this community and the cygwin developers are going to 
> go to such 
> great lengths to make such a comprehensive and robust unix-on-windows 
> system, why not make a better 
> installation-and-upgrade-package-management 
> system?
> 

Hear hear.  (Make it drawn on a US bank please).

> Here's a thought:  Why not just keep the setup.exe as it is, 
> support all 
> the users who I'm sure have mastered it by now and probably 
> love it (for I 
> doubt something like that would not have lasted this long 
> without a devoted 
> user set),

Allow me to state this as an axiom: There is not a single soul who is in
love with Cygwin's setup.

> and simply build an additional install-and-upgrade 
> program that 
> uses the same "back-end" technology/interfaces and presents something 
> different to the user?
> 

We thought of that several years ago.  Problem is, there is no "backend" -
we inherited a codebase with a tightly interwoven GUI and business logic.
Since then, the GUI has been improved dramatically, innumerable defects have
been fixed, several features have been added, and some work has gone into
separating the business logic.

That work was, as far as I know, all gratis.  Now, if you're eating the
bread from the sweat of another man's brow, as you claim to be doing, it
seems to me that the best way to get what you want is to contribute to the
program's improvement in some manner, rather than ranting against the hand
that's feeding you.

-- 
Gary R. Van Sickle

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/