--- /dev/null
+Single-stage installer
+
+<p>Hot on the heels of
+<a href="http://kitenet.net/~joey/blog/entry/all_this_for_a_progress_bar-2005-12-27-20-32.html">
+Joey's tale of getting rid of base-config</a> (the second stage of the
+installer) in Debian, we've now pretty much got rid of it in Ubuntu Dapper
+too. The upshot of this is that rather than asking a bunch of questions,
+installing the base system, and rebooting to install everything else, we now
+just install everything in one go and reboot into a completed system.</p>
+
+<p>This does mean that, if your system doesn't boot, you don't get to find
+out about it for a bit longer. However, it has lots of advantages in terms
+of speed (the much-maligned archive-copier mostly goes away), reducing code
+duplication (base-config had a bunch of infrastructure of its own which was
+done better in the core installer anyway), comprehensibility, and killing
+off some annoying bugs like
+<a href="https://bugzilla.ubuntu.com/show_bug.cgi?id=13561">#13561
+(duplicate mirror questions in netboot installs)</a>,
+<a href="https://bugzilla.ubuntu.com/show_bug.cgi?id=15213">#15213 (second
+stage hangs if you skip archive-copier in the first stage)</a>, and
+<a href="https://bugzilla.ubuntu.com/show_bug.cgi?id=19571">#19571 (kernel
+messages scribble over base-config's UI)</a>.</p>
+
+<p>To go with Joey's Debian timeline, the Ubuntu history looks a bit like
+this:</p>
+
+<ul>
+ <li>2004 (Jul): First base-config modifications for Ubuntu; we need to
+ install the default desktop rather than dropping into tasksel.</li>
+
+ <li>2004 (Aug): Mark phones me up and asks if I can make the installer not
+ need the CD in the second stage by copying all the packages across
+ beforehand. Although it's a bit awkward, I can see the UI advantages in
+ that, so I write archive-copier at the Canonical conference in
+ Oxford.</li>
+
+ <li>2004 (Sep): Mark asks me if we can ask the timezone, user/password,
+ and apt configuration questions before the first reboot. With less than a
+ month to go until our first release, I have a
+ <a href="http://lists.ubuntu.com/archives/ubuntu-devel/2004-September/000103.html">
+ heart-attack</a> at how much needs to be done, and it eventually gets
+ deferred to <a href="https://wiki.ubuntu.com/HoaryGoals">Hoary</a>.</li>
+
+ <li>2005 (Jan): Matt fixes up debconf's passthrough frontend for use on
+ the live CD, and we realise that this is an obvious way to run bits of
+ base-config before the first reboot. It's rather messy and takes until
+ March or so before it really works right, but we get there in the
+ end.</li>
+
+ <li>2005 (Apr): I get "put a progress bar in front of the dpkg output in
+ the second stage" as a
+ <a href="https://wiki.ubuntu.com/UbuntuDownUnder/BOFs/InstallerStage2Progress">goal</a>
+ for Breezy. Naïvely, I think it's a simple matter of programming,
+ since I'd already done something similar for debootstrap and
+ base-installer the previous year.</li>
+
+ <li>2005 (May): I hack progress bar support into debconf. Nothing actually
+ uses it for anything yet, except as a convenient passthrough stub.</li>
+
+ <li>2005 (Jul/Aug): I actually try to implement the second-stage progress
+ bar and realise that it's about an order of magnitude harder than I
+ thought, requiring a whole load of extra infrastructure in apt.
+ Fortunately Michael Vogt saves the day here by writing lots of working
+ code, and the progress bar works by early August.</li>
+
+ <li>2005 (Sep-Dec): Upstream d-i development ramps back up again, with
+ tzsetup, clock-setup, apt-setup, and user-setup all being cranked out in
+ short order and the corresponding pieces removed from base-config. I merge
+ these as they mature, and manage to get
+ <a href="http://lists.debian.org/debian-boot/2005/10/msg01407.html">
+ agreement</a> on including the Ubuntu debconf template changes in upstream
+ apt-setup, which helps the diff size a lot.</li>
+
+ <li>2005 (Nov/Dec): Joey and I
+ <a href="http://lists.debian.org/debian-boot/2005/11/msg01381.html">chat</a>
+ one evening about the Ubuntu second-stage progress bar work, and we end up
+ designing and writing debconf-apt-progress based on its ideas, after which
+ Joey knocks up pkgsel in no time flat.</li>
+
+ <li>2006 (Jan): The rest of the pieces land in Ubuntu, and we drop
+ base-config out of the installer. To my surprise, nearly everything still
+ just works.</li>
+</ul>
+
+<p>Although it caused some friction, I'm glad that we did the first cuts of
+many of these things outside Debian and got to try things out before landing
+version-2-quality code in Debian. The end result is much nicer than the
+intermediate ones ever were.</p>