Apologies for the long post. In my defense, it took a while to create and
I gave it some thought.
First I'd like to say something I think holds for Windows users:
Most of them <sigh>us</sigh> will want to install several additional
packages. The majority probably won't even be interested in selecting
which additional packages to use, but would prefer to just get them all...
That's my opinion, but also how I end up doing it on Windows whereas in
Linux I'm much more restrictive/planning. Maybe it's because my Windows
experience is that I'll have to re-install soon anyway, or maybe it's just
that the packages are minute compared to the typically available hard disk
space these days.
As I'm not at all familiar with any of the LyX installers, I tried to get
some hard data. This is what I gained after reading the two relevant wiki
pages and downloading the installers:
Installer Size Time* File name
[MB] [min]
#1. Standard web installer 8 2 lyx-143-5
#2. Network installation package 73 20 lyx-143-5-bundle.exe
#3. WinInstaller-complete 67 18 LyXWin143Complete-2-9.exe
#4. WinInstaller-small 22 6 LyXWin143Small-2-9.exe
Note *: The time is calculate on a fictitious download speed of 512 kbit/s.
(My actual bandwith during the tests was 10 Mbit/s, but that's
probably more than what the majority have available)
Note 1: Standard Web Installer will setup a complete LyX environment,
required components will be downloaded automatically.
Note 2: Network Installation Package includes all components and is
intented to install LyX on multiple computers.
Note 3: WinInstaller-complete, contains: LyX 1.4.3; Math fonts;
Python files; Basic MiKTeX 2.5; ImageMagick; Ghostscript; Aspell;
GSview (optional). The installer analyzes your system and only
installs missing programs. The installer also recognizes hard
disk-installed LaTeX-distributions: MiKTeX, ProTeXt, and TeXLive.
Note 4: WinInstaller-small has the same functionality as -complete,
but but doesn't contain MiKTeX (to reduce the download size). It
provides an option to use LyX together with a LaTeX-distribution
from a network drive or a live-CD/DVD or not to use LaTeX. This
option gives you the possibility to have more than one
LaTeX-distributions installed and to choose which one should be
used by LyX.
Looking at the sizes and download times, I'd say it doesn't matter if I
download #1 or #4. Waiting six minutes instead to two isn't that much of a
difference. In fact, I was very surprised that even the largest installer,
i.e. #3, can be downloaded in under three hours with a 56k-modem! With my
10Mbit/s line at home it took one minute to get #3.
Given that the time for downloading the comparable LyX installers doesn't
differ that much, and that the download can be started and then you go do
something else I decided to time the actual installation process.
* I timed things with a simple clock, so accuracy is abt +-1 minute.
* The machine is fast, so e.g. the text about waiting for LyX to
reconfigure itself is funny as it vanishes instantly :-)
* I've got a 10Mbit/s line, so the installers that download things during
installation get a bit of an advantage compared to a slower line.
* I didn't test that everything worked properly.
* If asked about doing MikTeX updates, I answered no.
* I sat by the computer and waited all the time
Here's what I got:
Installer Install time
#1. Standard web installer 17 min
#2. Network installation package 7 min
#3. WinInstaller-complete 5 min
#4. WinInstaller-small 2 min
While using installer #1, downloading MikTeX took about 6-7 minutes
because I got about 0.1 MByte/s. Downloading ImageMagick took a minute,
and downloading GhostScript took about 2-3 minutes. These download speeds
are much worse (*10) compared to what I got while downloading the LyX
installers themselves. Apparently our bandwidth is better and with that
kind of approach I think we should definetely host a copy that the
installer can download.
To be honest, it was annoying to use installer #1 because of these,
subjectively speaking, long pauses while waitinf for downloads to
complete. The installer would be more efficient if it downloaded things in
parallel, i.e. while waiting for the MikTeX installer to finish, installer
#1 could be downloading ImageMagick etc. Alternatively, it'd be better if
it downloaded everything in one go at the beginning because you can go
away and have a single, long, coffee break.
Finally I shold say that I don't think any of the installers actually
managed to install LyX properly. Three of them complained about
LyXTextClassList::Read: No textclasses found
Only installer #4 didn't complain about this since I'd skipped installing
MikTex with it.
My overall impression with the installers were that they seem pretty good,
but have some rough edges - they didn't succeed! Working and supporting
two sets of installers would certainly waste precious resources and
effort.
Let me summarize the times for my case (10 Mbit/s, not 512 kbit/s!).
Installer Download Install = Total
#1. Standard web installer 0.1 min 17 min 17 min
#2. Network installation package 1 min 7 min 8 min
#3. WinInstaller-complete 0.8 min 5 min 6 min
#4. WinInstaller-small 0.3 min 2 min 3 min
And here's a guess at how the times would compare if I'd had a download
bandwith of 1 Mbit/s, which is roughly what I got while using installer
#1.
Installer Download Install = Total
#1. Standard web installer 1 min 17 min 17 min
#2. Network installation package 10 min 7 min 17 min
#3. WinInstaller-complete 8 min 5 min 13 min
#4. WinInstaller-small 3 min 2 min 5 min
I think the criteria we should use for choosing an installer shouldn't
really involve the size. It's more important with:
* Do we have developers interested on working on the installer?
* Do the installer makes things easier for developers?
* Do the installer provide a positive impression of LyX? (I.e. is
it easy to use, quick, *does it work*!!)
Frankly, I think the last bit is the most important. The installer should
work... which means that splitting resources on multiple installers is a
bad idea. At the same time, we can't "only" install LyX. Windows users
are "lazy" and just expect things to work - they will ask questions from
us when they think LyX isn't working although it's an ImageMagick bug. Or
the MikTeX server had a hiccup during installation or whatever.
Now some of my thoughts on the various versions of installer. I'd like to
emphasize that I mean various *version* of the installer, as I think they
should definitely share the same code base. Their behaviour will be
different however.
I think we probably should supply a minimal installer for LyX, i.e.
something that installs the LyX application and nothing else. Experts
might use it for this reason, but not many other Windows users. Under
these assumptions, I'd say the minimal installer will not be used very
often, and regardless of implementation it'll be quite quick to
download/use, so optimizing it's size/speed isn't a priority.
Note that if LyX was an application that was released frequently, the
minimal installer could be used to upgrade the LyX application.
The kind of installer I expect almost everyone would use is a bundle
installer that installs the LyX application as well as a bunch of other
useful applications. This installer should probably have an "expert" mode
and a "simple" mode, where the former lets the user select all kinds of
options, whereas the latter just does an installation with some
pre-selected options.
Note that I didn't say if these installers contained all the required data
in the first downloaded part, or if they in fact download it during the
installation process - that's orthogonal. In fact, even the minimal LyX
installer could download the LyX application during installation.
A downloading installer is on the other hand really bad if you'd like to
do the downloading, burn the archive to a CD and take that CD with you to
another machine without a network connection...
As for installers that download things during installation, my experience
here is that I didn't like how installer #1 worked. Asger put it well in
another post so I won't repeat it. However, I could like a downloading
installer if it either does the downloading in the background/parallel, or
if it does all the downloading in one go. In the latter case, I'd only
have to go for coffe once during the installation process...
Finally, if we would prefer to not attract the attention of lots of "lazy"
Windows user that can't be bothered with installing packages separately,
we shouldn't even try to make these kinds of installers. :-)
cheers
/Christian
PS. I think the part about how downloading installers are unusable when
there is no network connection is a strong argument for going with an
installer that does not do downloading. Especially as installer #3 that
didn't download was *quicker* in total compared to installer #1 that
downloaded things during installation.
PPS. The computer scientist/engineer inside me still thinks it's very
nifty and cool with downloading installers :-)
--
Christian Ridderström, +46-8-768 39 44 http://www.md.kth.se/~chr