nekokai

Removal of Kitsu in Nekokai

Published on 13/05/2023 by Aura

What is Kitsu?

For years, Skyra supported AniList and Kitsu as sources of information for the anime and manga commands, and this was kept in Nekokai as subcommands, resulting in the following commands being registered:

  • /anime anilist
  • /anime kitsu
  • /manga anilist
  • /manga kitsu

However, Kitsu always saw very little usage due to it being less known than AniList according to Google Trends since 2004 to the time of writing:

  • MyAnimeList: 76 (average: 40)
    • Related queries: anime, myanimelist manga, manga, my, myanimelist top.
  • AniList: 13 (average: 2)
    • Related queries: anime, anilist anime, mal, myanimelist, anilist manga.
  • Kitsu: 1 (average: 1)
    • Related queries: kitsu saga, anime, kitsu tunbridge wells, kitsu yuka, kitsu koi.

This data shows that Google will often not show users Kitsu when searching for "anime" or "manga", limiting the people who know the platform even further by showing MAL or AniList first. This has translated well to Discord, with the Kitsu variant being used only for curiosity.

Support and usage

Skyra had Kitsu support as a message flag (--kitsu) which made it less visible, but when it was transferred to Nekokai using subcommands, Kitsu gained a lot more visibility at the same time as it forced a choice for users, one that they may not be very sure of if they were not familiar with either.

Flattening the commands and offering a single source instead makes the experience better for end-users and the development of Nekokai.

The support was removed with nekokai#138.

Kitsu's issues

Two sources of information

To power the autocomplete search in Nekokai, we use a third-party service, Algolia, which is an excellent and fast search engine service, however, the data it's configured to return is severely limited and incompatible with what Kitsu returns (the same properties return different types of values), this becomes an issue as we need to transform the data to make it easier to use, and one of the bits of data, the age rating guide, is missing.

Age rating and localization

The age rating guide is always All Ages or Teen 13 and older when the age rating is G or PG respectively. However, things start getting messy once we dive into the other two age ratings: R and R18.

To localize the guide, we need a machine-readable format, and at first, we thought we found it: separated by commas, Attack on Titan follows this (Violence, Profanity), but it wasn't long until we found exceptions.

In some guides, remarks bump the required age, for example in Kimetsu no Yaiba, the guide is 17+ (violence & profanity). This information is completely different (includes age and a list joined by & instead of being comma separated). Were the format to be consistent it would have been 17+, Violence, Profanity, however, that would probably not make much sense, 17+ is an age rating, not a guide. An ideal solution would have been to make the age rating R17 and then the guide Violence, Profanity, but that's not the case here.

To make matters worse, a popular anime that's marked R+ in MyAnimeList and Adult in AniList is marked as R in Kitsu with the guide of Mild Nudity. One could argue that it should be under R18, especially given the fact that its poster image is NSFW.

Finally, Kitsu does not set any age rating in the manga, which makes it impossible to determine whether the contents or the cover are inadequate.

© 2023 Skyra Project — GitHub