Clarification about the new internet tag
They more I think about the new tag, the more some cases become a problem. Here are a few things:
The documentation says, that always in a recommends tag means, that the App can run without Internet, but with a degraded experience. But what does that mean? Let's take a look at 2 examples:
- A Browser. It can be used to open local Files like saved Websites, PDF or other stuff. So it can be used offline for that case. But most people will use it the open Websites, which is the reason why Browsers exists and needs Internet. So is this just a degraded experience or need
alwaysbe put inrequires? - A App that allows to open files on the Internet and allow things like installing Plugins from the Internet. Is this already a degraded experience?
The documentation has this example:
<!-- the software explicitly supports running offline (but may also be able to use online features) -->
<supports>
<internet>offline-only</internet>
</supports>
So it can be run offline, but has some online features. But the documentation also contains this example:
<!-- can work without the internet, but with a degraded experience -->
<recommends>
<internet>always</internet>
</recommends>
Both say technically that the App can run without Internet, but a few features are missing. So what's the exactly difference?
While talking about offline-only: According to the documentation, it means in a supports tag, as learned above, that you can the App without Internet, but some Features are not working. When you put it in a requires tag, it means that the App has no only Features at all. But what does it mean when you put it in a recommends tag?
Last but not least: What does it mean, when you put always or first-run in a supports tag?
Sorry that I came with this after release I just thought about this now.
Pika Backup can do online and offline backups. Would that mean I should specify the following?
<supports>
<internet>offline-only</internet>
<internet>always</internet>
</supports>
Are multiple mentions of the tag even supported?
There's another use case that isn't covered with the current tag options, too:
Tools like KDE Connect and GSConnect require a local network connection to function (they communicate with Android devices and other Linux systems running the software, but only on the local subnet). Connectivity to the internet, OTOH, is entirely optional.
There doesn't seem to be any way to express the local-net part of the equation, using the tags currently supported as children of requires/recommends/supports.