Watchlog
wlog/1.0 application/wlog+json
Een neutraal, duurzaam formaat om je series en films mee te nemen waar je maar wilt.
Je kijkbeurten, je beoordelingen, je recensies: het zijn jouw gegevens. Watchlog is een eenvoudig, leesbaar, gedocumenteerd bestand waarmee je ze uit de ene dienst haalt en in een andere opnieuw afspeelt, zonder onderweg iets te verliezen. We hebben het bewust open ontworpen: elke trackingapp kan het schrijven en lezen.
Wat het slim maakt
Ids die iedereen begrijpt
Elk werk draagt zijn externe ids (TMDB, IMDb, TheTVDB, plus MyAnimeList / AniList / Kitsu voor anime), nooit een intern nummer. Zo kan elke dienst de juiste serie of film terugvinden.
Een echt logboek, ook een vaag
Kijkbeurten zijn een gedateerde lijst. Een herkijkbeurt is gewoon één kijkbeurt meer; "ik heb het gezien maar weet niet meer wanneer" is een lege datum. Niets wordt verzonnen, niets gaat verloren.
Beoordelingen die hun schaal behouden
Een beoordeling draagt zijn waarde ÉN zijn schaal: een 4 op 5 en een 8 op 10 bestaan naast elkaar zonder vertekening. Elke lezer normaliseert op zijn eigen manier.
Uitbreidbaar zonder te breken
Dienstspecifieke rijkdom (emoties, beoordelingen per aflevering…) leeft in een `extensions`-ruimte onder de naam van die dienst. Een andere lezer negeert die beleefd: de kern blijft universeel.
Eenvoudig, netjes gedateerd
Gewone JSON, geversioneerd bovenaan het bestand, met datums in ISO 8601 (UTC). Geen exotische tools, het opent in elke editor.
Hoe het eruitziet
Een header-object (versie, generator, profiel), een lijst met werken, een lijst met lijsten. Hier is één item teruggebracht tot de essentie:
{
"format": "wlog/1.0",
"generator": { "name": "Seenr", "url": "https://seenr.app" },
"profile": { "handle": "kevin", "locale": "fr" },
"items": [
{
"type": "show",
"ids": { "tmdb": 1429, "imdb": "tt1355642", "mal": 5114, "anilist": 5114 },
"title": "Fullmetal Alchemist: Brotherhood",
"year": 2009,
"status": "completed",
"favorite": true,
"tags": ["anime", "shonen"],
"rating": { "value": 10, "scale": 10, "rated_at": "2021-02-01T20:00:00Z" },
"watches": [
{ "season": 1, "episode": 1, "watched_at": "2021-01-05T21:00:00Z" }
],
"season_ratings": [ { "season": 1, "value": 9, "scale": 10 } ],
"episode_ratings": [ { "season": 1, "episode": 5, "value": 10, "scale": 10 } ],
"extensions": { "seenr": { "emotions": ["😭"] } }
}
],
"lists": []
}
De spec
- Versie
- wlog/1.0
- Mediatype
- application/wlog+json
Voor diensten die het willen overnemen
Watchlog is vrij te gebruiken. Alles wat je nodig hebt om het te implementeren staat hier:
- Het JSON-schema, om een bestand automatisch te valideren.
- Een volledig voorbeeld, geannoteerd door het schema.
- Seenr is een referentie-implementatie: het exporteert ÉN importeert Watchlog.
Probeer het meteen
Seenr spreekt vloeiend Watchlog. Pak je bibliotheek als bestand, of speel er hier een opnieuw af.
Watchlog is een open formaat, gepubliceerd om hergebruikt te worden. Het mediatype is nog niet geregistreerd bij IANA; de versie is bepalend.