Skip to content

Trends: Preserving different spellings of hashtags #50

Open
@oneiros

Description

@oneiros

The trends capability specification currently encourages normalization of hashtag names, so the numbers of popular hashtags like #catsofmastodon and #CatsOfMastodon are aggregated when calculating trends. In many cases this should lead to more realistic results.

The question then is, what is the name of the hashtag that is returned when a fediverse server queries trending hashtags? The current draft says:

That is why when sharing trending hashtags and links with fediverse servers, FASP do not need to take special care how to represent them and can freely choose the representation (e.g. the first one they encountered or a normalized version). Fediverse servers SHOULD handle them just like they handle these representations in other contexts.

This is sufficient for servers like Mastodon, that have their own elaborate normalization and display logic. (In Mastodon the normalized name and the display name are actually stored independently and the latter can be edited by moderators.)

But of course not everyone must implement hashtags like Mastodon does. So I had this idea for a possible enhancement:

When normalizing hashtag names, FASP might keep track of different spellings. And when a fediverse server queries trends, it could return what it considers to be the canonical name plus an array of the alternative spellings it aggregated into a single entity.

Something like:

{
  "name": "#catsofmastodon",
  "alternativeNames": ["#CatsOfMastodon", "#catsOfMastodon"]
}

This would offer the fediverse server more insight and enable more ways to hook into whatever their idea of hashtag normalization is.

If you develop a fediverse server software and think this would be useful for you, please let me know.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions