This is the mail archive of the
mailing list for the Cygwin project.
Re: installer improvements
On 4/5/2010 3:47 AM, wefwef wefwef wrote:
After using cygwin for years, and having some recent difficulty
installing, I took a look at the installer to actually try and
understand it (a novel concept I know!). Here are my thoughts on the
gui - I think it could be made considerably more user friendly with
some minor cosmetic changes.
Personally, as a UI fanatic, I have no problem with it, and I get really
nitpicky about design. Lets hear your gripes, shall we? :)
The View button is being used to do two separate and unrelated tasks.
- Switch between category and list view
- Choose between partial, up to date, and not installed.
I suggest that additional radio buttons be used to select between
category and list view.
They are *not* unrelated. In fact, that button keeps me *sane*
What it does is change the perspective of looking at the packages; the
fact that one view happens to be a tree view ("by category") instead of
a linear-list ("by is-installed" or "is-downloaded") is a happy 2nd or
3rd order effect. *any other way of doing it would be a kludgy look*.
The terms used are not the clearest (and believe me, things are tricky
Partial - I suggest change to 'to be be installed' or similar
Up to date - I suggest change to 'already installed' or similar
not installed - this is clear, no changes necessary
Partial: Downloaded (or marked for download/Updatable), but not installed.
Up To Date: Downloaded, Installed and latest version.
Not Installed: Self Referential.
The way that (partial, up to date and not installed) is selected, via
clicking on a button multiple times is not very common in gui design.
It sure as hell is. Look at Synaptic: Uses the same ideology; If the
debian folks were braindamaged (which, frankly, some of them are) they
would be working on GNOME projects (Except Synaptic, which also has this
It doesn't allow you to see all of the available choices at once. I
suggest replacing this button either with a group of radio buttons, or
a drop down list similar to the way that you can change the view in a
windows folder (details, list, icons).
I believe the view-mode you're looking for is "full"
I suggest that a new column be introduced, indicating whether a
package is already installed or not. The installer has this
information - it would be nice if it made it available to the user.
There's already two of those -- they're called "Bin?" and "Src?" --
which indicate if the binary and/or source packages are installed.
Also, on an unrelated note, it would be very nice, to sort the list of
mirrors in order of latency, or auto select the fastest available
Lets see, the server list contains 30-50 servers. Setup.exe is
single-threaded for a reason until you get to the installation, where
upon it actually forks off some threads to do real work.
Lets assume that you're not on the greatest of net connections... say
average ping of 180ms (thats my average ping to the local transfer
5 [pings] * 180 [~ms] *50 [servers] = 45000 ms
thats 45 seconds your machine is *stopped* going and checking latency.
Inb4 "make the main server report them" -- not a good idea.
First, the main server's going to be right on the backbone, therefore
giving *low* pings. This will create a false sense of hope and when it
takes forever for it down download even though the ping was low, users
Inb4 "Have a round-robin DNS" -- Again, not a good idea.
Each server has a *different* set of packages because some of them are
purely *volunteer* maintained. Its just a sad fact that most (if not
all) of the people who work on these projects make... $0 maintaining the
servers, packages and tools.
AS for gripes about the deterministic-y of the installer: its entirely
deterministic. What you do, however, is not.
If you notice, there are three options in the installer for "setup mode"
-- one is normal install off the net, another is download packages only,
and the third is install from local cache.
The "download packages only" will churn whatever portion of a package
tree you wish down into a filesystem *locked to a particular server*.
that is, if you choose "C:\Cygtemp\" as your "download directory" you
will find that there's a folder there for the URL of your chosen mirror.
This lets you back up an entire server then turn around and install it
on a network-less machine (by pointing it to "cygtemp"'s logical new
Give You A Hint, I at the age of *13* was able to download and install
and configure Cygwin... 1.3 I think it was... It was definitely about
five years ago... onto a machine with no internet connection whatsoever.
> Because it breaks the logical flow of conversation, plus makes
>>> Top-Posting is evil.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple