Project

General

Profile

Feature #15262

GNOME Software

Added by alant over 1 year ago. Updated 19 days ago.

Status:
Confirmed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
03/18/2017
Due date:
% Done:

53%

Feature Branch:
feature/15262-gnome-software
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Additional Software Packages

Description

User paper protoyping showed that non-technical users are often confused by the cluttered interface of synaptic, while technical users mostly use the command line. As a consequence, we thing that we should use GNOME Packagekit (debian package: gnome-packagekit [[https://packages.debian.org/stable/gnome-packagekit]]) instead of synaptic as the primary way to add Additional Software to Tails.

GNOME Packagekit seems not actively developped anymore as most efforts goes in GNOME Software. GNOME Software however doesn't fulfill the objective, as " It’s designed to be an application management application. GNOME PackageKit lives on for people that know what a package is and want a pointy-clicky GUI, so I’m not interested in showing low level details for power users." ([[https://blogs.gnome.org/hughsie/2013/03/05/gnome-software-overall-plan/]]). In Debian, Software doesn't show all software that my be of user interest (e.g. hyphenation data for you language, most fonts) and is not yet polished (shows "Sorry, something went wrong")

GNOME Packagekot is still maintained, recieving bugfixes and translation updates, and having releases ([[https://git.gnome.org/browse/gnome-packagekit/log/]]). We may ask for confirmation that it will keep on being maintained for some time.

For some reason tails-persistence-setup depends on synaptic to use one of its icons. That should be fixed as part of this ticket.


Subtasks

Bug #12372: Get software-properties-gtk starting / fix /etc/os-releaseConfirmed

Bug #15263: Persistence-setup: stop depending on synapticResolved

Bug #15384: Adding ASP fails when a package is installed from packagekitdResolved

Feature #15540: Hide the launcher for software-properties-gtkConfirmed


Related issues

Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 08/31/2018
Related to Tails - Feature #15785: Consider showing synaptic quick introduction Confirmed 08/12/2018
Related to Tails - Bug #16615: Decide what to do wrt. Synaptic Resolved

History

#1 Updated by intrigeri over 1 year ago

(Below I'm adding a data point and asking an important question: I have no strong opinion on this matter so far, but I want to make sure we take all the important factors into account before we make a decision on this front.)

GNOME Packagekit is still maintained, recieving bugfixes and translation updates, and having releases ([[https://git.gnome.org/browse/gnome-packagekit/log/]]).

… that nobody bothers packaging for Debian: 3.24 was tagged upstream on 2017-03-20, 3.26 was tagged upstream on 2017-09-11, and none of those are in Debian.

Does GNOME PackageKit support Flatpak? (GNOME Software does.) Admittedly we don't care right now, but the next iteration of desktop apps sandboxing will most likely be based on Flatpak, so investing effort now in a technical solution that does not support Flatpak would create technical debt someone has to handle later.

#2 Updated by alant over 1 year ago

You'll find below quotation of emails we exchanged with GNOME PackageKit author Richard Hughes:

For how long will GNOME Packagekit going to be maintained?

It's really in maintainance mode. I don't get any allocated time to
work on it, so although I'll gladly review patches and still do tarballs,
other than that don't expect much. Sorry if this isn't the response you
wanted to hear.

Are there reasons you can't use gnome software? That's 100%
maintained by a small gang these days. Most active projects have appdata
now.

Well in Debian (which Tails is based on) it doesn't display some
packages we'd like our users to be able to install, for instance
hyphenation data for their specific language or most fonts.

That's pretty easy to add; for Fedora it was just a case of merging in
one metainfo.xml file into each package. As soon as you do that the
package becomes available as a component in gnome-software. We support
fonts and localization data already.

I'm also concerned by the "featured application" and "distribution
selection" on the home screen, which may not be relevant in the context
of Tails. I didn't find documentation on how to tweak it.

There are quite a few ways to set it:
https://developer.gnome.org/gnome-software/stable/plugins.html

IMHO, I really think it's going to be less work just polishing up
gnome-software than trying to resurrect gnome-packagekit. There's
certainly a healthy ecosystem around the former.

#4 Updated by sajolida over 1 year ago

  • Subject changed from Ship gnome-packagekit instead of syaptic to Ship GNOME Packages (gnome-packagekit) instead of Synaptic

Alan: What target version do you want for this? 3.6 or 3.9?

#5 Updated by sajolida over 1 year ago

  • Type of work changed from Code to Discuss

Given what intrigeri said regarding the status of GNOME Packages, Alan do you still think we should do that?

I'm personally not so sure anymore...

If GNOME Software is not good enough yet, for some reason, could we have both GNOME Software and Synaptic for some time?

I feel this ticket needs more discussion.

#6 Updated by sajolida over 1 year ago

  • Target version set to Tails_3.9

I bet this won't be ready for 3.6. The next major release is 3.9.

#7 Updated by intrigeri over 1 year ago

  • Target version changed from Tails_3.9 to Tails_3.7

I bet this won't be ready for 3.6. The next major release is 3.9.

FTR all SponsorW_2017 ASP work must have at least a beta quality implementation ready by April 15 so either we drop the "Deliverable for" and parent task or this is 3.7 material.

#8 Updated by alant over 1 year ago

Hi,

sajolida wrote:

Given what intrigeri said regarding the status of GNOME Packages, Alan do you still think we should do that?

I'm personally not so sure anymore...

I think the best would be to have GNOME Software behave as we want, but that means some work, and I don't think we'll get enought time to do it. See https://labs.riseup.net/code/issues/15262#note-2 for my concerns and the maintainer's answer.

If GNOME Software is not good enough yet, for some reason, could we have both GNOME Software and Synaptic for some time?

We could, but it may add confusion.

I feel this ticket needs more discussion.

I think GNOME software is the best long-term solution for sure, but in the current state of things GNOME Packagekit fits better our needs. I really belive that both are better than synaptic for basic usecases so keeping Synaptic because we can't decide looks a shame to me.

#9 Updated by alant over 1 year ago

  • Subject changed from Ship GNOME Packages (gnome-packagekit) instead of Synaptic to Ship user friendly software installer instead of Synaptic

#10 Updated by intrigeri over 1 year ago

I think the best would be to have GNOME Software behave as we want, but that means some work, and I don't think we'll get enought time to do it.

Fair enough… assuming GNOME PackageKit requires less work.

See https://labs.riseup.net/code/issues/15262#note-2 for my concerns and the maintainer's answer.

… which does not really address the concerns I've raised in #15262#note-1 but rather discourages us from shipping GNOME PackageKit.

I think GNOME software is the best long-term solution for sure, but in the current state of things GNOME Packagekit fits better our needs. I really belive that both are better than synaptic for basic usecases so keeping Synaptic because we can't decide looks a shame to me.

Understood. I see where you're talking from. I'm talking from somewhere else so let me elaborate on a few aspects I'd like to see factored into this decision-making process:

  • I agree that replacing Synaptic with GNOME PackageKit would likely improve things for users on the short term. But I want us to consider the long term cost/benefit as well. Switching to another piece of software has a cost for us (integration, test suite, documentation) and a UX cost (for users who have to change their habits and learn again); doing it once with good reasons is OK; doing it twice (because e.g. GNOME PackageKit finally dies upstream, stops working or gets removed from Debian) at least doubles this cost both for users and for us; so it's not obvious to me that switching to GNOME PackageKit now, while we know it is not a sustainable long-term solution, is a net benefit on the long term.
  • Switching to GNOME PackageKit also requires work:
    • IIRC GNOME PackageKit automatically does APT update + upgrade and displays GUI bits about it; presumably we want to disable that.
    • GNOME PackageKit probably also comes with its own set of bugs; we'll need to discover them (considering probably none of us uses that software I would expect quite some bad surprises), assess their importance for Tails, and if needed fix/workaround them (see e.g. https://bugs.debian.org/852651 and https://bugs.debian.org/868122 that may happen in Tails in some corner cases); it's likely that we'll be on our own if anything goes wrong and even if upstream fixes the bug, I don't think we can expect the fix to land in Debian without putting quite some effort ourselves (read: myself) into it.
  • Synaptic gives poor UX and desktop integration but its maintenance cost for us is very low and, more importantly: it's predictible (we've been able to support Synaptic in Tails for many years without major issues). OTOH shipping GNOME PackageKit looks like a ticking time-bomb to me: most likely GNOME PackageKit ll stop working at some point or will get removed from Debian, and then someone will have to either fix it, or maintain a Tails-specific package for it, or handle the migration to GNOME Software. We have no control on the timing of that future breakage and likely the corresponding work will have to be handled by the Foundations Team. The FT works with limited resources so dealing with this will prevent us from working on something else.

I won't argue endlessly and I can live with whatever you folks decide as long as the above is taken into account and there's a realistic plan to ensure that GNOME Software is good enough for our needs whenever we have to migrate to it (I would really hate discovering in 2 years, while porting Tails to Bullseye, that not only we have to migrate to GNOME Software but the issues we have with it haven't been reported upstream or are stalled; if that's the case we may have to switch back to Synaptic, which I'm sure you'll agree would be a shame :)

#11 Updated by sajolida over 1 year ago

  • Related to Bug #12372: Get software-properties-gtk starting / fix /etc/os-release added

#12 Updated by sajolida over 1 year ago

Reading intrigeri's last comment, let's think about what we could do if
we don't add GNOME PackageKit.

Synaptic only

We saw in the tests that the interface is cluttered and painful. But we
also saw that people find their way around it somehow. It's painful but
people made it when we asked them to install Mumble.

But we didn't ask people to find an application that they would like to
add to Tails and install it. I don't know GNOME Software very much but
it might be much better at discovering relevant applications than
Synaptic. Synaptic might not work for that. From my personal experience,
something very complicated for people who are not used to Linux is to
know which application to install in the first place.

We will get more and stronger data about this when doing the next user
testing. I could also add a task about discovering which package to
install given a user goal (eg. "You want to install an application to
edit videos").

GNOME Software only

Let's list the problems we have with GNOME Software or the additional
work we would have to do:

Not all packages are listed. Can we build a list of example and how
they would affect users in reality?

Alan said it doesn't display hyphenation data and most fonts. Is this
for example hyphen-fr?

I tried asking LibreOffice to hyphenate automatically a text for me
but I couldn't find how to do that. Otherwise I don't think I've ever
installed or used such a package.

Regarding fonts, is it about having correct fonts for other alphabets
or having more fancy fonts for alphabets that we already support?
I personally install fancy fonts by dropping them in ~/.fonts :)

Any other missing packages? I'd be happy to investigate this further
once I get GNOME Software working in Tails...

Because right now I still can't start it. See #12372. Which is another
work we have to do if we want GNOME Software in Tails.

Synpatic is not mentioned much in our documentation so switching fully
to GNOME Software wouldn't be much work. We would have to document
whatever application we will have in time for Additional Software, and
at first sight, GNOME Software seems easier to document than Synaptic.

Synaptic + GNOME Software

If we get GNOME Software running in Tails and if we identify serious
lacks in the packages that are missing in it, we could have both
installed for some time until GNOME Software is good enough for all use
cases.

That would require more documentation work for Additional Software
because we would have to document both Synaptic and GNOME Software and
explain people when to use which one.

It might be confusing for people to have two applications to do
basically the same thing.

All-in-all, I think I'm in favor of:

  • Doing a bit more research work to see if switching to GNOME Software
    would work for our users and is easy enough to fit in the budget we
    have for this project.
  • Otherwise stick to Synaptic only while keeping the work on GNOME
    Software in the back burner but outside of this project. I don't know
    if it qualifies as Foundations team (it is somehow about migrating to
    new core upstream technology). Depending on the success of Additional
    Software it might qualify as an important UX improvement for the
    future.

#13 Updated by intrigeri over 1 year ago

I'd be happy to investigate this further once I get GNOME Software working in Tails...
  • Because right now I still can't start it. See #12372.

See my test report and question on #12372 :)

All-in-all, I think I'm in favor of:

  • Doing a bit more research work to see if switching to GNOME Software would work for our users and is easy enough to fit in the budget we have for this project.
  • Otherwise stick to Synaptic only while keeping the work on GNOME Software in the back burner but outside of this project.

Agreed.

I don't know if it qualifies as Foundations team (it is somehow about migrating to new core upstream technology).

It's in a grey area IMO:

  • On the one hand, FT is mostly about doing these kind of migrations when we have no, or little other choice than doing so. In this case it would be part of the FT's mission if Synaptic stopped working or started causing regressions, but this is not the case AFAIK.
  • On the other hand, the FT role includes:
    • "migrate code that would otherwise rely on obsolete technologies": I think it would be far-stretched to pretend that it applies here since we have no code that relies on Synaptic
    • "if time allows, do whatever code task the project sees as top-priority, such as fixing Holes in the Roof, important bugs, or implementing a feature that is needed to keep Tails relevant": we'll be in a better position to make a decision about this with the new FT setup (previously we had no clue of "if time allows")

Depending on the success of Additional Software it might qualify as an important UX improvement for the future.

Sure!

#14 Updated by alant over 1 year ago

intrigeri wrote:

All-in-all, I think I'm in favor of:

  • Doing a bit more research work to see if switching to GNOME Software would work for our users and is easy enough to fit in the budget we have for this project.
  • Otherwise stick to Synaptic only while keeping the work on GNOME Software in the back burner but outside of this project.

Agreed.

I agree too.

Depending on the success of Additional Software it might qualify as an important UX improvement for the future.

Sure!

Same

#15 Updated by sajolida over 1 year ago

  • Blocks Feature #15392: Core work 2018Q2 → 2018Q3: User experience added

#16 Updated by sajolida over 1 year ago

  • Subject changed from Ship user friendly software installer instead of Synaptic to GNOME Software
  • Assignee changed from alant to sajolida
  • Type of work changed from Discuss to Code
  • Affected tool set to Additional Software Packages

#17 Updated by sajolida over 1 year ago

  • Assignee changed from sajolida to alant
  • Feature Branch set to feature/15262-gnome-software

After reading #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.

  • I tried running apt update and I have some DEP-11 files in /var/lib/apt/lists/.
  • I tried removing gnome-software, install it again, and run apt update again and that doesn't change anything.

Alan: Do you want to have a look?

#18 Updated by alant over 1 year ago

  • Assignee changed from alant to sajolida
  • QA Check set to Info Needed

sajolida wrote:

After reading #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.

You mean that you cannot?

Alan: Do you want to have a look?

After I fix the blockers for the beta is too late?

Please note that before #15384 is solved GNOME Software won't interact with additional software.

#19 Updated by sajolida over 1 year ago

After reading #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.

You mean that you cannot?

Sorry, yes: I cannot get GNOME Software populated with packages.

Alan: Do you want to have a look?

After I fix the blockers for the beta is too late?

Sure! In the doc that we drafted with Emma we'll document briefly how to
install a package with Synaptic; even if documentation don't fix a bad UX.

Also, switching to GNOME Software is still optional for the scope of the
grant but I wanted to share my progress with you and also maybe you
would find easily what's the problem here.

Please note that before #15384 is solved GNOME Software won't interact with additional software.

Ok!

#20 Updated by sajolida over 1 year ago

  • Assignee changed from sajolida to alant
  • QA Check deleted (Info Needed)

The next step is to investigate why GNOME Software doesn't get populated with the list of package in my branch.

Maybe Alan can do this as part of #14568.

#21 Updated by bertagaz over 1 year ago

  • Target version changed from Tails_3.7 to Tails_3.8

#22 Updated by intrigeri over 1 year ago

Note the memory usage impact of installing GNOME Software: https://siliconislandblog.wordpress.com/2018/05/16/gnome-performance-hackfest/ and https://wiki.gnome.org/Hackfests/Performance2018/Agenda. A workaround is documented there but I don't know what the drawbacks are.

#23 Updated by sajolida over 1 year ago

  • Related to Feature #14544: Spend software developer time on smallish UX improvements added

#24 Updated by sajolida over 1 year ago

  • Parent task deleted (#14568)

#25 Updated by intrigeri about 1 year ago

  • Target version changed from Tails_3.8 to Tails_3.9

#26 Updated by sajolida about 1 year ago

  • Blocks deleted (Feature #15392: Core work 2018Q2 → 2018Q3: User experience)

#27 Updated by intrigeri about 1 year ago

Are you still trying to complete this in time for 3.9? If not, please fix the target version.

#28 Updated by alant about 1 year ago

  • Target version changed from Tails_3.9 to Tails_3.10.1

#29 Updated by u about 1 year ago

  • Related to Feature #15785: Consider showing synaptic quick introduction added

#30 Updated by u about 1 year ago

  • Related to deleted (Feature #15785: Consider showing synaptic quick introduction)

#31 Updated by u about 1 year ago

  • Related to deleted (Bug #12372: Get software-properties-gtk starting / fix /etc/os-release)

#32 Updated by intrigeri about 1 year ago

  • Related to Feature #15785: Consider showing synaptic quick introduction added

#33 Updated by intrigeri about 1 year ago

I've readded the relationship with #15785 so that anyone tempted to work on that one is made aware that their efforts might be quickly useless.

#34 Updated by letthemeatpie about 1 year ago

I think this is a big mistake, don't fix what's not broken!

PK reminds me of a horrible .RPM package manager GUI I used in various .RPM distros. It was a nightmare to work with dependencies, adding/removing software while Synaptic is easy.

If PK is to replace Synaptic, that's just one more work around for those of us who rely on Synaptic. Hopefully PK would be easily and cleanly removed and replaced with Synaptic should the user(s) desire it.

#35 Updated by intrigeri 11 months ago

  • Target version changed from Tails_3.10.1 to Tails_3.11

#36 Updated by alant 9 months ago

We should decide on the priority of this task. It looks like it would take a few developpment days.

#37 Updated by CyrilBrulebois 9 months ago

  • Target version changed from Tails_3.11 to Tails_3.12

#38 Updated by alant 9 months ago

  • Status changed from Confirmed to In Progress
  • QA Check set to Ready for QA

As #15384 is solved, it's now easy to have gnome-software working inside tails:

apt install --install-recommends gnome-software
systemctl restart polkit.service
apt update

Then start Software and it works!

I updated the branch but didn't test if it's enough to have appstream data.

Now we should decide if we want this, and if yes if we need customization (https://developer.gnome.org/gnome-software/stable/plugins.html).

#39 Updated by anonym 8 months ago

  • Target version changed from Tails_3.12 to Tails_3.13

#40 Updated by intrigeri 6 months ago

  • Target version changed from Tails_3.13 to Tails_3.14

#41 Updated by intrigeri 6 months ago

FTR the apt install --install-recommends gnome-software suggested above pulls in unattended-upgrades, not sure if that's OK. But the branch does not install recommends.

#42 Updated by intrigeri 6 months ago

  • Related to Bug #16615: Decide what to do wrt. Synaptic added

#43 Updated by CyrilBrulebois 4 months ago

  • Target version changed from Tails_3.14 to Tails_3.15

#44 Updated by intrigeri 4 months ago

  • Target version deleted (Tails_3.15)

(No status update since 5 months ⇒ dropping probably unrealistic target version.)

#45 Updated by intrigeri 4 months ago

  • Status changed from In Progress to Needs Validation

#46 Updated by intrigeri 19 days ago

  • Status changed from Needs Validation to Confirmed

Also available in: Atom PDF