Wanneer engineers een wijziging willen aanbrengen in de Blink-renderingengine , plaatsen ze een bericht op de blink-dev-mailinglijst om goedkeuring te krijgen. Deze berichten op de mailinglijst worden Blink Intents genoemd.
Op Chromium gebaseerde webbrowsers gebruiken de Blink-renderingengine om code en bronnen om te zetten in webpagina's die je kunt bekijken en waarmee je kunt interageren.

Ontdek hoe Blink Intents werken, waarom ze belangrijk zijn en hoe nieuwe functies in Blink worden geïntegreerd.
Chroom en knipperen
Chromium is het open-source browserproject waarop Chrome en enkele andere browsers en frameworks zijn gebouwd. Blink is de rendering engine die door Chromium wordt gebruikt.
Om een nieuwe functie in Blink te implementeren, moet deze het open ontwikkelingsproces van het Chromium-project doorlopen. Een "nieuwe functie" is elke wijziging of toevoeging aan de browsercode of -architectuur. Dat kan een nieuwe JavaScript API zijn, een aanzienlijke prestatieverbetering in de Blink-code, of een andere wijziging in het uiterlijk of de werking van de browser.
Een open en samenwerkingsgericht proces
Chromium is een enorm, complex project met duizenden bijdragers. Elke mijlpaal in Chromium biedt de mogelijkheid om het bredere webecosysteem uit te nodigen om commentaar te leveren op het ontwerp en de implementatie.
Waar mogelijk moeten nieuwe functies interoperabel zijn over het hele webplatform en niet alleen in één browser worden geïmplementeerd. Webontwikkelaars willen geen verrassingen: geen problemen wanneer browsers niet werken zoals verwacht, of wanneer ze voor verschillende browsers en platforms andere code moeten schrijven. Blink Intents helpen het veranderingsproces te structureren en te reguleren, waardoor veranderingen voorspelbaarder en minder verrassend worden, wat gunstig is voor webontwikkelaars.
Voor gebruikers is het belangrijk dat browserleveranciers ervoor zorgen dat wijzigingen er niet toe leiden dat websites niet meer werken. Website-eigenaren stoppen vaak met het onderhouden van hun websites. Sommige sites zijn al tientallen jaren niet meer bijgewerkt! Browserleveranciers moeten hiermee rekening houden bij het doorvoeren van wijzigingen die mogelijk problemen kunnen veroorzaken.
Van idee tot voorstel
Voorstellen voor wijzigingen en updates van het webplatform komen voort uit onderzoek: overleg met gebruikers, bedrijven, browserontwikkelaars, webontwikkelaars en andere belanghebbenden. Dit onderzoek stelt het Chrome-team in staat om te bepalen wat er ontbreekt aan het platform of wat er moet veranderen. Aanvankelijk is een voorstel voor een wijziging of een nieuwe functie op het webplatform slechts een opsomming van woorden. Ontwikkelaars delen documenten met elkaar voor feedback en discussie met hun collega's.
Een voorbeeld: FedCM

Federated Credential Management (FedCM) is een API die een privacygerichte en gebruiksvriendelijke aanpak biedt voor het registreren en inloggen van gebruikers, ook wel bekend als federatieve identiteit. Dit is bijvoorbeeld van toepassing op 'Inloggen met Google' en andere sociale media-aanmeldingen.
Om een browser-API te ontwikkelen, is de eerste stap het opstellen van een voorstel voor openbare discussie. Het voorstel van FedCM is gepubliceerd op GitHub als een toelichting . Iedereen is welkom om vragen te stellen of opmerkingen te maken over de functionaliteit door een GitHub-issue aan te maken in de repository van de toelichting. Feedback kan bestaan uit beschrijvingen van ontwikkelaars van aanvullende gebruiksscenario's, beperkingen, ideeën voor verbetering of een toezegging van steun.
Zodra een voorstel is aangenomen door een standaardisatie-instantie, zoals het W3C , kunnen belanghebbenden deelnemen aan discussies en presentaties bekijken in webstandaardgroepen, zoals de W3C-werkgroepen .
Blink Intents: Mijlpalen en voortgang
Bij elke mijlpaal in de ontwikkeling van een nieuwe functie of een wijziging aan de Blink-renderingengine publiceren engineers een bericht in de blink-dev discussiegroep . Daarin leggen ze uit dat ze van plan zijn om naar de volgende fase van de implementatie van de functie te gaan. Deze berichten worden "intents" genoemd. Iedereen kan zich abonneren op de blink-dev groep om op de hoogte te blijven van de voortgang van nieuwe functies in Blink, of zich abonneren op een specifieke functie voor updates.
Intentie tot prototype
Op dit punt kunnen Chromium-ontwikkelaars beginnen met het implementeren van een functie. Dit betekent dat prototypefunctionaliteit voor de functie beschikbaar kan worden gesteld voor ontwikkelaarstests achter een feature-flag , aanvankelijk in Chrome Canary en vervolgens in andere releasekanalen. Iedere gebruiker kan een flag instellen via de pagina chrome://flags om een functie in zijn of haar browser te activeren en te testen.
Niet alle vlaggen kunnen echter worden ingesteld via de pagina chrome://flags. Voor meer gedetailleerde controle kunt u Chrome vanuit een terminal starten met behulp van opdrachtregelvlaggen. Houd er rekening mee dat sommige nieuwe functies pas beschikbaar zijn wanneer ze worden uitgebracht voor testen in Chrome Canary – hoewel dit vrij zeldzaam is. Sommige functies hebben geen eigen vlag, maar worden beschikbaar gesteld als de vlag experimental-web-platform-features is ingeschakeld. Dit is over het algemeen het geval voor 'kleinere' functies waarvan de implementatie maximaal drie tot zes maanden duurt.
Feedback verzamelen over prototypes
Zodra het prototypen van een nieuwe functie is gestart, nodigen Chromium-ontwikkelaars uit tot discussie en vroege experimenten. Feedback in deze fase is cruciaal voor het valideren en verder ontwikkelen van voorstellen. Op Chromium Bugs kun je commentaar geven op de implementatie in Chrome.

Experimenteerintentie: testen in de praktijk.
Een 'Intent to Experiment'-bericht op blink-dev is een optionele volgende stap, mochten Chrome-ontwikkelaars een origin-proef willen aanvragen.

Origin-tests zijn een manier om een nieuwe of experimentele functie van een webplatform te testen. Je registreert je voor de Origin-test van een functie en ontvangt vervolgens een token voor de test. De functie wordt geactiveerd op elke pagina die het token aanbiedt.

Goedkeuring van de eigenaren van de Blink API
Om de implementatie van een functie te kunnen voortzetten, moeten de eigenaren van de Blink API hun goedkeuring geven door op een intent te reageren met een "ziet er goed uit"-bericht, ook wel bekend als een LGTM.
De Blink API Owners vormen een kleine groep Chromium-bijdragers met ruime ervaring met het webplatform en de bijbehorende API's. Ze worden door de Blink-community erkend als integer en toegewijd aan de missie en waarden van Blink. Naast het goedkeuren (of afwijzen!) van de implementatie van nieuwe functionaliteiten, houden de API Owners toezicht op het Blink Intent-proces zelf.
Een intentieverklaring voor een experiment moet ten minste één LGTM (Letter of Goods to Make) van de API-eigenaren ontvangen.

De waarde van oorsprongsonderzoeken
Ontwikkelaars kunnen zich aanmelden voor de Origin-proefversie van een functie en deze vervolgens in een realistische omgeving testen met echte gebruikers, zonder dat gebruikers actie hoeven te ondernemen om de functie te activeren. Ontwikkelaars kunnen de resultaten van hun tests delen, wat waardevolle inzichten en gegevens oplevert om de functie verder te ontwikkelen en te verbeteren.
Intentie tot verzending: de laatste mijlpaal
De Intent to Ship-melding geeft aan dat een functie nu voltooid is en klaar is om te worden geïmplementeerd voor algemene beschikbaarheid voor alle gebruikers van Chrome Stable, zonder dat een vlag of proeftoken nodig is. Een Intent to Ship moet drie LGTM's (Letter to Take a Clear) van API-eigenaren ontvangen voordat de implementatie kan doorgaan.
Nieuwe functies worden uitgerold
Zodra een functie is goedgekeurd, wordt deze opgenomen in een aankomende release en doorloopt vervolgens de gebruikelijke releasekanalen van Chrome . Het testen en implementeren van nieuwe functies gebeurt vaak met de nodige zorgvuldigheid. Sommige functies worden geleidelijk uitgerold naar een steeds groter wordend aantal gebruikers. Functies kunnen ook worden teruggedraaid en herzien als er onverwachte neveneffecten optreden.
Beheer het afschaffen en verwijderen van software.
Er zijn nog twee andere soorten Blink-intenties:
- Voornemen tot afschaffing
- Voornemen tot verwijdering
Dit klinkt misschien een beetje triest, maar het is eigenlijk cruciaal voor het succes van de Blink-ontwikkeling.
Een 'Intent to Deprecate' wordt door ontwikkelaars geplaatst wanneer ze hen willen waarschuwen dat een bepaalde functie binnenkort niet meer ondersteund zal worden. Dit kan bijvoorbeeld door ondersteuning en informatie over de afschaffing te bieden in de Chrome DevTools-console.
Een 'Intent to Remove' wordt geplaatst wanneer engineers van plan zijn om code standaard uit te schakelen.

Het belang van afschrijving en verwijdering
Het afschaffen en verwijderen van functies is cruciaal voor de gezondheid van het webplatform. Het zorgt ervoor dat Chrome functies kan verwijderen die niet goed werken voor eindgebruikers of webontwikkelaars, en helpt de complexiteit van de codebase te verminderen. Zo werden bijvoorbeeld problemen met het ontwerp van AppCache pas ontdekt toen het op productiesites in stabiele browsers werd gebruikt, waarna de API uiteindelijk werd verwijderd. Het afschaffen en verwijderen van functies draagt ook bij aan de veiligheid van Chrome door potentiële aanvalsvectoren te verminderen.
Zoals bij alle Blink-projecten doet het Chrome-team er alles aan om beslissingen zorgvuldig te nemen. Ze analyseren gebruikscijfers en andere gegevens voordat ze verdergaan. De lat voor het verwijderen van functies ligt erg hoog, en een functie wordt alleen verwijderd als deze door een zeer klein percentage gebruikers wordt gebruikt en er betere alternatieven beschikbaar zijn.
Blijf op de hoogte van Blink Intents
Je kunt de voortgang van nieuwe functies volgen op Chrome Status , waar je je kunt abonneren op updates, bugs kunt melden en andere informatie kunt vinden.

Om op de hoogte te blijven van nieuwe functies, volg de Chromium-blog en word lid van de blink-dev-discussiegroep . De groep kan veel e-mails opleveren, dus het is wellicht handiger om je te abonneren op één specifieke intent. Je kunt een spreadsheet met Blink-intents bekijken.
Als je echt fan bent van Blink Intents, kun je zelfs voortbouwen op de geautomatiseerde Blink Intent Tracker-services .
Volgende stappen
Bekijk het artikel 'Wat zijn Chrome-releasekanalen?' .