software-alternatives-migration
7169
Comment: Updating this to include more information.
|
7413
Added a new requirement for non-network connected computers.
|
Deletions are marked like this. | Additions are marked like this. |
Line 52: | Line 52: |
* If an internet connection is not available, the program will refer the user to a frontend to the database it checks with, such as OSAlt.com or linuxeq.com, so that they can look up their programs on a machine with an internet connection. |
Launchpad entry: https://launchpad.net/distros/ubuntu/+spec/software-alternatives-migration
Created: Date(2007-04-10T10:52:00Z) by TimothyAlexander
Contributors: TimothyAlexander
- Interested:
- Malone bug:
- Packages affected:
Summary
This is a windows migration tool to migrate not settings, but programs. This program examines the uninstall information on the windows partition, just after the windows migration tool is run. It extracts the names of the applications that are installed on the windows OS, and requests alternatives available on linux from an external server (something like OSAlt.com or linuxeq.com). It then matches these results with the package database, and with a single check box, allows the user to select this program for installation. The OS installation progresses as normal, and when Ubuntu is installed, it installs the alternative programs as well. The user ends up with a system that not only looks and feels like their windows installation (because of the pre-existing windows migration tool) but also has the same capabilities, since the same types of programs are installed.
Rationale
We all know that there are great linux alternatives for software that people have for windows, but most new users who hear about this "Ubuntu Thing" don't. They just know that they can't use program X on linux. The hardy ones persevere, and that is when we get a new member of the ubuntu community. Many others just go back to windows, because they don't know that there are alternatives, or don't want to search for those alternatives.
This would examine the windows system that they are migrating from, and see which programs are installed. It would then contact an online database, and see what alternatives are available for those programs. If they are already on the Ubuntu standard installation, it would mark these as installed, but if they are not installed by default, it would have a check box to install the software easily and quickly once the rest of the system is setup, as the last step in installation.
Use cases
- Joe, who has windows installed on his desktop at home, decides that he wants to try out this "Ubuntu Thing" he keeps hearing about. Not knowing anything about linux alternatives for windows software, he expects to be able do his bills like he does in windows with Quicken. He installs Ubuntu, and can't find how he is going to manage his finances. He reinstalls windows because "Ubuntu is to hard. I couldn't even install Quicken".
Fred, a business user, knows that he won't be able to setup windows software in Linux. He decides to try out Ubuntu so that he can have a more secure system. He installs it, but then can't find an alternative for ZoneAlarm or Adobe Audition that he had in Windows. He decides to re-install Windows, because "Linux doesn't have the software I need".
- Janis has Windows installed right now. She wants to try out Ubuntu, and does her research, so she knows she wants to dual boot, because she can't find an alternative to her "Legacy Family Tree" software she has installed at home. She doesn't know that GRAMPS is a nice alternative for this. She ends up dual booting with both, because she doesn't know the alternatives for her software.
- Greg uses Windows on his laptop. He decides to try out Ubuntu, since it now has a windows migration tool. He gets everything installed, and migrates over all of his Dreamweaver folders for his personal website. When he trys to open them, Firefox opens up. The only thing installed to edit webpages is Gedit, a far cry from Dreamweaver on his Windows partition. He goes back to windows, because "I don't want to edit my web pages in notepad".
Scope
Design
The first screen will have a simple explaination of what the program is going to do, in non-geek terms. It will also explain that windows programs will not run on linux without some kind of an emulator, or application layer, and that there are situations that the program will not work at all. It will list these alternatives, referencing such sites as transgaming.com, codeweavers.com, and winehq.com ( think about VMware.com/paralells.com/win4lin.com as well). It will also ask if you want to install qemu (or something else like it) and wine. There will be check boxes for each of these programs.
The second screen is a loading screen where it gathers information about your windows system, and then contacts the server(s) to check on similar linux programs. It tells you what it is doing, and says that it is trying to connect to the internet. If there is no internet available, it says that it could not connect at this time, and refers you to the site for the frontend of the server (OSAlt.com, linuxeq.com, etc.) and says that you can look up software that you are looking for an alternative for here.
The third screen appears if the connection was successfully established. This screen is the main screen for your options. It shows a scrolling frame in the window that houses a list. That list is split into two sides, with entries running from the top to the bottom of the list, sectioned off by lines, or bars to indicate a different entry. In each entry, on the left side there is the name of a proprietary piece of software that is installed on the windows platform. On the right, in the same entry as the proprietary peice of software, is a list of one or more applications that can be installed out of the repository, which have similar or equivilent functionality as the proprietary application. They can be checked, and when checked will be installed on the first login to Ubuntu once installed.
Implementation
Requirements
- The interface should be as simple as possible. See Design.
- A database would have to be available that is community maintained, or at the very least, open for community contribution. Ideally this would be either Ubuntu Specific (removes the need to match up linux program names with Ubuntu Packages) or would be comprised of multiple sources (OSAlt.com and linuxeq.com spring to mind)
- It should be programmed in Python, so as to be portable to other linux distributions, and have very little dependancies. This would also help in maintainability and integration with other parts of Ubuntu installation.
- The program should automatically check if an alternative exists to an application installed under windows. It will return a checkbox list, and each of the check boxes will correspond with applications that can be installed from the repository. If the check box is checked, the item will install on the first login to the newly installed Ubuntu instance.
- If an internet connection is not available, the program will refer the user to a frontend to the database it checks with, such as OSAlt.com or linuxeq.com, so that they can look up their programs on a machine with an internet connection.
Outstanding issues
- Do we want to also check with WineHQ's database? We can sync up with the WineHQ application database, and check if the program is supported, and if it is silver or higher support, we can report back that it is known working in wine. We can also give a link to the wine page where the application is shown.
BoF agenda and discussion
software-alternatives-migration (last edited 2008-08-06 16:32:56 by localhost)