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

Reply via email to