Application Installer Continued
Summary
Fully integrate the new application installer with Fedora, and complete its feature set
Owner
- Name: Richard Hughes for the implementation, Ryan Lerch and Allan Day for the design
- Email: rhughes@redhat.com
Current status
- Targeted release: Fedora 21
- Last updated: 2013-11-11
- Tracker bug:
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 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.
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 in gnome-software, gnome-shell still outstanding)
- Turn search into search-as-you-type
- Implement Fedora account integration
- Replace old gnome-packagekit package installation dialogs
- Switch PackageKit to use the hawkey backend
- 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 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.
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
Contingency Plan
- If the hawkey PackageKit backend or hawkey itself are not fully functional in F21, keep using the yum backend
Documentation
- https://live.gnome.org/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/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/08/29/gnome-software-center-and-you/
Release Notes
The application installer, gnome-software is now more fully integrated and provides more functionality.