Improving metered network detection and usage

The difficult situation with metered networks on the Desktop is, that nearly nobody has a SIM card in there. So a “metered network” is not as easy as on Android, where its simply the cell data.

So to even have a reliable foundation for apps to use this value, it can’t be hidden inside systemsettings. My idea is that, as you can’t rely on a different antenna or SSID (as your phone hotspot “wifi” may be metered), users need to state for every newly added network if it is metered or not.

Here is a concept I thought of

Default value would be empty and users had to pick one, otherwise an error icon appears. This would enforce that every network has the correct value, and if it is wrong its the users fault :laughing:

I can imagine this may be a bit annoying for desktop users, so disabling this setting and switch back to “always unmetered” as before may be good. But at the same time, you don’t log in to many Wifis with a Desktop…

On this foundation then we could build update tools that actually work.

Automatic updates

The current situation is like that: automatic updates are hard to implement (apt-automatic lol) and mostly not there. Some Distros like ublue enable them by default, but this may eat away your cell data and disabling them is not easy, so also not a good idea.

The last discussion about this went a bit mad, as people confused automatic updates with “walled gardens”. Good package managers should not have those conflicts, and on modern immutable systems these don’t occur at all.

But even if, such an error could simply be put into a kdialog, and users could see where the issue are.

Updates in Discover

I dont think this makes sense. Honestly, power users may do stuff like holding back updates due to regressions. But normally I would just want my software to be up-to-date.

I use Fedora Kinoite, so immutable minimal base, “never breaking”, and the Apps are Flatpak, also never having dependency conflicts.

Discover for me is for finding software. Nice Appstream metadata (Screenshots, icons, description) and the rating system, really cool.

But after choosing the software, I like to not open Discover anymore. They should just update on their own.

Is this an unpopular opinion?

Other benefits

Apps can detect metered networks and reduce their data usage. Examples on Android:

  • Grayjay / Newpipe reduce Video resolution or turn it off entirely
  • Antennapod doesn’t download podcasts until confirmation
  • Lemmy, Mastodon etc. can reduce image preloading
  • Browsers might send “data saver” flags (which is fingerprintable and nearly nowhere used)
  • Updates might be paused (GrapheneOS, F-Droid)

So this is really useful. I think it could be really good in other apps too, do you have any examples where you would wish that?

  • Thunderbird going into offline mode when setting it
  • Kasts not autodownloading podcasts
  • Tokodon may reduce image downloads
  • Discover may reduce shown thumbnails, updates etc.
  • Automatic systemd update services may pause

what is your opinion about this? In the end it would be opt-out, but set the foundation for real “install and forget” PCs, like a Chromebook that is used by non-Admins only, often turned off, never updated manually.

Metered connections still exist in countries without world-class internet, but you already mentioned stuff like “phone hotspots”. You can still have wired internet but don’t want to destroy your data cap for example :slight_smile:

Doing this in the Wi-Fi applet is a little extreme, but prompting the user when connecting is probably a good idea.

Are you sure? While I don’t think they might be truly automatic, Discover can do unattended updates and this is only supposed to happen on unmetered connections.

The automatic update option might be for you then :slight_smile:

Cool, didnt know Discover could do that!

As much as I hate having updates in a big GUI store (I dont need an interface, I installed the software and I always click “yes”), this is the way KDE Distros will do it.

So then the “implement automatic updates listening to metered=no” would be checked, only missing is the enforcement to set such a value all the time.

I dont think it would be extreme, Desktop users dont need to setup new connections and everything is unmetered, laptop users should always state if unmetered.

Could also be possible to just have an opt-in to “metered” and blame the users haha.

Current automatic updates dont work because of this issue. I would install them anyways, as not updating is even worse, I think.

How about a simple check box on the network connection? My data cap is 500GB, but it is still there.

Since I am on Tumbleweed, we must update with “sudo zypper dup”, I simply uninstalled plasma5-pk-updates and discover never checks for updates. Everything else still works.

Yes, having a big app like discover with unnecessary packagekit abstraction check for updates is annoying. But manual updates are VERY nieche. No other OS nowadays needs manual updates, people dont care really.

You mean you do not care about them. The people solving the bugs certainly do. The command line output is usually vital in solving the problem of the machine just stops during boot with nothing else given because the fancy boot screen obscures the error listed or the stopping point just after it. It is a vital tool for this and packaging errors that pop up during the graphical install of programs that are totally missed by being lost in the graphical update process.

1 Like

If I were running Slowroll, I would be in the exact same predicament.

I tested Siduction (Debian Sid based) and you have to close the desktop evironment, then drop to a tty and update from the command line every time. That’s serious.

For the newbie, that doesn’t know any better, the alert pops up, and they just click OK, not knowing the risks.

2 Likes

And they get no experience with doing it either so they are clueless when the problems arise and it is needed.

1 Like

Exactly. All they know is that the distro failed and it just sucks. They hop to the next one knowing no more than they knew before they downloaded the .iso

1 Like

Indeed that is the whole problem with that method of doing it. But then again it is to be expected with most have learned a computer being spoon fed that Windows trash method of doing things.

1 Like

I see your problems.

But I am not using Debian Sid or Arch. On Fedora, and also on Opensuse Slowroll or even Tumbleweed, you have BTRFS snapshots. If a boot fails, it rolls back.

I dont think there would be no problems. But the current method has to be turned around. People should get messages only if an error occurs, and only intervene in such a case, not always.

On many modern OSses you seperate the core OS from the Apps using Flatpak. This will guarantee even less problems when updating.

And I have to say, on Fedora I never had a single package conflict. On Kinoite now, this is nearly impossible.

This is all off topic though. The post is about

  • auto updates are wanted by many people
  • they cant work, because we have no usage of the “metered connection” flag AT ALL. So also not in automatic updates
  • that flag is critical to avoid eating up cell data plans when using a “wifi” or “ethernet” which actually is your phone
  • we need GUI integration at least in KDE and GNOME to allow the adoption of usage of this tag.

Oh, new point here: when connecting over USB-Tethering there is no password prompt so also no way to implement such a check!