The [https://fedorahosted.org/amber/wiki/Definition product definition] for the Application Installer covers the basics of the project from a high level. There aren't any more specific docs at this point.

Application Installer

Summary

Fedora has a couple of ways to install packages - either via the yum commandline, or with the new PackageKit GUI. However, a package doesn't map very well to most users idea of an application. Package lists tend to include a lot of confusing entries that aren't at all what a user thinks when he is looking for an application.

This feature proposes that we develop a web application that allows users to browse and search for applications, and then install the packages required for an application using PackageKit/yum.

The only portion of this feature that will need to actually ship with Fedora is the client side pieces that pass the installation request from the web browser to PackageKit.

Current status

Owen Taylor has written a browser plugin that works with PackageKit to install packages from the browser. It will be available as part of PackageKit for F10.

Detailed Description

This feature will consist of a !TurboGears web application, and a client side browser plugin. It will use 'seed' data from Fedora's comps.xml, package DB, and the desktop files found in some packages. There will also be a method in place to keep in sync with changes to Fedora's package set - adding and removing new applications, as well as changing the associations between applications and packages.

The applications will be categorized for browsing, and also searchable. In addition to the existing data mentioned above, users will be able to supplement this with comments, reviews, tags, and perhaps other information.

For the initial release, only the Fedora repositories will be supported. However, the design will be mindful of possible future use by other repositories or even other distributions.

Mockups

Test Instance

Primary use cases

1. I want to do 'X' with my computer.

* Import photos from my camera and put them on Facebook or Flickr.
* Import videos and put them on youtube.
* Fix the red-eye in this photo.
* Connect to MSN/ICQ/AOL
* Browse the internet
* Read my email
* Play a game
* Write a report
* Make a presentation

2. I can already do 'X' with my computer, but maybe I can do it
better with different software.

* This software sucks. Is there something better out there?
* Someone told me about the great new web browser/email client/game
that I should check out.
* Games are a bit of a special case, because a user is more
likely to look for a new game without being dissatisfied with their
current games.

Benefit to Fedora

A way for users to install software from an application-centric point of view instead of a package-centric point of view has clear benefits.

Scope

A web application, as well as browser plug in. An initial release is planned for the F10 time frame, with package data from F10.

Note that while users should be able to install applications without logging in, comments are restricted to logged-in users

User Experience

Users should have an 'Add new applications' button somewhere in the system menu. Clicking on that will bring up the web application,

Dependencies

The web application will require the client portion of the program, and consequently PackageKit, to install packages. Once the client portion is included in Fedora, the web application must be ready to receive requests before Fedora 10 is released. If the web application is not ready by launch time, the client portion should not be included. A call must be made before feature freeze as to whether or not to include the client portion.

Contingency Plan

If the web application is not going to be ready, the client portion should be removed.

Documentation

The product definition for the Application Installer covers the basics of the project from a high level. There aren't any more specific docs at this point.