flak rss random

OS installers

I just installed Ubuntu recently and it gave me the opportunity to reflect on what makes a good vs bad operating system installer. The short version is I don’t really like the way Ubuntu’s installer is designed because the task it is performing isn’t really installing an operating system.

The installation process is conceptually very simple. Imagine a computer that’s up and running, freshly installed. Now imagine a new computer, just built, next to the first and awaiting its OS. Our task is to make the software on the second look like the software on the first. The easiest way to do this is to just copy it over, and indeed, common disk imaging programs and bulk installers work this way.

Each install needs to be just a tiny bit different (username, timezone, ...) which is why the factory image is configured to do a little extra setup on the first boot. Some notable operating systems which, despite their many other differences, basically ship a factory image type installer include Windows and OpenBSD. Their installer interfaces could not be more different, but at the end of the day both of them make the target computer look just like all the others and set your timezone.

Ubuntu on the other hand, after installing package after package, spent a long time configuring each package. I don’t even know what it means to configure the telnet client package, but the installer did it. In fact, it spent more time doing this than it takes to install OpenBSD from scratch. All of this work should have been done at the factory. It’s like the difference between ready to use furniture and ready to assemble furniture (IKEA). Postponing final assembly of furniture makes sense because it fits in the boxes nicer, but software compression works on fully assembled (configured) programs too. There’s no reason to make every user go through this.

I understand that the Ubuntu installer does this because it has hundreds, possibly thousands, of little packages to install. (I quite dislike their packaging style in general, but I’ll save that for another day.) They can still all be installed, registered in the dpkg database, and whatnot. The installer should have started by dumping exactly the bits that were on my hard drive after the install finally finished. It would have been done in half the time. This is how hardware vendors do things. It’s how end user installs should work too.

Posted 12 Aug 2011 22:45 by tedu Updated: 12 Aug 2011 22:45
Tagged: software thoughts