InstallProgramsFromMigrationAssistant

Summary

The Migration Assistant should offer to install (equivalents of) known programs during the installation process. The program should recognise three levels of equivalence: identical (same codebase), equivalent (different codebase, but one is specifically modeled on the other), and similar (unrelated program that does the same job). The assistant should recognise at least the following packages:

Mockup of the migration assistant installer

  • Audacity → audacity (identical)

  • GMail Notifier → gmail-notify (equivalent)

  • mIRC → xchat (similar)

  • Pidgin → pidgin (identical)

  • Thunderbird → thunderbird (identical)

  • VLC -> vlc (identical)

  • Winamp → audacious (equivalent)

Please add any applications that you would like to see included, then fill in below how they would be detected.

To the right is a rough mock-up of a possible interface.

Rationale

Users who migrate from another operating system always have a collection of programs that they use, and want to continue using. These can be far too esoteric to include in a default install, so the set of packages should be tailored to the specific user.

Presenting this choice to the user also helps with the perennial migrater's issue of "what's the Linux equivalent of program X?". Migraters that are told "X-Chat is similar to mIRC" will know to look for X-Chat when they want mIRC.

Use Cases

  • Over the past year, Willie has gradually switched from his Windows-specific programs (e.g. MS Office, MS Outlook, MSN Messenger) to platform-neutral equivalents (e.g. OpenOffice, Thunderbird, Pidgin). He wants to continue using these applications while he gets settled in to Linux

  • Humphrey is switching from Windows without any preparation. He has lots of Windows programs that he expects to somehow magically still be there when he installs Linux.

Design

An extra step will be inserted before "Migrate Documents and Settings" in the migration assistant. Existing Windows programs will be detected based on registry keys, and suggested to the user. Programs selected by the user will be installed along with the rest of the system, or scheduled for later installation if the computer doesn't have an Internet connection at install-time.

Implementation

Wherever possible, the assistant should check in the registry for programs. This is more reliable than looking for telltale directories that could have been left after an uninstall, or installed in a non-default location.

Here are the registry keys that will be examined:

Google Earth

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D14373E-7970-4F2F-A467-ACA4F0EA21E3}

Skype

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{24D753CA-6AE9-4E30-8F5F-EFC93E08BF3D}

GMail Notifier

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0228e555-4f9c-4e35-a3ec-b109a192b4c2}

Pidgin

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Pidgin

VLC

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player

Audacity

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Audacity_is1

Thunderbird

(still being checked)

WinAmp

(still being checked)

Request for Comments

Which (if any) of the following should be displayed, and should they be ticked by default?

  • Firefox → firefox (identical)
    This would be installed anyway, but the user doesn't know that

  • MS Office → openoffice (similar)
    This would be installed anyway, but the user doesn't know that

  • Skype → skype (identical)
    This is only available in the Medibuntu non-free repository

  • Google Earth → googleearth (identical)
    This is only available in the Medibuntu non-free repository

  • Acrobat reader → evince (similar)
    This would be installed anyway, even though an identical application is available

  • Acrobat Reader → acroread (identical)
    This is only available in the Medibuntu non-free repository, and would ordinarily be ignored in favour of evince.
    Most users consider PDF readers to be interchangeable commodoties, but some would like to know there's a choice

  • Bearshare (before version 6) -> GTK-Gnutella (similar), eDonkey -> MLDonkey (similar), eMule -> aMule (equivalent)
    These are all in Universe, but should we be concerned about being seen to support piracy by recommending them?

  • PuTTY -> putty (identical)
    PuTTY users are by definition comfortable with the command-line, so would they still want a graphical shell?

There's a page on the help wiki that points to more lists of programs. My head started to spin after the first few thousand entries, so anyone willing to read through and pick out important examples would be much appreciated.

Comments

InstallProgramsFromMigrationAssistant (last edited 2009-06-28 19:06:43 by andrew-bugs-launchpad-net)