New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add <internet/> element to <requires>/<recommends> #343
Comments
|
The speed case is interesting, I hadn't thought about that. The cases I was interested in are:
(I mention Teleport as an example because it has the |
|
This can’t be represented in my proposal above. Perhaps we need an additional high-level element to go alongside I think currently appstream uses the semantics that if That’s why I suggest a new high-level element like
In my proposal above, this would be represented as
This would be |
I'm still quite a bit against "negative descriptions" in AppStream metadata. The data should describe what the application can do, not what it can't. Same for the ongoing discussion of maybe adding a
That is true, which means without a negative-X tag, software centers would either need to wait for app authors to adjust their metadata, or not wait for that to happen and put pressure on the app authors to fix their data. I think both would be fair.
Jup, that makes sense to me too. If we would have a
Also makes sense to me :-) |
I don’t think either would work. I don’t have evidence to back this, but from my experience with gnome-software it seems like there’s a long tail of apps who don’t update their metadata at all, and a small number of apps who are proactive adopters of new metainfo stuff. So waiting won’t work. Putting pressure on app authors to fix their data also won’t work particularly well for most app authors — there’s not enough of a direct feedback channel from us to them. We could should incorrect data in the UI (in this case, that would mean saying an app doesn’t require internet access even though it potentially does) alongside a “Something wrong with this data?” link. But I think the number of people who will try to update the data will be vastly outnumbered by the people who will get silently confused by it. I can’t think of another way to handle the transitional period without making it explicit which metainfo files have been updated with the correct
I agree, but in this case I can’t see any other way. Note that I’m not suggesting adding negations in general, just this specific one. I think For example, I can’t see a |
|
I think it's actually okay for GNOME Software to simply say it doesn't know about certain data, rather than guessing. Instead of adding any "not" directives, we could also version metainfo files and ambed the AppStream spec version in them, but I can't see people ever updating that properly...
So, I think what you actually want is something like this, assuming we will add a
The "offline" tag could even be integrated with the "internet" tag somehow, for example |
That could work, and would avoid the confusing possibility of an author adding So that would give us: Requires internet connectivity to work. Does not use the internet at all. Recommends having an internet connection, but it’s not mandatory. Not sure what this means. Maybe: normally doesn’t use an internet connection but if it’s available the app will be slightly better? i.e. A weaker version of This still feels a bit odd to me. In particular How about setting the value of the We could add a |
When revisiting this issue I also immediately stumbled over that and my initial thought was "this combination sounds like a logic error". So I think this definitely should be
This style is actually used for I actually think your suggestion, including the value names and explanation, would make the most sense here! By the way, since we have so many of these requirements for software centers to implement now, I am planning to add API for that to libappstream which will try to test for as many of these as the library can (so, no screen size stuff as libappstream must not depend on a GUI) and delegate the rest to a delegate function that the software center can implement. Otherwise we will soon duplicate a crazy amount of code between KDE Discover, GNOME Software and Elementary AppCenter, and software centers may even interpret these tags differently. |
|
Inspired both by the GNOME Annual General Meeting at GUADEC and my work with GNOME and Flatpak apps in an offline deployment, I came to file this exact issue. So for us at the Endless OS Foundation, being able to query Flathub apps or at least give our deployment partner a badge/kudos to look for would lead to fewer issues with getting apps that require connectivity. Identifying and promoting these apps would also seem to be in line with GNOME's goals of local-first computing, so there may be wider interest than just from the Endless OS side. But to do that, we need the right metadata. |
|
Another angle to approach this would be from the GNOME |
Kudos are deprecated in gnome-software and we’re moving away from them and just using standard appstream instead :) |
|
@pwithnall TIL! In that case, it's more rationale to include something like "offline capable" and/or "Internet required" to AppStream, imho. |
|
That has always been more reasonable ;-) A proper generally applicable solution is so much better than using a custom, project-specific hack. |
This allows apps to specify whether they require the internet to work, or whether they explicitly work fully without internet. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: ximion#343
…kind Includes tests for the XML and YAML implementations. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: ximion#343
The concrete application I had in mind was games. Some of them (busy online multiplayer games) are unusable without a certain amount of bandwidth and latency. I’ve added wording and support for a Ready for review: #421 |
This allows apps to specify whether they require the internet to work, or whether they explicitly work fully without internet. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Signed-off-by: Matthias Klumpp <matthias@tenstral.net> Fixes: #343
This allows apps to specify whether they require the internet to work, or whether they explicitly work fully without internet. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Signed-off-by: Matthias Klumpp <matthias@tenstral.net> Fixes: #343
This allows apps to specify whether they require the internet to work, or whether they explicitly work fully without internet. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Signed-off-by: Matthias Klumpp <matthias@tenstral.net> Fixes: #343
This allows apps to specify whether they require the internet to work, or whether they explicitly work fully without internet. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Signed-off-by: Matthias Klumpp <matthias@tenstral.net> Fixes: #343
It would be interesting to expose metadata about whether an application requires or recommends internet access to work, or whether it can work fully offline. For users who have limited or sporadic internet access this would allow them to choose applications which work well in those situations. Such users could, for example, be on a mobile data plan for their internet (which runs out), be travelling with patchy signal, or be on a satellite internet connection which has high enough latency to make it annoying to use.
This is something we’d be interested in presenting in the hardware context tile in gnome-software, which currently summarises the existing
<requires>/<recommends>elements.Suggested XML would be an
<internet>element whose value is the minimum internet speed the app requires, in megabits/second. A value of0would mean that the internet is required, but a specific speed isn’t needed. Anoffline="yes|no"element would indicate whether the app can work when offline (by pre-caching content).Using
<internet>inside<requires>would indicate that the app is useless without some internet access at some point. Using<internet>inside<recommends>would indicate that the app can largely work without the internet, but its experience would be enhanced by internet access.Examples:
How does that sound?
/cc @wjt because you had some ideas about this
The text was updated successfully, but these errors were encountered: