In Fedora 20, GNOME Software will be available as a technical preview. In the future, it will replace gnome-packagekit as the default app installer. This will also allow us to make gnome-packagekit more geeky for people who are interested in packages and not in apps.
Meet GNOME Software
Based on the design by the amazing GNOME Design Team, GNOME Software is indeed extremely easy to use.
The main screen shows a big banner for a “Featured” application. In the future it would probably be cycling carousel-style, but for now (it’s still a tech-preview after all) it’s static and hardcoded. Below that, a list of “picks” is displayed. They would change dynamically in the future as well, allowing us to feature new or interesting applications to help the users discover them easier.
In addition to traditional searching, we allow users to discover apps by navigating categories. The categories we have now are taken directly from the freedesktop menu spec, which is suboptimal for our usecase and as Matthias said, “Very much 90s”. Therefor, in the future, we will find a better, more sane set of categories.
The application information is taken directly from the appdata.xml files. If you want your application to have detailed description, a link to your website (and, in the future, screenshots), you should add an appdata file! check out the specification and Richard’s post on fedora-devel-list for more information. A lot of upstream projects have added appdata files in the past few weeks. If you know of a project that didn’t hear about it, let them know!
Cross Distribution DE-Agnostic Awesomeness
yay for standards
While GNOME Software is designed according to the GNOME world-view, the metadata is not. While testing GNOME Software in Fedora, you will notice apps from other desktops as well. We don’t hide them. In addition to that, the metadata is standard and a subset of the AppStream Specification which was developed collaboratively by people from Fedora, OpenSUSE, KDE and Ubuntu. Ubuntu and SUSE already have the metadata in their infrastructure, and Fedora will have it soon.
Since all application descriptions are submitted upstream, and since we use PackageKit as a backend, any distribution who wishes to will be able to integrate gnome-software.
On the Fedora side of things, the plan is to generate the metadata (that means two tarballs, one containing app icons and the other containing appdata xml with application descriptions) in koji, and then make it available on the mirrors metadata. The metadata will be generated by using Richard’s little script. This script handles extracting descriptions and icons from packages, as well as blacklisting some specific packages we don’t want to show in the application installer (stuff that have desktop launchers, but are not actually apps).
Other desktop environments will be able to implement their own Application Installers using the same metadata, if they wish to.
Not Only For Packages
Due to the pluggable nature of GNOME Software, packages are not the only way of obtaining software that it will support. We already have someone working to add support for Firefox web applications.In addition to that, it would be possible to support installing shell extensions (from extensions.gnome.org) directly from within GNOME Software!
I’m also trying to convince Valve to expose some APIs to us so we can make a plugin that will integrate Steam (if installed) with GNOME Software.
In the future, the plan is to support bundles such as glick and listaller bundles, to make it easy for 3rd parties to distribute apps.
Work In Progress
As always, and especially with a tech-preview, your testing is appreciated. if you are already running Fedora 20, all you have to do to give GNOME Software a go is to type
yum install gnome-software. Please file bugs if you find any!