From Fedora Project Wiki

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.