-
Notifications
You must be signed in to change notification settings - Fork 522
CLI user experience
Allan Day edited this page Dec 19, 2017
·
8 revisions
Research into CLI user experience for flatpak.
Example output when installing something.
This is following one of the commands that is given on flathub.com.
$ flatpak install --from https://flathub.org/repo/appstream/org.baedert.corebird.flatpakref
The remote 'flathub', at location https://flathub.org/repo/ contains additional applications.
Should the remote be kept for future installations? [y/n]: y
Installing: org.baedert.corebird/x86_64/stable
Required runtime for org.baedert.corebird/x86_64/stable (org.gnome.Platform/x86_64/3.26) is not installed, searching...
Found in remote flathub, do you want to install it? [y/n]: y
Installing: org.gnome.Platform/x86_64/3.26 from flathub
[####################] 10 delta parts, 74 loose fetched; 207705 KiB transferred in 27 seconds
Installing: org.gtk.Gtk3theme.Ambiance/x86_64/3.22 from flathub
[####################] 1 delta parts, 1 loose fetched; 292 KiB transferred in 1 seconds
Installing: org.gnome.Platform.Locale/x86_64/3.26 from flathub
[####################] 4 metadata, 1 content objects fetched; 14 KiB transferred in 0 seconds
Installing: org.baedert.corebird/x86_64/stable from flathub
[####################] 1 delta parts, 3 loose fetched; 6934 KiB transferred in 1 seconds
Installing: org.baedert.corebird.Locale/x86_64/stable from flathub
[####################] 3 metadata, 1 content objects fetched; 3 KiB transferred in 0 seconds
sudo dnf install audacity
[sudo] password for ******:
Last metadata expiration check: 0:00:00 ago on Fri 15 Dec 2017 10:35:19 GMT.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
audacity x86_64 2.1.3-5.fc27 fedora 5.3 M
Installing dependencies:
SDL x86_64 1.2.15-29.fc27 fedora 216 k
compat-wxBase3-gtk2 x86_64 3.0.2-32.fc27 fedora 1.1 M
compat-wxGTK3-gtk2 x86_64 3.0.2-32.fc27 fedora 5.1 M
libid3tag x86_64 0.15.1b-24.fc27 fedora 53 k
portaudio x86_64 19-26.fc27 fedora 95 k
vamp-plugin-sdk x86_64 2.5-11.fc27 fedora 145 k
Transaction Summary
================================================================================
Install 7 Packages
Total download size: 12 M
Installed size: 45 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): compat-wxBase3-gtk2-3.0.2-32.fc27.x86_64 974 kB/s | 1.1 MB 00:01
(2/7): libid3tag-0.15.1b-24.fc27.x86_64.rpm 590 kB/s | 53 kB 00:00
(3/7): portaudio-19-26.fc27.x86_64.rpm 920 kB/s | 95 kB 00:00
(4/7): vamp-plugin-sdk-2.5-11.fc27.x86_64.rpm 834 kB/s | 145 kB 00:00
(5/7): SDL-1.2.15-29.fc27.x86_64.rpm 1.1 MB/s | 216 kB 00:00
(6/7): audacity-2.1.3-5.fc27.x86_64.rpm 1.7 MB/s | 5.3 MB 00:03
(7/7): compat-wxGTK3-gtk2-3.0.2-32.fc27.x86_64. 1.6 MB/s | 5.1 MB 00:03
--------------------------------------------------------------------------------
Total 3.0 MB/s | 12 MB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : compat-wxBase3-gtk2-3.0.2-32.fc27.x86_64 1/7
Running scriptlet: compat-wxBase3-gtk2-3.0.2-32.fc27.x86_64 1/7
Installing : SDL-1.2.15-29.fc27.x86_64 2/7
Running scriptlet: SDL-1.2.15-29.fc27.x86_64 2/7
Installing : compat-wxGTK3-gtk2-3.0.2-32.fc27.x86_64 3/7
Running scriptlet: compat-wxGTK3-gtk2-3.0.2-32.fc27.x86_64 3/7
Installing : vamp-plugin-sdk-2.5-11.fc27.x86_64 4/7
Running scriptlet: vamp-plugin-sdk-2.5-11.fc27.x86_64 4/7
Installing : portaudio-19-26.fc27.x86_64 5/7
Running scriptlet: portaudio-19-26.fc27.x86_64 5/7
Installing : libid3tag-0.15.1b-24.fc27.x86_64 6/7
Running scriptlet: libid3tag-0.15.1b-24.fc27.x86_64 6/7
Installing : audacity-2.1.3-5.fc27.x86_64 7/7
Running scriptlet: audacity-2.1.3-5.fc27.x86_64 7/7
Running scriptlet: audacity-2.1.3-5.fc27.x86_64
Verifying : audacity-2.1.3-5.fc27.x86_64
Verifying : compat-wxBase3-gtk2-3.0.2-32.fc27.x86_64
Verifying : compat-wxGTK3-gtk2-3.0.2-32.fc27.x86_64
Verifying : libid3tag-0.15.1b-24.fc27.x86_64
Verifying : portaudio-19-26.fc27.x86_64
Verifying : vamp-plugin-sdk-2.5-11.fc27.x86_64
Verifying : SDL-1.2.15-29.fc27.x86_64
Installed:
audacity.x86_64 2.1.3-5.fc27 SDL.x86_64 1.2.15-29.fc27 compat-wxBase3-gtk2.x86_64 3.0.2-32.fc27 compat-wxGTK3-gtk2.x86_64 3.0.2-32.fc27 libid3tag.x86_64 0.15.1b-24.fc27 portaudio.x86_64 19-26.fc27
vamp-plugin-sdk.x86_64 2.5-11.fc27
Complete!
A progress bar is shown beside each step while it is completed. Progress bars look like:
<item> 20% [=============- ] 5.1 MB/s | 9.1 MB 00:30 ETA
$ snap install hello
2017-12-14T18:56:26Z INFO Waiting for restart...
hello 2.10 from 'canonical' installed
Shows a progress bar which is replaced with the installed message when complete. The progress bar is shown by inverting the colour of the background for the line.
- Reverse DNS names for apps are a pain
- You have to state where you want to install from
- Doesn't confirm installation when complete
- We're training users to use
--fromand link to a.flatpakref, rather than doingflapak install flathub <app name>, and the--fromis awkward (this is probably an issue with the website). - No indication of download sizes before download
- If there are multiple confirmation steps, they appear sequentially, rather than being grouped together
- It asks if you want to install some things along with the app (like the runtime), but not others. To the uninitiated this feels inconsistent, but also surprising - I just asked to install the app, not all this other stuff. What is it, anyway?
- It feels a bit chatty
- Technical lingo in the progress strings -
delta parts,loose fetched,metadataandcontent objects - "Progress bars" don't disappear after completion, resulting in additional visual noise
- The big block of text is hard to read
$ flatpak search corebird
Application ID Version Branch Remotes Description
org.baedert.corebird 1.7.3 stable flathub Twitter Client
(Headings are in bold.)
$ flatpak remote-info flathub org.gimp.GIMP
Ref: app/org.gimp.GIMP/x86_64/stable
ID: org.gimp.GIMP
Arch: x86_64
Branch: stable
Date: 2017-10-17 16:39:40 +0000
Subject: Build org.gimp.GIMP at 2f9a3362289727807db5b74d6ebf426d8a1f09a7
Commit: 7bda4b1cadf3d096f849e34f18c5934fa2e6dbe97b3269cabc2176e96e2a25fb
Parent: 64a5dae3bfa8ef3a5c7b7a4e2f497f3e0d5c297c496710998d98846ac3fafcc8
Download size: 47.2 MB
Installed size: 127.2 MB
Runtime: org.gnome.Platform/x86_64/3.24
(Labels are in bold.)
$ dnf search corebird
======================== Name Exactly Matched: corebird ========================
corebird.x86_64 : Native GTK Twitter client
$ dnf info corebird
Available Packages
Name : corebird
Version : 1.7.2
Release : 1.fc27
Arch : x86_64
Size : 596 k
Source : corebird-1.7.2-1.fc27.src.rpm
Repo : updates
Summary : Native GTK Twitter client
URL : http://corebird.baedert.org/
License : GPLv3+
Description : Native GTK Twitter client for the Linux desktop.
Sorting... Done
Full Text Search... Done
corebird/artful 1.6-1 amd64
Native Gtk+ Twitter client for the Linux desktop
apt show corebird
Package: corebird
Version: 1.6-1
Priority: optional
Section: universe/net
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Philip Rinn <rinni@inventati.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,682 kB
Depends: gstreamer1.0-plugins-good, dconf-gsettings-backend | gsettings-backend, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.14), libcairo2 (>= 1.14.0), libgdk-pixbuf2.0-0 (>= 2.27.1), libglib2.0-0 (>= 2.44), libgspell-1-1 (>= 1.0.0), libgstreamer1.0-0 (>= 1.0.0), libgtk-3-0 (>= 3.21.5), libjson-glib-1.0-0 (>= 1.2.0), libpango-1.0-0 (>= 1.14.0), libsoup2.4-1 (>= 2.41.90), libsqlite3-0 (>= 3.7.15)
Recommends: gstreamer1.0-plugins-bad
Homepage: http://corebird.baedert.org
Download-Size: 502 kB
APT-Sources: http://gb.archive.ubuntu.com/ubuntu artful/universe amd64 Packages
Description: Native Gtk+ Twitter client for the Linux desktop
Corebird is a modern and lightweight Twitter client for the GNOME 3 desktop. It
features inline image and video preview, creation of lists and favorites,
filtering of tweets and full text search. Corebird is able to manage multiple
Twitter accounts.
$ snap search corebird
Name Version Developer Notes Summary
corebird 1.7.3 snapcrafters - Corebird Twitter Client
$ snap info corebird
name: corebird
summary: Corebird Twitter Client
publisher: snapcrafters
contact: https://github.com/snapcrafters/corebird/issues
description: |
Corebird is a modern and lightweight Twitter client for the GNOME 3 desktop.
It features inline image and video preview, creation of lists and favorites,
filtering of tweets and full text search. Corebird is able to manage multiple
Twitter accounts.
snap-id: jpPjOVJYHmcVHb0EJVC6hVlq6eCEYkZ5
commands:
- corebird
tracking: stable
installed: 1.7.3 (65) 36MB -
refreshed: 2017-11-20 08:33:15 +0000 UTC
channels:
stable: 1.7.3 (65) 36MB -
candidate: 1.7.3 (88) 30MB -
beta: 1.7.3 (88) 30MB -
edge: 1.7.3 (88) 30MB -
$ flatpak remote-info flathub org.gimp.gimp
error: Error searching remote flathub: Can't find ref org.gimp.gimp
(error: is bold and red.)
$ sudo dnf install croebird
[sudo] password for ****:
No match for argument: croebird
Error: Unable to find a match
[sudo] password for ***:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package croebird
$ snap install croebird
error: snap "croebird" not found
Visit flatpak.org for information on getting started, developer documentation and details of available applications and runtimes.
Information for Developers
Information for Distributors
Technical Details
Flatpak Build Service
Miscellaneous