Postmortem de Gutenberg Le lancement, afin que nous puissions embrasser Gutenberg Le produit

Publié: 2022-03-10
Résumé rapide ↬ Même si Gutenberg est actuellement à son meilleur niveau, de nombreuses personnes ne l'accueillent toujours pas dans leurs projets, en raison de l'expérience frustrante subie lors de son lancement avec WordPress 5.0. C'est dommage, car, en tant que produit, Gutenberg est exceptionnel. Faisons un post-mortem de ce qui n'a pas fonctionné avec le lancement de Gutenberg, pour nous permettre d'embrasser Gutenberg en tant que produit.

Après 10 mois de sortie en tant que nouvel éditeur par défaut de WordPress, Gutenberg est toujours ignoré par un nombre important de personnes de la communauté du développement Web, qui citent fréquemment comme raisons de l'ignorer son manque de prise en charge de l'accessibilité (même si des améliorations majeures en matière d'accessibilité ont pris place), sa lenteur (même si elle tourne beaucoup plus vite maintenant) et plusieurs autres griefs. Cette réaction pessimiste à Gutenberg est plus évidente dans les articles en ligne démontrant les capacités de Gutenberg qui, au lieu de susciter une réaction positive de la part des lecteurs, attirent surtout le mépris (comme en témoignent un flux de commentaires négatifs).

Beaucoup de gens semblent être en colère "contre Gutenberg" (nous verrons dans un moment ce qu'est réellement Gutenberg), exprimant que Gutenberg n'aurait jamais dû arriver ou, du moins, n'a jamais été intégré au noyau WordPress comme expérience par défaut, ou du moins pas si tot. Différentes personnes ont différentes raisons de s'opposer à Gutenberg, certaines de leurs raisons étant plus personnellement significatives que d'autres. Par exemple, certaines personnes ont vu leurs moyens de subsistance compromis, ayant travaillé dur pour se spécialiser sur une certaine solution qui, en raison de l'arrivée de Gutenberg, est en danger de disparition (comme toute personne travaillant avec telle marque ou telle marque de constructeurs de pages). Je peux vraiment comprendre pourquoi ces gens sont en colère contre Gutenberg, et je sympathise avec eux.

Cependant, je crois aussi qu'être sans cesse en colère contre Gutenberg et le rejeter dans son ensemble - sans même se demander si cela peut valoir la peine d'être utilisé après tout - n'est pas une approche sensée. Lors de son lancement initial, j'étais assez opposé à Gutenberg, pensant qu'il n'était pas prêt, et cette position a duré plusieurs mois. Cependant, je me suis retrouvé dernièrement à utiliser de plus en plus Gutenberg, et je peux même prétendre que, de nos jours, je l'apprécie vraiment. Alors qu'au début j'étais moi aussi un peu en colère « contre Gutenberg », j'ai laissé passer ma colère, et maintenant je peux vraiment en profiter.

À travers cet article, je tenterai de changer le récit sous lequel Gutenberg est le plus souvent représenté. Je vais énumérer ce qui a mal tourné dans le passé et décrire ce qu'a été Gutenberg et ce qu'il est, à partir duquel je peux donner un acte de foi pour présenter Gutenberg sous un jour favorable. Je soutiendrai également que Gutenberg est déjà une force positive et qu'en tant que telle, elle mérite qu'on lui donne une autre chance (si vous ne l'avez pas encore fait).

Plus après saut! Continuez à lire ci-dessous ↓

Ce qu'est réellement Gutenberg

De mon point de vue, la raison la plus importante pour laquelle Gutenberg n'est pas plus largement accepté est que, lorsque les gens parlent de Gutenberg, ils l'assimilent non pas à une mais en fait à deux entités (qui se confondent l'une avec l'autre), à ​​savoir :

  1. Gutenberg, le lancement ;
  2. Gutenberg, le produit.

Gutenberg en tant que "produit" est le plugin/fonctionnalité lui-même. Gutenberg en tant que "lancement" était le processus qui impliquait le développement initial et la sortie de Gutenberg, commençant peut-être lorsque le fondateur de WordPress, Matt Mullenweg, a présenté Gutenberg à un public plus large en juin 2017 lors de WordCamp Europe 2017, et se terminant début décembre 2018 lorsque WordPress 5.0 a été publié avec Gutenberg fusionné dedans.

(Une fois le lancement terminé, une nouvelle étape a commencé qui se poursuit jusqu'à aujourd'hui : le "cycle de livraison continue de Gutenberg". Cependant, cette étape est très différente de "Gutenberg le lancement", car il n'y a pas eu de problèmes sérieux avec elle, et comme de sorte qu'il ne produit aucune idée fausse envers "Gutenberg le produit". Pour cette raison, il n'est pas nécessaire d'en parler dans cet article.)

Il faut distinguer les deux entités, « le lancement » et « le produit ». En tant que tel, à partir de maintenant, j'espère que lorsque nous nous référons à "Gutenberg", cela signifie invariablement "Gutenberg le produit", et si nous voulons faire référence à "Gutenberg le lancement", nous devons le nommer explicitement (éventuellement en utilisant l'une de ses variantes , telles que "développement initial/version de Gutenberg" ou des phrases similaires). Plus important encore, nous devons nous abstenir de mélanger le lancement et le produit dans le même sac : mentionner tout facteur ayant contribué au lancement décevant de Gutenberg comme raison de ne pas utiliser Gutenberg dans nos projets doit être progressivement supprimé, et Gutenberg en tant que produit doit être jugé. seulement contre ses propres qualités. C'est être juste pour Gutenberg le produit.

Je crois que, si « Gutenberg le lancement » a été justement critiqué, le mépris constant envers Gutenberg le produit a été injuste (même s'il était justifié), et que Gutenberg le produit est lui-même victime de la réputation entachée conférée au nom de « Gutenberg » lors de son lancement frustrant. Par exemple, lors de la recherche de "Gutenberg" dans le répertoire des plugins WordPress, parce que l'algorithme déterminant le classement des plugins est pris en compte dans la notation des plugins, Gutenberg n'apparaît qu'autour de la 10e position. Cependant, de nombreuses notes 1 étoile n'auraient pas eu lieu si Gutenberg n'avait pas été fusionné avec le noyau; s'il avait été initialement publié en tant que plugin uniquement et avait attendu que les bogues et les problèmes les plus importants (tels que le manque d'accessibilité) aient été résolus avant de fusionner avec le noyau, alors sa note serait aujourd'hui plus élevée.

Si nous sommes capables de séparer les deux entités (le lancement et le produit) et de les traiter séparément, alors, d'un côté, nous pouvons faire un post-mortem de ce qui n'a pas fonctionné lors du lancement de Gutenberg et intégrer ces connaissances dans la livraison continue actuelle. cycle, afin que les mêmes erreurs ne se reproduisent pas (en effet, cela semble déjà se produire, comme je le décrirai ci-dessous); d'un autre côté, nous pouvons nous permettre d'apprécier Gutenberg en tant que produit, de l'ajouter à nos piles et, espérons-le, d'en bénéficier.

Je vais faire exactement cela, de mon propre point de vue.

Ce qui s'est mal passé lors du lancement de Gutenberg

En une seule phrase, l'équipe menant le processus a tout gâché (c'est la façon polie de le dire).

WordPress 5.0 avec Gutenberg fusionné a été lancé début décembre 2018, juste avant WordCamp US. Le lancer alors était une mauvaise décision, pour une raison très simple : Gutenberg n'était pas encore prêt. En particulier, la situation d'accessibilité était très désastreuse, Gutenberg étant presque inutile grâce à des dispositifs d'accessibilité tels que des lecteurs d'écran, rendant ainsi toute personne dépendant de ces dispositifs incapable d'utiliser l'éditeur WordPress. Et parce que la communauté WordPress est très active pour protéger les droits de chacun (littéralement tout le monde) à pouvoir accéder à Internet, ce lancement précipité n'a pas été bien accueilli.

Matt Mullenweg (qui dirigeait le processus de publication) avait peut-être de bonnes raisons d'être catégorique quant au lancement à cette date, ce qui aurait pu, par exemple, avoir du sens d'un point de vue commercial. Cependant, cela n'avait certainement aucun sens du point de vue de la communauté. En effet, de nombreux membres de la communauté se sont sentis trahis, se plaignant de devoir se dépêcher pour tester les sites de leurs clients même s'ils étaient en vacances. Nous pouvons affirmer avec certitude que, pour de nombreuses personnes, un lancement aussi prématuré a été perçu comme une épave (même si le logiciel fonctionnait correctement, donc aucun an 2000 ne s'est réellement produit), ce qui a créé un mécontentement inutile, et qui aurait parfaitement pu être évité soit en reportant le lancement, ou en publiant d'abord Gutenberg en tant que plugin à fusionner avec le noyau à un stade ultérieur plus stable.

La douleur, la frustration et la déception infligées à la communauté en valaient-elles vraiment le coût ? Je crois que la plupart des gens diront que non. Je pense absolument que non. À mon avis, ce genre de situations dans lesquelles une action est entreprise contre la volonté de la majorité des membres de la communauté doit être évitée à l'avenir (à moins qu'il n'y ait vraiment de bonnes raisons pour cela, même si tout le monde n'est pas d'accord ; si cela ce fut le cas concernant le lancement de Gutenber je ne sais pas, car je ne connais aucune raison valable pour le justifier).

Dans sa présentation lors de ce même WordCamp US, Matt Mullenweg a reconnu que des erreurs avaient été commises lors du lancement de Gutenberg et qu'il avait retenu la leçon afin que ces erreurs ne se reproduisent, espérons-le, pas. Je pense que nous pouvons accepter ses excuses et être sûrs que ses décisions seront les bonnes la prochaine fois (même si de nouvelles querelles sur des sujets tout aussi importants ont eu lieu depuis lors). Cependant, le mal est déjà fait : une blessure s'est ouverte qui peut prendre du temps à guérir, de sorte que la communauté sera moins confiante jusqu'à ce que la confiance dans le leadership de WordPress soit entièrement restaurée.

Pourquoi les choses semblent aller beaucoup mieux maintenant

Vient maintenant la bonne nouvelle : la situation semble avoir principalement pris une direction positive, les améliorations énumérées ci-dessous se produisant déjà.

Communication améliorée

L'une des plaintes les plus fortes concernant le lancement de Gutenberg était le manque de communication de la part des dirigeants. Étant donné qu'aucun canal approprié pour gérer le projet et communiquer ses décisions n'a été mis en place (du moins pas de manière exhaustive), il était difficile d'avoir une image précise de la situation globale. (Par exemple, les informations de différents auteurs ou équipes ont été publiées par différentes voies, y compris des voies non officielles telles que des blogs personnels.)

Cette préoccupation a été grandement améliorée. En particulier, la quantité d'informations dans les make blogs (où les différentes communautés interagissent pour prendre des décisions concernant WordPress dans différents domaines, tels que le noyau, l'accessibilité, le design, l'internationalisation, etc.) et la fréquence à laquelle les informations sont mises à jour ont été augmenté, et chaque équipe organise une réunion régulière basée sur Slack (qui se déroule principalement sur une base hebdomadaire ou bihebdomadaire) à laquelle toute personne possédant un compte utilisateur WordPress.org peut participer. Comme l'ont vécu certains membres de la communauté, il est maintenant possible de suivre de manière fiable les développements sur un sujet et d'avoir suffisamment d'informations pour pouvoir s'impliquer.

Les retombées du lancement de Gutenberg ont également incité Matt Mullenweg à étendre le leadership de WordPress avec deux nouveaux rôles : un directeur exécutif, pour superviser et diriger toutes les équipes de contributeurs dans leur travail de création et de maintenance de WordPress, et un responsable du marketing et des communications, pour diriger l'équipe marketing. et superviser l'amélioration de WordPress.org, des sites Web connexes et de tous ses points de vente (malheureusement, la personne affectée à ce rôle a démissionné peu de temps après, il faut donc trouver quelqu'un d'autre pour reprendre ce poste).

Une équipe de triage formée pour résoudre les problèmes en suspens

Au cours de la phase de développement initiale de Gutenberg, plusieurs personnes se sont plaintes que les bogues existants, qui s'étaient accumulés par milliers, devaient être corrigés avant de s'aventurer dans l'ajout de nouvelles fonctionnalités à WordPress.

En mars de cette année, une équipe de triage a été formée pour nettoyer les problèmes ouverts dans le traqueur de bogues WordPress Trac. C'est un travail acharné qui a été nécessaire pendant de nombreuses années. Si jamais terminé, WordPress aurait alors la possibilité de passer de Trac à un traqueur de bogues plus moderne, tel que GitHub.

L'accessibilité devient progressivement un non-problème

Les problèmes d'accessibilité sont abordés dans chaque nouvelle version de Gutenberg, la version 6.3 fournissant la part du lion des améliorations. Au rythme actuel d'amélioration, les problèmes d'accessibilité les plus importants (tels que signalés dans l'audit d'accessibilité de Gutenberg) devraient bientôt appartenir au passé.

Juger Gutenberg sur ses propres mérites

Maintenant que nous avons séparé Gutenberg le lancement de Gutenberg le produit, nous pouvons procéder à l'analyse de Gutenberg en tant que produit et décider s'il vaut la peine de l'ajouter à notre pile d'applications, en nous basant uniquement sur ses propres mérites et défauts. Beaucoup de gens soulignent à juste titre les problèmes de Gutenberg comme raison de ne pas lui faire confiance (au lieu de se concentrer sur le lancement raté). Cependant, Gutenberg s'est amélioré à pas de géant, et bon nombre des problèmes critiqués ont peut-être été résolus ou sont sur le point de l'être. Ainsi, les évaluations négatives devraient avoir une date d'expiration et être réévaluées. Si nous pouvons donner un nouvel essai à Gutenberg et voir où il en est aujourd'hui, nous pouvons comprendre qu'après tout, ce n'est pas si mal. À mon avis, Gutenberg mérite un accueil plus chaleureux qu'il ne l'est actuellement.

Je suis étonné que Gutenberg soit toujours comparé à la manière précédente d'éditer du contenu dans WordPress (principalement via le tinymce, mais aussi des shortcodes, des widgets et autres), arguant qu'il est plus difficile de coder via Gutenberg. C'est peut-être vrai, mais c'est aussi passer à côté de l'essentiel : Gutenberg n'est pas là pour fournir une nouvelle façon de coder notre application, produisant les mêmes fonctionnalités que par le passé ; au lieu de cela, il est là pour améliorer considérablement ce qui peut être fait, offrant d'ajouter des fonctionnalités à nos applications dont on ne pouvait que rêver dans le passé. De plus, Gutenberg n'est pas un autre constructeur de pages. En effet, comparer Gutenberg à Divi ou Beaver Builder passe également à côté de l'essentiel, car c'est comme comparer un Victorinox à un couteau ordinaire : oui, vous pouvez créer des sites/pages avec Gutenberg (en fait pas encore, mais c'est déjà un travail en progrès), mais ce n'est là qu'une de ses nombreuses utilisations ; il y a plusieurs autres utilisations qui sont initialement cachées, mais une fois que vous les sortez de leur compartiment et comprenez comment elles fonctionnent, un nouveau monde de possibilités sera révélé. Ci-dessous, je décrirai certaines de ces nouvelles possibilités que Gutenberg apporte à la table.

Tout d'abord, discutons de ce qui n'est pas si génial à propos de Gutenberg. La seule chose pour laquelle je pense que Gutenberg peut être vraiment considéré comme préjudiciable est la courbe abrupte de l'apprentissage de React (qui est la bibliothèque JavaScript avec laquelle Gutenberg est codé). WordPress a toujours été très inclusif, permettant aux personnes de tous horizons (non seulement les codeurs, mais aussi les non-techniciens tels que les blogueurs, les spécialistes du marketing, les vendeurs, etc.) de créer un thème ou un plugin ou de lancer un site. Ce n'est sans doute plus le cas, et il est injuste de s'attendre à ce que tout le monde doive apprendre React pour créer un bloc Gutenberg (ce n'est pas forcément le cas, puisqu'on peut aussi créer des blocs en utilisant d'autres bibliothèques JavaScript, et même sans utiliser JavaScript , par exemple via des blocs ACF, mais utiliser React est l'option la plus logique, ne serait-ce que parce que Gutenberg est codé avec). Le seul argument qui pourrait justifier cet inconvénient est s'il améliore l'expérience de l'utilisateur. Voyons si cela peut être considéré comme le cas.

Comme je l'ai expliqué dans un article précédent, l'architecture basée sur les blocs de Gutenberg change radicalement la manière dont les applications sont construites : au lieu de penser en code HTML, nous pouvons désormais penser en termes de composants comme unité de construction du site Web. Cette architecture est plus maintenable et résiliente, puisque chaque composant (ou bloc) peut être développé et testé indépendamment, et parce qu'elle est facilement réutilisable, elle peut réduire le coût de développement de plusieurs applications. En effet, la popularité récente des bibliothèques JavaScript telles que Vue et React peut être largement attribuée à leur prise en charge des composants. C'est une excellente fonctionnalité que les développeurs adorent et qui, je crois, une fois que vous commencez à coder, il n'y a pas de retour en arrière.

Dans ce même article, je décris également comment Gutenberg pourrait soutenir la stratégie « Create Once, Publish Everywhere » (également connue sous le nom de « COPE »), permettant de produire une source unique de vérité de contenu pour alimenter toutes nos applications, quelle que soit support ou plate-forme sur lesquels ils s'exécutent : Web, e-mail/newsletters, applications iOS/Android, VR/AR, assistants domestiques (comme Amazon Alexa) et autres. Parce qu'il rend la gestion globale du contenu beaucoup plus simple, COPE permet également de réduire les coûts de production de contenu pour différentes plateformes. Quand j'ai écrit mon article pour la première fois, je théorisais que cela pouvait être fait. Cependant, j'ai récemment implémenté COPE pour WordPress, et cela fonctionne comme un charme ! (Restez à l'écoute pour un autre article dans lequel j'expliquerai comment cela fonctionne en détail.)

La combinaison de COPE et des API WordPress (WP REST API, WPGraphQL et ma propre API PoP) fournira une raison impérieuse de gérer tout notre contenu, pour toutes nos applications, via WordPress. L'autre raison impérieuse sera la facilité d'utilisation de Gutenberg (qui n'est pas encore tout à fait là, mais au rythme actuel de développement, arrivera plus tôt que tard), permettant à l'utilisateur final de créer un contenu élaboré de manière très simple.

Nous avons déjà accès à de nouvelles fonctionnalités intéressantes, telles qu'un aperçu en temps réel de l'apparence du contenu, un copier/coller à partir de Google Docs avec un formatage parfait, la création de couches de grille complexes avec des éléments imbriqués à l'intérieur, et bien d'autres. Nous pouvons également nous attendre à ce que de nouveaux blocs offrent des fonctionnalités totalement inattendues que nous n'aurions jamais imaginées. Mon pari est que, grâce à Gutenberg, WordPress est en passe de devenir le gestionnaire d'actifs numériques du Web. (J'ai déjà écrit un article qui sera bientôt publié ici sur Smashing Magazine concernant ce sujet et ma justification de cette déclaration audacieuse.)

De plus, Gutenberg permet de réutiliser le code avec d'autres CMS ou frameworks (comme pour Drupal et pour Laravel), de sorte que le codage pour WordPress n'a plus besoin d'être limité à WordPress, ce qui nous permet encore une fois de réduire le coût de développement d'une bibliothèque qui doit fonctionner sur autant de systèmes que possible (par exemple, une entreprise fournissant une intégration de son API pour de nombreuses plates-formes et langues différentes, comme Stripe, pourrait en bénéficier). Actuellement, seul le code côté client (JavaScript et CSS) semble être réutilisé, cependant, le code PHP côté serveur peut également être réutilisé. (Je publierai, encore une fois, bientôt un article sur Smashing expliquant comment faire exactement cela.)

Ces fonctionnalités sont déjà une réalité, et nous pouvons nous attendre à ce que Gutenberg fournisse de nombreuses autres raisons convaincantes de son existence dans les années à venir (selon Matt Mullenweg, Gutenberg n'a actuellement mis en œuvre qu'environ 10 % de son potentiel).

Nous pouvons enfin tenter de rendre un verdict sur Gutenberg le produit : Ma position est qu'il établit une barrière d'entrée plus élevée pour WordPress, ce qui est regrettable, cependant, c'est aussi un logiciel magnifiquement conçu qui accorde de véritables nouveaux pouvoirs à WordPress et , en raison de l'importance de WordPress, dans le monde du développement Web en général. Et entre ce compromis entre les coûts et les avantages, je pense qu'avoir Gutenberg dans WordPress en vaut la peine. J'espère que vous pouvez être d'accord avec mon opinion ou, sinon, du moins les raisons contre elle peuvent être basées uniquement sur les caractéristiques de Gutenberg en tant que produit.

Conclusion

Gutenberg est actuellement à son meilleur - ayant commencé à offrir des expériences utilisateur agréables qui n'étaient pas possibles avec WordPress auparavant. Cependant, tout le monde n'est pas conscient de ce fait car tout le monde ne peut pas se mettre à embrasser Gutenberg. C'est une circonstance malheureuse car Gutenberg (en tant que produit) ne doit pas être blâmé pour les erreurs qui ont eu lieu lors du lancement de Gutenberg. Si nous sommes capables de séparer ces deux entités et de traiter chacune d'elles indépendamment, nous pouvons alors demander de manière convaincante aux gens de donner une autre chance à Gutenberg , suggérant que Gutenberg en tant que produit vaut la peine d'avoir, même si le lancement de Gutenberg était un échec.

Dans cet article, j'ai fait un post-mortem du lancement raté de Gutenberg, basé sur ma propre compréhension des événements. La réalisation d'un tel post-mortem peut aider la communauté et les dirigeants à s'assurer que ces erreurs malheureuses ne se reproduisent plus. Après le post-mortem, j'ai procédé à l'évaluation de Gutenberg en fonction de ses propres mérites et j'ai déclaré ma position : je crois que Gutenberg est un excellent outil à avoir, et la communauté WordPress peut certainement en bénéficier. Et parce qu'il ne fera que s'améliorer, Gutenberg pourrait même inaugurer une nouvelle ère dorée pour WordPress.