The CLI experience provided by flatpak is not the most user friendly experience and part of the problem was difficulty in discovering applications. Previously the only data it exposed access to was the OSTree metadata which didn't include much human friendly information.
Thankfully applications can provide AppStream metadata which was designed exactly for exposing information to users. With this information and a new dependency on appstream-glib we can add a search
command to flatpak
that loads up the appstream data for each configured remote and then searches through it matching the descriptions and names of applications.
A video of search in action:
The main difficulties were providing enough information in the results to be useful, as the flatpak
commands are a bit more verbose than other package managers, while not being overwhelming with information. Also a lot of packages don't include version information which is slowly being solved in existing packages.
Merge request: https://github.com/flatpak/flatpak/pull/1136
Posted on Utopian.io - Rewarding Open Source Contributors