Fermer

juillet 13, 2020

Fonctionnalités de la plateforme Web de financement participatif avec priorisation ouverte


À propos de l'auteur

Rachel Andrew est non seulement rédactrice en chef du magazine Smashing, mais aussi développeur Web, écrivaine et conférencière. Elle est l'auteur de plusieurs livres, dont…
En savoir plus sur
Rachel
Andrew

Rachel Andrew jette un œil à un nouvel effort de financement participatif des coûts de mise en œuvre des fonctionnalités du navigateur.

Dans mon dernier article j'ai décrit quelques fonctionnalités CSS intéressantes – dont certaines ne sont disponibles qu'en un navigateur. La plupart des développeurs Web ont une fonctionnalité qu'ils souhaiteraient être plus largement disponible, ou qui était disponible du tout. J'encourage les développeurs à utiliser, à discuter et à soulever des bogues d'implémentation avec les navigateurs pour essayer d'implémenter les fonctionnalités, mais que se passerait-il s'il y avait un moyen plus direct de le faire? Et si les développeurs Web pouvaient se rassembler et financer le développement de ces fonctionnalités?

C'est le modèle que le conseil open source Igalia lance avec leur Open Prioritization experiment . L'idée de base est un modèle de financement participatif pour les fonctionnalités de la plateforme Web. Si nous voulons une fonctionnalité implémentée, nous pouvons mettre une petite somme d'argent pour aider à financer ce travail. Si l'objectif est atteint, la fonctionnalité peut être implémentée. Cet article est basé sur une entrevue avec Brian Kardell développeur avocat à Igalia.

Qu'est-ce que la hiérarchisation ouverte?

. Igalia a sélectionné une liste de fonctionnalités cibles, qui sont toutes implémentées ou en cours d'implémentation dans au moins un moteur. Par conséquent, le financement d'une fonctionnalité l'aidera à devenir disponible sur plusieurs navigateurs et plus utilisable pour nous en tant que développeurs. La liste initiale est la suivante:

  • CSS lab () couleurs dans Firefox
  • : focus visible dans WebKit / Safari
  • HTML inerte dans WebKit / Safari
  • Arguments de la liste de sélection pour : pas () dans Chrome
  • Prise en charge du confinement CSS dans WebKit / Safari
  • CSS d (chemin SVG) dans Firefox

Le site Web donne plus d'explications sur chaque fonctionnalité et tous les détails sur le fonctionnement du financement. Igalia travaille avec Open Collective pour gérer les promesses de dons.

Qui sont Igalia?

Vous n'avez peut-être jamais entendu parler d'Igalia, mais vous aurez bénéficié de leur travail. Igalia travaille sur les moteurs de navigateur et possède une connaissance spécialisée de tous les moteurs. Ils ont eu le deuxième plus grand nombre de validations pour la source Chrome et WebKit en 2019. Si vous aimez la disposition de la grille CSS, vous devez remercier Igalia pour la mise en œuvre dans Chrome et WebKit. Le travail pour ajouter la fonctionnalité à ces navigateurs a été effectué par une équipe d'Igalia, plutôt que par des ingénieurs travaillant en interne dans la société de navigateurs.

C'est ce qui rend cette idée si convaincante. Il ne s’agit pas de collecter de l’argent puis d’essayer de persuader quelqu'un de faire le travail. Igalia a fait ses preuves. Les développeurs doivent être payés, donc en externalisant l'argent, nous sommes en mesure de choisir ce qui sera travaillé ensuite. Igalia a également déjà des relations avec les moteurs pour que toute fonctionnalité suggérée soit susceptible de réussir.

Les navigateurs accepteront-ils ces fonctionnalités si nous les finançons? déjà discuté des fonctionnalités sélectionnées avec eux signifie que si elles sont financées, nous devrions voir les fonctionnalités dans les navigateurs. Et, il existe déjà des précédents pour les principales fonctionnalités financées par des tiers et développées par Igalia. L'implémentation de la disposition de la grille dans Chrome et WebKit a été financée par Bloomberg Tech. Ils étaient frustrés par le manque d'implémentation de Grid Layout, et c'est Bloomberg Tech qui a fourni l'argent pour développer cette fonctionnalité sur plusieurs années.

Chrome et WebKit étaient heureux d'accepter l'implémentation; il n'y a pas eu de controverse sur l'ajout de la fonctionnalité. Il s'agissait plutôt d'une question de priorité. Les navigateurs avaient d'autres travaux jugés prioritaires, et l'engagement financier et le temps des développeurs étaient donc dirigés ailleurs. Les fonctionnalités qui ont été sélectionnées pour cette première tentative de financement participatif ne sont pas non plus controversées en termes de mise en œuvre. Si le travail peut être fait, les moteurs sont susceptibles de l'accepter. L'interopérabilité – les choses fonctionnent de la même manière entre les navigateurs – est quelque chose qui intéresse tous les fournisseurs de navigateurs. Il n'y a aucun avantage pour un moteur à prendre du retard. Nous passons essentiellement par contourner le processus de hiérarchisation interne de la fonctionnalité.

Pourquoi les navigateurs ne font-ils pas simplement ces choses?

J'ai demandé à Brian pourquoi les sociétés de navigateurs ne finançaient pas ces choses elles-mêmes. Il a expliqué,

«C'est simple à imaginer, par exemple« Apple a tout l'argent du monde », mais cela ignore les réalités complexes. L'entreprise d'Apple n'est pas son navigateur Web. En fait, le navigateur Web lui-même n'est une entreprise lucrative pour personne. Les navigateurs et les normes sont volontaires, ils sont communs. En termes de coûts, cependant, les navigateurs sont considérables. Ils sont massivement plus complexes que la plupart d'entre nous ne le pensent. Aujourd'hui, seules 3 organisations ont investi les nombreuses années et millions de dollars annuels nécessaires pour faire évoluer et maintenir un projet de moteur de rendu. Chacun d'entre eux fait déjà un investissement massif et sans précédent dans les biens communs. »

Brian a ensuite souligné l'investissement considérable de Firefox dans Servo et de Google dans LayoutNG , des projets qui amélioreront l'expérience du navigateur et permettront également de mettre en œuvre de nouvelles fonctionnalités de la plateforme. Il y a beaucoup de choses que n'importe quel navigateur pourrait implémenter dans leur moteur, mais la façon dont ces fonctionnalités sont hiérarchisées en interne peut ne pas toujours correspondre à nos besoins en tant que développeurs.

Il m'est venu à l'esprit qu'en finançant l'implémentation du navigateur , nous faisons la même chose que nous faisons pour les autres produits que nous utilisons. Beaucoup d'entre nous auront développé un plugin pour une fonctionnalité nécessaire dans un CMS ou payé un tiers pour le fournir. Les développeurs CMS passent leur temps à travailler sur le produit principal, en s'assurant qu'il est robuste, sécurisé et à jour. Sans le produit de base, l'ajout de plugins serait impossible. Les tiers peuvent cependant apporter des éléments à cette plate-forme, et dans un sens, c'est ce que nous pouvons faire via une hiérarchisation ouverte. Montrez qu'une fonctionnalité en vaut la peine pour nous d'engager un peu d'argent pour l'obtenir sur la ligne.

Comment cela correspond-il aux projets tels que le Web que nous voulons?

SmashingConf a soutenu le Web que nous voulons où les développeurs ont présenté des idées de plates-formes Web à discuter et à voter sur scène lors de conférences. J'ai participé à plusieurs de ces événements en tant qu'hôte et membre du panel. Je me demandais comment une hiérarchisation ouverte cadrait avec ces efforts existants. Brian a expliqué que ce sont des choses très différentes en disant:

«… si vous me demandiez ce qui pourrait améliorer ma maison, je pourrais nommer un million de choses. Certains d’entre eux ne sont même pas pratiques à distance, ils seraient tout simplement super. Mais si vous avez dit de faire une liste des choses que vous pourriez faire avec un budget pour ce que chacun coûte – ma liste sera considérablement plus pratique et liée aux réalités que je sais exister.

À la fin du mois, si vous dites "là est votre liste, et voici 100 $, qu'en ferez-vous? " c'est une question très directe qui m'aide à accomplir quelque chose de pratique. Peut-être que je vais peindre. Je vais peut-être acheter un nouvel éclairage. Ou, peut-être que je vais l'enregistrer pendant quelques mois pour quelque chose de plus coûteux. »

Le projet Web que nous voulons pose une question ouverte, il demande ce que nous voulons de la plate-forme. Beaucoup de désirs ne sont pas des choses qui existent déjà en tant que spécification. Pour commencer à mettre en œuvre l'une de ces choses, il faudrait commencer dès le début, avec une idée qui doit être prise dès la phase de spécification. Il y a peu de certitudes et il serait très difficile de mettre un prix.

Les fonctionnalités sélectionnées pour cette première expérience de priorisation ouverte sont délibérément limitées. Ils ont déjà une mise en œuvre; ils ont une spécification, et Igalia a déjà parlé aux responsables du navigateur pour vérifier que les fonctionnalités sont prêtes à fonctionner mais ne figurent pas dans les priorités immédiates. un délai raisonnablement court. La publication d'une idée sur le Web que nous voulons, la rédaction d'une idée sur votre blog ou l'ajout d'un problème décrivant une toute nouvelle fonctionnalité sur le repo CSSWG GitHub peut potentiellement donner une nouvelle idée à la discussion. Cependant, ces idées peuvent avoir un long chemin lent à devenir réalité. Et, compte tenu de la nature des discussions sur les normes, cela ne se produira probablement pas exactement de la manière que vous imaginiez. Il est utile de proposer ces choses, mais il est très difficile d'estimer le temps et les coûts pour une implémentation finale.

Le même problème est vrai pour la fonctionnalité très recherchée des requêtes de conteneur, Igalia est allé jusqu'à mentionner les requêtes de conteneur dans leur FAQ. De nombreuses personnes impliquées dans le processus de normalisation et chez les fournisseurs de navigateurs étudient les requêtes de conteneur, cependant, ces discussions n'en sont qu'à leurs débuts. Ce n'est pas quelque chose sur lequel il serait possible de mettre une valeur monétaire à ce stade.

Impliquez-vous!

Il y a plus d'informations sur le site Open Prioritization ainsi qu'une FAQ détaillée répondant d'autres questions que vous pourriez avoir. Je suis enthousiaste à ce sujet, car je suis toujours désireux d'aider les concepteurs et les développeurs à s'impliquer dans la plate-forme Web. C'est notre plateforme. Nous pouvons attendre que les fournisseurs de navigateurs autorisent l'utilisation de certaines choses, ou nous pouvons contribuer activement via des idées, des rapports de bogues et, avec l'Open Prioritization, un peu d'argent, pour aider à l'améliorer.

 Smashing Editorial ( il)




Source link