From Fedora Project Wiki
(Add tracker bug)
(Add tracker bug)
 
(21 intermediate revisions by 2 users not shown)
Line 3: Line 3:


== Summary ==
== Summary ==
We will replace the existing gnome-packagekit frontends (gpk-update-viewer and gpk-application) by a new application.
We will install by default a new Application Installer. The existing gnome-packagekit frontends (gpk-update-viewer and gpk-application) will still be available, but not installed by default.  


== Owner ==
== Owner ==
Line 11: Line 11:
== Current status ==
== Current status ==
* Targeted release: [[Releases/20 | Fedora 20 ]]  
* Targeted release: [[Releases/20 | Fedora 20 ]]  
* Last updated: 2013-07-22
* Last updated: 2013-12-04
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=998562 #998562]
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1076390 #1076390]


The hawkey backend is available in PackageKit git master. gnome-software is available in git.gnome.org. Neither is in rawhide yet.
gnome-software is available in git.gnome.org. A first release of gnome-software has been made on September 2 and it has been built for f20 on the same day.
 
gnome-software can already list installed applications, install and remove applications and trigger offline updates. gnome-settings-daemon, gnome-shell and gnome-session have been updated in 3.9.91 to integrate with gnome-software (when available) for offline updates.


== Detailed Description ==
== Detailed Description ==
The current PackageKit frontends are focused on (surprise!) ''packages''.
The current PackageKit frontends are focused on (surprise!) ''packages''.


The new tool, tentatively named gnome-software, is designed from the beginning for installing ''applications''. It will present applications with information that is relevant to users (icons, screenshots, reviews, descriptions, ratings,...) instead of information that is relevant for packagers (dependencies, package size, file lists,...).
The new tool, named gnome-software, is designed from the beginning for installing ''applications''. It will present applications with information that is relevant to users (icons, screenshots, reviews, descriptions, ratings,...) instead of information that is relevant for packagers (dependencies, package size, file lists,...).


It will be possible to search and browse for available applications.
It will be possible to search and browse for available applications.


gnome-software will also be used to present information about available and installed updates. Notifications about available updates will launch gnome-software if the user chooses to see details. gnome-software will be fully integrated with 'offline updates' - if an update includes system packages, it will be done as an offline update, regardless whether it gets initiated from the gnome-shell menu, a notification, or the gnome-software UI, which will finally address bug [[https://bugzilla.redhat.com/show_bug.cgi?id=863592 863592]].
gnome-software will also be used to present information about available and installed updates. Notifications about available updates will launch gnome-software if the user chooses to see details. gnome-software will be fully integrated with 'offline updates' - updates will all be offline updates, regardless whether they are initiated from the gnome-shell menu, a notification, or the gnome-software UI, which will finally address bug [https://bugzilla.redhat.com/show_bug.cgi?id=863592 863592].


To improve some problematic aspects of the updates user experience (long waits, locks), we will use the new hawkey backend for PackageKit.
Not all of the listed features will be available in F20.


Not all of the listed features will be available in F20.
For F20, we will focus on completing the offline update experience and use gnome-software for it instead of gpk-update-viewer. Basic application installation and removal will also work. We are planning to show icons and descriptions for application, but most of the needed metadata for uninstalled applications (icons, descriptions, categories) will be provided statically for a limited set of applications. Screenshots, ratings, popularity and interactive features like reviews will have to wait until F21.


For F20, we will focus on completing the offline update experience and use gnome-software for it instead of gpk-update-viewer. The installation part of gnome-software will be somewhat limited. We are planning to show application icons for uninstalled applications, but screenshots, ratings and interactive features like reviews will have to wait until F21.
For F21, we will focus on adding more application metadata (screenshots, ratings, popularity, etc) and interactive features like reviews. We will also work with the Fedora infrastructure team to obtain the metadata online for all applications instead of shipping it statically for a limited set. To obtain this data in a decentralized an scalable way, we will be adopting a subset
of the appstream data format to describe applications in a simple, translatable XML file that can be included upstream with
the applications.


== Benefit to Fedora ==
== Benefit to Fedora ==
Fedora gets an improved application installation experience.
Fedora gets an improved application installation experience. Having a proper way to present available applications to users will open the door to making more rational decisions about what needs to be included in the spin, and what can be presented as a featured application in the installer.
 
The hawkey stack gets early testing exposure.


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** Implement minimal required functionality for application installation in gnome-software
** Implement minimal required functionality for application installation and removal in gnome-software (DONE)
** Implement minimal required functionality for updates in gnome-software
** Implement minimal required functionality for updates in gnome-software (DONE)
** Package gnome-software
** Implement minimal required functionality for search in gnome-software (DONE)
** Include a hawkey backend in PackageKit and use it
** Implement minimal required functionality for browsing in gnome-software (DONE)
** Package gnome-software [https://bugzilla.redhat.com/show_bug.cgi?id=1002288 #1002288] (DONE)


* Other developers:
* Other developers:
** Use gnome-software instead of gpk-update-viewer when dealing with updates in gnome-settings-daemon, gnome-shell and gnome-control-center
** Use gnome-software instead of gpk-update-viewer when dealing with updates in gnome-settings-daemon, gnome-shell and gnome-control-center (DONE)


* Infrastructure:
* Infrastructure:
Line 50: Line 53:


* Policies and guidelines:
* Policies and guidelines:
** We want to use the hawkey backend in PackageKit while the default commandline utility is still yum; this kind of separation was rejected by Fesco in the past for zif, will need to ask again
** No immediate changes to packaging guidelines needed; longer-term, we may want to make changes to way applications are distributed and installed
** No immediate changes to packaging guidelines needed; longer-term, we may want to make changes to way applications are distributed and installed
** The update experience will also benefit from proposed changes to batch updates


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Line 77: Line 78:


== User Experience ==
== User Experience ==
See https://wiki.gnome.org/Design/Apps/Software#Tentative_Design detailed mockups of how the user experience will look.
See the [https://wiki.gnome.org/Design/Apps/Software#Tentative_Design design page] to learn about the user experience.
 
In detail, here are the designs for [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-browsing.png browsing], [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-installation.png installation], [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-installed.png installed apps], [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-search.png search] and [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-updates.png updates].


== Dependencies ==
== Dependencies ==
* hawkey backend in PackageKit
* gnome-shell and control-center currently launch gpk-update-viewer, they will be changed to launch gnome-software
* gnome-shell and control-center currently launch gpk-update-viewer, they will be changed to launch gnome-software
* application icons for uninstalled applications
* application icons for uninstalled applications


== Contingency Plan ==
== Contingency Plan ==
* If the hawkey PackageKit backend or hawkey itself are not fully functional in F20, keep using the yum backend
* If gnome-software is not available in Fedora, or does not have the minimal required functionality for application installation or software updates, keep using the existing gnome-packagekit UI for F20
* If gnome-software is not available in Fedora, or does not have the minimal required functionality for application installation or software updates, keep using the existing gnome-packagekit UI for F20
* If some of the metadata is not available, it will still be possible to install applications, but the experience will be degraded
* If some of the metadata is not available, it will still be possible to install applications, but the experience will be degraded


== Documentation ==
== Documentation ==
* https://live.gnome.org/Software
* https://live.gnome.org/Apps/Software
* https://wiki.gnome.org/Design/Apps/Software
* https://wiki.gnome.org/Design/Apps/Software
* http://blogs.gnome.org/hughsie/2013/03/05/gnome-software-overall-plan/
* http://blogs.gnome.org/hughsie/2013/03/05/gnome-software-overall-plan/
* http://blogs.gnome.org/hughsie/2013/05/29/the-future-of-package-management-in-fedora/
* http://blogs.gnome.org/hughsie/2013/05/29/the-future-of-package-management-in-fedora/
* http://blogs.gnome.org/hughsie/2013/07/19/hawkey-progress/
* http://blogs.gnome.org/hughsie/2013/07/19/hawkey-progress/
* http://blogs.gnome.org/hughsie/2013/08/29/gnome-software-center-and-you/


== Release Notes ==
== Release Notes ==

Latest revision as of 10:03, 14 March 2014

Application Installer

Summary

We will install by default a new Application Installer. The existing gnome-packagekit frontends (gpk-update-viewer and gpk-application) will still be available, but not installed by default.

Owner

  • Name: Richard Hughes for the implementation, Ryan Lerch and Allan Day for the design
  • Email: rhughes@redhat.com

Current status

gnome-software is available in git.gnome.org. A first release of gnome-software has been made on September 2 and it has been built for f20 on the same day.

gnome-software can already list installed applications, install and remove applications and trigger offline updates. gnome-settings-daemon, gnome-shell and gnome-session have been updated in 3.9.91 to integrate with gnome-software (when available) for offline updates.

Detailed Description

The current PackageKit frontends are focused on (surprise!) packages.

The new tool, named gnome-software, is designed from the beginning for installing applications. It will present applications with information that is relevant to users (icons, screenshots, reviews, descriptions, ratings,...) instead of information that is relevant for packagers (dependencies, package size, file lists,...).

It will be possible to search and browse for available applications.

gnome-software will also be used to present information about available and installed updates. Notifications about available updates will launch gnome-software if the user chooses to see details. gnome-software will be fully integrated with 'offline updates' - updates will all be offline updates, regardless whether they are initiated from the gnome-shell menu, a notification, or the gnome-software UI, which will finally address bug 863592.

Not all of the listed features will be available in F20.

For F20, we will focus on completing the offline update experience and use gnome-software for it instead of gpk-update-viewer. Basic application installation and removal will also work. We are planning to show icons and descriptions for application, but most of the needed metadata for uninstalled applications (icons, descriptions, categories) will be provided statically for a limited set of applications. Screenshots, ratings, popularity and interactive features like reviews will have to wait until F21.

For F21, we will focus on adding more application metadata (screenshots, ratings, popularity, etc) and interactive features like reviews. We will also work with the Fedora infrastructure team to obtain the metadata online for all applications instead of shipping it statically for a limited set. To obtain this data in a decentralized an scalable way, we will be adopting a subset of the appstream data format to describe applications in a simple, translatable XML file that can be included upstream with the applications.

Benefit to Fedora

Fedora gets an improved application installation experience. Having a proper way to present available applications to users will open the door to making more rational decisions about what needs to be included in the spin, and what can be presented as a featured application in the installer.

Scope

  • Proposal owners:
    • Implement minimal required functionality for application installation and removal in gnome-software (DONE)
    • Implement minimal required functionality for updates in gnome-software (DONE)
    • Implement minimal required functionality for search in gnome-software (DONE)
    • Implement minimal required functionality for browsing in gnome-software (DONE)
    • Package gnome-software #1002288 (DONE)
  • Other developers:
    • Use gnome-software instead of gpk-update-viewer when dealing with updates in gnome-settings-daemon, gnome-shell and gnome-control-center (DONE)
  • Infrastructure:
    • Make metadata available for packaged applications in Fedora. For F20, we want to be able to show application icons for uninstalled applications, so these must be made available outside the package. TBD: More details needed on how this will be done
  • Policies and guidelines:
    • No immediate changes to packaging guidelines needed; longer-term, we may want to make changes to way applications are distributed and installed

Upgrade/compatibility impact

This change should not have any impact on upgrades of existing installs.

How To Test

  • Test application installation:
    • Run gnome-software
    • Find an application that is not installed, e.g. the GIMP in the UI
    • Install it
    • Verify that it is easy to find the application in the UI, get relevant information about it before installing it, and install it
    • Check that the application is properly installed (can be launched from the commandline, as well as from the gnome-shell overview)
  • Test updates:
    • Launch gnome-software when updates are available
    • Check that the tool informs you about the available updates (system updates will be grouped)
    • Install the updates
    • Verify that the updates are properly installed (using the offline update mechanism when system updates are involved)
  • Test notifications:
    • Log into GNOME when security updates are available
    • Check that a notification informs you about the available security updates
    • Check that clicking 'View' starts gnome-software

User Experience

See the design page to learn about the user experience.

In detail, here are the designs for browsing, installation, installed apps, search and updates.

Dependencies

  • gnome-shell and control-center currently launch gpk-update-viewer, they will be changed to launch gnome-software
  • application icons for uninstalled applications

Contingency Plan

  • If gnome-software is not available in Fedora, or does not have the minimal required functionality for application installation or software updates, keep using the existing gnome-packagekit UI for F20
  • If some of the metadata is not available, it will still be possible to install applications, but the experience will be degraded

Documentation

Release Notes

Fedora 20 includes a new application installer called gnome-software. gpk-application is still available.