Odkaz je přehrávač
Vložení videa obvykle vypadá takhle. Otevřeš platformu, klikneš na Sdílet, klikneš na Vložit, zkopíruješ chuchvalec HTML, který ti podá, a vložíš ho do příspěvku. Co jsi právě založil do vlastního archivu, je cizí značkování: iframe, někdy skript, pár sledovacích parametrů a jméno třídy z designového systému, který nepoužíváš. A když platforma změní cestu k vložení – a to dělají – rozbije se každý příspěvek, který jsi kdy takhle napsal, v jedno odpoledne.
Tady vložíš adresu, kterou bys poslal kamarádovi.
Dva z nich, a opravdu hrají
Video s popiskem:
Zvuk, totéž gesto:
Dva řádky markdownu. Žádný dialog vložení, žádný účet, žádný zkopírovaný kód.
Co příspěvek skutečně ukládá
Ne jejich HTML. Poskytovatele, identifikující část adresy a – protože PeerTube je federovaný a nemá jediný domov – ze které instance to přišlo:
"type": "video",
"provider": "peertube",
"url": "https://framatube.org/w/kkGMgK9ZtnKfYAgnEtQxbv",
"embed_id": "kkGMgK9ZtnKfYAgnEtQxbv",
"embed_origin": "https://framatube.org"
Sestavení z toho přehrávač složí. Plynou z toho dvě věci. Do tvého archivu nikdy nevstoupí cizí značkování, takže nic nepřijde se svým vlastním sledováním. A když platforma přesune cestu k vložení, oprava je jedna úprava v enginu, ne nový import patnácti let příspěvků.
Vlastní politika stránky se řídí týmž pravidlem. Kromě dvou zdrojů YouTube, které jsou povolené všude, protože importovaný embed může mířit na kterýkoli z nich, stránka povolí jen to, co její vlastní příspěvky přehrávají. Tahle jmenuje framatube.org a w.soundcloud.com – a stejně tak kterákoli stránka výpisu, na které se zrovna ukáže, protože výpis je složený z příspěvků na něm. Stránka bez přehrávače nejmenuje ani jeden. Blog bez Spotify se o Spotify nikdy nezmíní.
Na rovinu o hranici: přehrávač je pořád iframe servírovaný platformou a ve chvíli, kdy čtenář stiskne přehrát, platforma to ví. Mění se to, že tvůj archiv nenese jejich kód a zbytek tvého webu po nich vůbec nesahá. (Přehrávače YouTube se staví na youtube-nocookie.com, které cookies zadrží alespoň do přehrávání.)
Video, zvuk a dva, kterých se musíš zeptat
Video: YouTube, Vimeo, PeerTube, archive.org. Zvuk: Spotify, SoundCloud, Mixcloud. Každý z nich je převod řetězce, takže psaní příspěvku zůstává operací bez sítě.
Funkwhale a Bandcamp být nemohly. Zjevná cesta k vložení u Funkwhale postaví přehrávač, který vypadá zcela správně a zůstane navždy černým obdélníkem; adresa Bandcampu neobsahuje žádné id, jen slug. Obou se engine zeptá jednou, při uložení příspěvku – jediná chvíle, kdy psaní potřebuje síť – a odpověď se uloží jako adresa, takže úprava se už neptá a sestavení zůstává bez sítě. Když dotaz selže, dostaneš větu a uložený příspěvek s odkazem v něm. Nikdy odmítnuté uložení: psaní ve vlaku musí skončit napsaným příspěvkem.
Pravidla přišla od služeb, ne z jejich dokumentace
Každý vzor tady nese opravu, kterou by nám žádná stránka dokumentace nedala. Odkaz na nezalistované video na Vimeu potřebuje svůj hash, jinak přehrávač odpoví 403. Adresa Spotify zkopírovaná z prohlížeče nese segment intl-xx, který cesta k vložení odmítá. SoundCloud nemá žádné id k vytažení, takže do widgetu jde celá adresa – což je také způsob, jak se k němu dostane tajný token soukromé skladby. Widget Mixcloudu přesměrovává na druhé jméno hostitele a politika stránky musí povolit i to.
PeerTube je ten nepohodlný, a poučný. Jako federovaný nemá doménu, proti které by se dalo porovnávat: tvar cesty je celý signál – plné UUID, nebo 22znakové krátké id, které z něj PeerTube odvozuje. Což znamená, že 22znakový slug ležící na stránce /w/ nějakého jiného webu by se také vzal za video. To je zbytková cena platformy bez domovské adresy a selhává tam, kde to vidíš – prázdný přehrávač, jednu úpravu od toho být zase odkazem – ne potichu.
A když adresa neříká nic, co engine rozpozná, nic se nehádá. Příspěvek si odkaz nechá a stránka řekne, že video není dostupné, zdvořile, místo aby kreslila prázdný rám a doufala.

Komentáře