[AppStream] Adding Age Classification to AppData files

Richard Hughes hughsient at gmail.com
Wed Mar 9 11:52:11 UTC 2016


On Wed, 2016-03-09 at 11:27 +0100, Matthias Klumpp wrote:
> Thanks for working on this and going through all the pain (by reading
> your G+ posts ^^).

I posted on Reddit (for my sins) which was a whole lot of "fun" too.
This a technical, legal and moral minefield! Most sane people seemed to
think it was a good thing as long as it was for information, rather
than access control, which I also agree with.

> Jup, you're taking the word out of my mouth ;-) I would rather prefer
> some different name, also "classification" is way too generic.
> Maybe "age_classification" and "judgement" would work as pairs,
> because the described properties are pretty much a biased judgement
> of people, and the actual "age rating" would be done by the Software

So I avoided anything to do with age consciously, on the logic that the
age rating is the client-side product of taking all the categories and
the content rating system along with the country, so it's a destination
thing rather than a source thing.

I spent about 2 hours yesterday trying to come up with a better version
of "content rating" to describe the classification section. I came to
the conclusion that we should probably just use:

<content_rating type="oars-1.0">

This seemed most obvious and matches what you'd find on Wikipedia or
googling the words. I'm less set on the bit inside the tag. In my
prototype I've done:

<content_type id="drugs-alcohol">moderate</content_type>

But this could equally be;

<content_classification id="drugs-
alcohol">moderate</content_classification>
<content_section id="drugs-
alcohol">moderate</content_section>
<content_question id="drugs-
alcohol">moderate</content_question>
<classification_id id="drugs-
alcohol">moderate</classification_id>
<value key="drugs-
alcohol">moderate</value>

The last one does actually have some merit, as it's really just a key-value store like the <metadata> section is.

> government body judging by the countrie's specific rules.
> That's actually a bit what worries me, because making this work in
> every country will be *hard*. But it's worth a try!

I think the only way we can do this is have different content ratings
systems supported in the AppData file. I can got into more details
about this later, but it might be we have multiple content ratings
sections for apps if we can't "derive" the official rating from the
OARS data. The issue is mainly how the different rating authorities
define key words and phrases, so I don't know if it's possible to ask
every permutation of question as part of OARS without driving the
developer crazy.

> <classification type="oars-1.0">
> > 
> >     <rating id="violence-cartoon">moderate</rating>
> Doesn't look bad - the group-dash-tag namig scheme makes sense, but I
> think to finally decide how that should look like, we will need a
> list
> of the possible rating/judgement/... tags.
> Having a separate group attribute could become useful when there are
> a
> lot of those tags, so SCs can group the detailed age information by
> type (e.g. user clicks on "Violence" drawer, "moderate cartoon
> violence" unfolds as detail).
> Let's see :-)

So I think the key=value 1:1 mapping makes a lot of things easier, as
I've found the value is not especially correlated with the age range.

> Yes, this is one of the cases where having additional metadata IMHO
> makes a lot of sense because this is important information the user,
> or better, the user's parents, want to know before installing the
> app.

Yes, I think it would be especially useful for me as a parent to a 3
year old :)

> For the same reason, I am also not against adding some limited
> bibliography the scientific applications, because that's super-useful
> for researchers to know before installing the app (still WIP,
> currently in "getting feedback" phase).

Makes sense.

Richard.



More information about the AppStream mailing list