From Fedora Project Wiki
(Created page with " = Application Installer Continued = == Summary == Fully integrate the new application installer with Fedora, and complete its feature set == Owner == * Name: [[User:rhughe...")
 
mNo edit summary
 
(24 intermediate revisions by 3 users not shown)
Line 6: Line 6:


== Owner ==
== Owner ==
* Name: [[User:rhughes| Richard Hughes]] for the implementation, Ryan Lerch and Allan Day for the design
* Name: [[User:rhughes| Richard Hughes]] and [[User:kalev|Kalev Lember]] for the implementation, Ryan Lerch and Allan Day for the design
* Email: rhughes@redhat.com
* Email: rhughes@redhat.com, kalevlember@gmail.com
* Release notes owner:  [[User:Pbokoc| Petr Bokoc]] pbokoc at redhat dot com


== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Last updated: 2013-11-11
* Last updated: 2014-04-23
* Tracker bug:  
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1098218 #1098218]


gnome-software has been introduced in F20, and it offers application installation, browsing, search and update viewing and offline installation.
gnome-software has been introduced in F20, and it offers application installation, browsing, search and update viewing and installation.
In F20, gnome-software is using yum via PackageKit. The metadata for applications, as well as extra data for featured applications is shipped as
In rawhide, gnome-software is using hawkey via PackageKit. The metadata for applications, as well as extra data for featured applications
part of the gnome-software package.
is shipped as part of the gnome-software package.


== Detailed Description ==
== Detailed Description ==
Line 23: Line 24:
it statically for a limited set.
it statically for a limited set.


The update monitoring and downloading functionality will be moved from the gnome-settings-daemon updates plugin into a dedicated gnome-software service.
The metadata for application needs to be expanded and its quality monitored. Screenshots need to be taken or updated.


In addition, a gnome-shell search provider will offer installable applications as search results.
The update monitoring and downloading functionality will be moved from the gnome-settings-daemon updates plugin into gnome-software. To implement this, gnome-software will be turned into a session service, and the updates plugin will be removed from gnome-settings-daemon.
 
A gnome-shell search provider will offer installable applications as search results.
 
gnome-software will allow to customize the app folders that are displayed in the gnome-shell app picker.


We will switch to using the hawkey PackageKit backend.
We will switch to using the hawkey PackageKit backend.
We also want to try to integrate Fedora accounts for collecting ratings and installed package lists, but this requires coordination with the Fedora infrastructure team.
The priorities for gnome-software 3.12 are also tracked [https://wiki.gnome.org/Apps/Software#Priorities_.26_Plans upstream].


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 40: Line 49:
** Implement a GNOME shell search provider (DONE)
** Implement a GNOME shell search provider (DONE)
** Turn gnome-software into a session service and take over updates plugin functionality (DONE)
** Turn gnome-software into a session service and take over updates plugin functionality (DONE)
** Switch PackageKit to use the hawkey backend
** Implement app folder configuration (DONE)
** Turn search into search-as-you-type
** Implement Fedora account integration
** Replace old gnome-packagekit package installation dialogs (DONE)
** Switch PackageKit to use the hawkey backend (DONE)


* Infrastructure:
* 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
** Extract metadata and icons when building packages in koji [https://fedorahosted.org/rel-eng/ticket/5721 rel-eng ticket]
** Fedora should be hosting application screenshots
** Make metadata available for packaged applications in Fedora
** Make application icons available
** Make application screenshots available
** Make it possible to create Fedora accounts from the client-side
** Allow storing small amount of per-user data for users with a Fedora account
 
* Application packagers
** Add application metadata to their packages, ideally sending it upstream
 
* Marketing, documentation
** Assist with review and quality control of application metadata
** Assist with selecting featured applications


* 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 (DONE, approved conditionally)
** 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 (DONE, approved conditionally)
** No immediate changes to packaging guidelines needed; longer-term, we may want to make changes to way applications are distributed and installed
** The packaging guidelines for applications should be updated to require application metadata in addition to a desktop file
** The update experience will also benefit from proposed changes to batch updates, but batched updates are not a strict requirement for the new app installer
** The update experience will also benefit from proposed changes to batch updates, but batched updates are not a strict requirement for the new app installer


Line 56: Line 80:


== How To Test ==
== How To Test ==
* Test application details
** Open gnome-software
** Open the details page for an installed application
** Verify that it displays properly formatted information, including screenshots, a description, version, size, license
* Test application installation:
* Test application installation:
** Run gnome-software  
** Run gnome-software  
Line 62: Line 91:
** Verify that it is easy to find the application in the UI, get relevant information about it before installing it, and 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)
** Check that the application is ''properly'' installed (can be launched from the commandline, as well as from the gnome-shell overview)
** Launch the application from the gnome-software details page after installing it. This should work
* Test application removal:
** Find an application that is installed
** Click the Red 'Remove' button on the details page
** Verify that the application gets removed and appears as available in the gnome-software UI afterwards


* Test updates:  
* Test updates:  
Line 67: Line 102:
** Check that the tool informs you about the available updates (system updates will be grouped)
** Check that the tool informs you about the available updates (system updates will be grouped)
** Install the updates
** Install the updates
** Verify that the updates are ''properly'' installed (using the offline update mechanism when system updates are involved)
** Verify that the updates are ''properly'' installed (using the offline update mechanism)
** After the system is restarted and you log in again, verify that you get a notification that updates have been installed, and can review the details from there


* Test notifications:
* Test notifications:
Line 73: Line 109:
** Check that a notification informs you about the available security updates
** Check that a notification informs you about the available security updates
** Check that clicking 'View' starts gnome-software
** Check that clicking 'View' starts gnome-software
* Test application folders:
** Click the button with the checkmark on the installed application list
** Select some applications
** Click on Application Folders at the bottom
** Create a new folder named 'TestFolder'
** Select it and click 'Done'
** Verify that the selected applications now have 'TestFolder' (on a gray background) in the installed list
** Verify that the gnome-shell app picker now has a folder named 'TestFolder' that contains the selected applications


== User Experience ==
== User Experience ==
See the [https://wiki.gnome.org/Design/Apps/Software#Tentative_Design design page] to learn about the user experience.
See the [https://wiki.gnome.org/Design/Apps/Software#Tentative_Design design page] to learn about the user experience.
Various detailed mockups can be found here: [https://github.com/gnome-design-team/gnome-mockups/blob/master/software/version2/software-installed-app-folders.png app folders], [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-os-registration.png account registration], [https://raw.github.com/gnome-design-team/gnome-mockups/master/software/version2/wire-package-install.png package installation]


== Dependencies ==
== Dependencies ==
Line 81: Line 128:
* application metadata extraction in koji and hosting
* application metadata extraction in koji and hosting
* application screenshot hosting
* application screenshot hosting
* Fedora account integration


== Contingency Plan ==
== Contingency Plan ==
* If the hawkey PackageKit backend or hawkey itself are not fully functional in F21, keep using the yum backend
* If the hawkey PackageKit backend or hawkey itself are not fully functional in F21, keep using the yum backend
* If application metadata extraction and hosting is not getting implemented by F21, we will continue to ship a limited set of metadata with gnome-software
* If necessary Fedora account integration does not happen in time for F21, we will disable features that depend on it


== Documentation ==
== Documentation ==
Line 96: Line 146:
The application installer, gnome-software is now more fully integrated and provides more functionality.
The application installer, gnome-software is now more fully integrated and provides more functionality.


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF21]]
[[Category:SystemWideChange]]
[[Category:SystemWideChange]]

Latest revision as of 15:41, 11 August 2014

Application Installer Continued

Summary

Fully integrate the new application installer with Fedora, and complete its feature set

Owner

  • Name: Richard Hughes and Kalev Lember for the implementation, Ryan Lerch and Allan Day for the design
  • Email: rhughes@redhat.com, kalevlember@gmail.com
  • Release notes owner: Petr Bokoc pbokoc at redhat dot com

Current status

gnome-software has been introduced in F20, and it offers application installation, browsing, search and update viewing and installation. In rawhide, gnome-software is using hawkey via PackageKit. The metadata for applications, as well as extra data for featured applications is shipped as part of the gnome-software package.

Detailed Description

gnome-software will support installing system add-ons such as fonts and codecs. It will show additional metadata for applications: screenshots, ratings, other details. 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.

The metadata for application needs to be expanded and its quality monitored. Screenshots need to be taken or updated.

The update monitoring and downloading functionality will be moved from the gnome-settings-daemon updates plugin into gnome-software. To implement this, gnome-software will be turned into a session service, and the updates plugin will be removed from gnome-settings-daemon.

A gnome-shell search provider will offer installable applications as search results.

gnome-software will allow to customize the app folders that are displayed in the gnome-shell app picker.

We will switch to using the hawkey PackageKit backend.

We also want to try to integrate Fedora accounts for collecting ratings and installed package lists, but this requires coordination with the Fedora infrastructure team.

The priorities for gnome-software 3.12 are also tracked upstream.

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.

The hawkey stack gets early testing exposure.

Scope

  • Proposal owners:
    • Add add-on support (DONE)
    • Display additional metadata in details page (DONE)
    • Implement a GNOME shell search provider (DONE)
    • Turn gnome-software into a session service and take over updates plugin functionality (DONE)
    • Implement app folder configuration (DONE)
    • Turn search into search-as-you-type
    • Implement Fedora account integration
    • Replace old gnome-packagekit package installation dialogs (DONE)
    • Switch PackageKit to use the hawkey backend (DONE)
  • Infrastructure:
    • Extract metadata and icons when building packages in koji rel-eng ticket
    • Make metadata available for packaged applications in Fedora
    • Make application icons available
    • Make application screenshots available
    • Make it possible to create Fedora accounts from the client-side
    • Allow storing small amount of per-user data for users with a Fedora account
  • Application packagers
    • Add application metadata to their packages, ideally sending it upstream
  • Marketing, documentation
    • Assist with review and quality control of application metadata
    • Assist with selecting featured applications
  • 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 (DONE, approved conditionally)
    • The packaging guidelines for applications should be updated to require application metadata in addition to a desktop file
    • The update experience will also benefit from proposed changes to batch updates, but batched updates are not a strict requirement for the new app installer

Upgrade/compatibility impact

The gnome-settings-daemon update plugin had cdoe to notify users about available OS upgrades. We have not yet decided if gnome-software should provide similar functionality.

How To Test

  • Test application details
    • Open gnome-software
    • Open the details page for an installed application
    • Verify that it displays properly formatted information, including screenshots, a description, version, size, license
  • 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)
    • Launch the application from the gnome-software details page after installing it. This should work
  • Test application removal:
    • Find an application that is installed
    • Click the Red 'Remove' button on the details page
    • Verify that the application gets removed and appears as available in the gnome-software UI afterwards
  • 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)
    • After the system is restarted and you log in again, verify that you get a notification that updates have been installed, and can review the details from there
  • 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
  • Test application folders:
    • Click the button with the checkmark on the installed application list
    • Select some applications
    • Click on Application Folders at the bottom
    • Create a new folder named 'TestFolder'
    • Select it and click 'Done'
    • Verify that the selected applications now have 'TestFolder' (on a gray background) in the installed list
    • Verify that the gnome-shell app picker now has a folder named 'TestFolder' that contains the selected applications

User Experience

See the design page to learn about the user experience.

Various detailed mockups can be found here: app folders, account registration, package installation

Dependencies

  • hawkey backend in PackageKit
  • application metadata extraction in koji and hosting
  • application screenshot hosting
  • Fedora account integration

Contingency Plan

  • If the hawkey PackageKit backend or hawkey itself are not fully functional in F21, keep using the yum backend
  • If application metadata extraction and hosting is not getting implemented by F21, we will continue to ship a limited set of metadata with gnome-software
  • If necessary Fedora account integration does not happen in time for F21, we will disable features that depend on it

Documentation

Release Notes

The application installer, gnome-software is now more fully integrated and provides more functionality.