Skip to content
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

MetaInfo guidelines: document device categories #415

Closed
plata opened this issue Jan 5, 2025 · 5 comments
Closed

MetaInfo guidelines: document device categories #415

plata opened this issue Jan 5, 2025 · 5 comments
Labels
enhancement New feature or request

Comments

@plata
Copy link

plata commented Jan 5, 2025

To allow filtering apps by supported device (e.g. phone), it shall be documented what is considered e.g. a phone.

The required MetaInfo fields exist already (e.g. display_length and control). The main issues here are that many (most) apps do not fill this and that it's not understandable for the average user.

For example, definitions could be:

  • phone: control touch and minimal display_length 500px
  • gaming handheld: control touch or control gamepad and minimal display_length 700px

With such definition,

  • the developers can understand what should be tested.
  • the users can understand if an app supports their device.

Device categories could be:

  • phone
  • tablet
  • smartwatch
  • gaming handheld
  • TV
  • ...

see also:

@bbhtt bbhtt added the enhancement New feature or request label Jan 6, 2025
@bbhtt
Copy link
Contributor

bbhtt commented Jan 17, 2025

For now we are interested in only desktop and mobile (tablet as well) uses-cases. These 3 are also the most widely used, documented, has historical metadata and app ecosystems around them.

@bbhtt bbhtt closed this as completed in 910b8d6 Jan 17, 2025
@plata
Copy link
Author

plata commented Jan 17, 2025

I'm not quite sure about the semantics when using recommends with keyboard, pointing, and touch.

The documentation states:

If a control type is recommended (= in a recommends block), it means the software prefers the given method of user input. The software may still be installed if the input control method is not available, but functionality may be severely degraded.

Does this mean that the "functionality may be severely degraded" if no keyboard/mouse is plugged in the phone?

Maybe it would be better (or required?) to use supports.

@bbhtt
Copy link
Contributor

bbhtt commented Jan 17, 2025

The spec is complicated and confusing and doesn't match the implementations.

In simple terms having pointing and keyboard means it will be shown as supported on desktop (which is also the default if nothing is present) and adding touch will make it show up as supported on mobile and tablet.

This is how appstream itself interprets the tags in various cli commands and so does other frontends like gnome software.

No one I have seen, shows subcategories of touch support like touch with keyboard, without keyboard, touch with physical pointing and without etc. and at this point there aren't any plans to do that here either.

It becomes too complicated quickly and ultimately it may end up becoming a barrier.

@plata
Copy link
Author

plata commented Jan 17, 2025

So there's actually no difference in how recommends/supports is shown?

I'm asking mainly because my apps (and I think KDE in general) uses supports currently.

@bbhtt
Copy link
Contributor

bbhtt commented Jan 17, 2025

For control, website will support both supports and recommends tags, if either has touch it will be considered.

For display_length, only requires will be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants