Postmortem a lansării lui Gutenberg, astfel încât să putem îmbrățișa produsul Gutenberg

Publicat: 2022-03-10
Rezumat rapid ↬ Chiar dacă Gutenberg se află în prezent la cel mai bun nivel, mulți oameni încă nu îl primesc în proiectele lor, din cauza experienței frustrante suferite când a fost lansat cu WordPress 5.0. Acest lucru este regretabil, deoarece, ca produs, Gutenberg este remarcabil. Să facem o autopsie a ceea ce a mers prost cu lansarea lui Gutenberg, pentru a ne permite să-l acceptăm pe Gutenberg ca produs.

După 10 luni de la lansarea ca noul editor implicit al WordPress, Gutenberg este încă ignorat de un număr considerabil de oameni din comunitatea de dezvoltare web, care invocă frecvent ca motive pentru a nu ține cont de lipsa suportului de accesibilitate (chiar dacă îmbunătățirile majore de accesibilitate au luat loc), cât de lent este (chiar dacă funcționează mult mai repede acum) și alte câteva nemulțumiri. Această reacție pesimistă față de Gutenberg este cea mai evidentă în articolele online care demonstrează capacitățile lui Gutenberg, care, în loc să provoace o reacție pozitivă din partea cititorilor, atrag în mare parte disprețul (așa cum se reflectă într-un flux de comentarii negative).

Mulți oameni par să fie supărați „pe Gutenberg” (vom vedea peste ceva timp ce este Gutenberg de fapt), exprimând că Gutenberg nu ar fi trebuit să se întâmple niciodată sau, cel puțin, să nu fi fost integrat niciodată în nucleul WordPress ca experiență implicită, sau cel puțin nu atât de curând. Oameni diferiți au motive diferite să se opună lui Gutenberg, unele dintre motivele lor fiind mai semnificative personal decât altele. De exemplu, unii oameni și-au văzut mijloacele de existență puse în pericol, lucrând din greu pentru a se specializa într-o anumită soluție care, din cauza sosirii lui Gutenberg, riscă să dispară (cum ar fi oricine lucrează cu acest brand sau acel brand de creatori de pagini). Pot să înțeleg cu adevărat de ce acești oameni sunt supărați pe Gutenberg și îi simpatizez.

Cu toate acestea, cred, de asemenea, că să fii înfuriat la nesfârșit de Gutenberg și să-l respingi în întregime - fără să mă gândesc măcar dacă ar putea merita să îl folosești până la urmă - nu este o abordare sensibilă. Când a fost lansat inițial, m-am opus cu totul lui Gutenberg, crezând că nu este gata, iar această poziție a durat câteva luni. Cu toate acestea, în ultima vreme m-am trezit să folosesc din ce în ce mai mult Gutenberg și chiar pot pretinde că, în zilele noastre, chiar îmi place. În timp ce la început eram și eu puțin supărat „la Gutenberg”, mi-am lăsat furia să dispară, iar acum pot beneficia de ea.

Prin acest articol, voi încerca să schimb narațiunea în care Gutenberg este cel mai frecvent descris. Voi enumera ce a mers prost în trecut și voi descrie ce a fost Gutenberg și ce este, de la care pot da un salt de credință pentru a prezenta Gutenberg într-o lumină favorabilă. De asemenea, voi argumenta că Gutenberg este deja o forță pozitivă și, ca atare, merită să i se acorde o altă șansă (dacă nu ați făcut-o încă).

Mai multe după săritură! Continuați să citiți mai jos ↓

Ce este Gutenberg de fapt

Din punctul meu de vedere, cel mai important motiv pentru care Gutenberg nu este mai larg acceptat este că, atunci când oamenii vorbesc despre Gutenberg, îl echivalează nu cu una, ci de fapt cu două entități (care sunt confundate între ele), și anume:

  1. Gutenberg, lansarea;
  2. Gutenberg, produsul.

Gutenberg ca „produs” este pluginul/funcționalitatea în sine. Gutenberg ca „lansare” a fost procesul care a implicat dezvoltarea și lansarea inițială a lui Gutenberg, începând probabil când fondatorul WordPress, Matt Mullenweg, l-a prezentat publicului mai larg, în iunie 2017, în timpul WordCamp Europe 2017, și s-a încheiat la începutul lunii decembrie 2018, când WordPress 5.0 a fost lansat. lansat cu Gutenberg fuzionat în el.

(Odată ce lansarea s-a încheiat, a început o nouă etapă care continuă până astăzi: „Ciclul de livrare continuă Gutenberg”. Cu toate acestea, această etapă este foarte diferită de „Lansarea Gutenberg”, deoarece nu au existat probleme serioase cu ea și, deoarece astfel încât nu produce nicio concepție greșită față de „produsul Gutenberg”. Din acest motiv, nu este nevoie să vorbim despre asta în acest articol.)

Trebuie să facem distincție între cele două entități, „lansarea” și „produsul”. Ca atare, de acum înainte, sper că atunci când ne referim la „Gutenberg” înseamnă invariabil „Gutenberg produsul”, iar dacă vrem să facem referire la „Gutenberg lansarea”, atunci trebuie să-l denumim în mod explicit (eventual folosind oricare dintre variantele sale). , cum ar fi „dezvoltarea/lansarea inițială a lui Gutenberg” sau expresii similare). Cel mai important, trebuie să ne abținem să amestecăm lansarea și produsul în aceeași pungă: menționarea oricărui factor care a contribuit la lansarea dezamăgitoare a lui Gutenberg ca motiv pentru a nu folosi Gutenberg în proiectele noastre ar trebui eliminată treptat, iar Gutenberg ca produs ar trebui să fie judecat. numai împotriva propriilor calităţi. Acest lucru este corect față de Gutenberg produsul.

Consider că, în timp ce „Gutenberg lansarea” a fost criticată pe bună dreptate, disprețul constant îndreptat către Gutenberg produsul a fost nedrept (chiar dacă ar fi justificat) și că produsul Gutenberg este, în sine, o victimă a reputației pătate conferite. la numele „Gutenberg” în timpul lansării sale frustrante. De exemplu, atunci când căutați „Gutenberg” în directorul de pluginuri WordPress, deoarece algoritmul care decide clasarea pluginurilor face parte din ratingul pluginurilor, Gutenberg apare doar în jurul poziției a 10-a. Cu toate acestea, multe dintre evaluările de 1 stea nu ar fi avut loc dacă Gutenberg nu ar fi fost fuzionat în core; Dacă ar fi fost lansat inițial doar ca plugin și ar fi așteptat până când cele mai importante erori și probleme (cum ar fi lipsa de accesibilitate) ar fi fost rezolvate înainte de a fi fuzionat cu core, atunci ratingul său ar fi astăzi mai mare.

Dacă suntem capabili să despărțim cele două entități (lansarea și produsul) și să ne ocupăm de ele separat, atunci, pe de o parte, putem face o autopsie a ceea ce a mers prost în timpul lansării lui Gutenberg și putem introduce aceste cunoștințe în livrarea continuă curentă. ciclu, astfel încât aceleași greșeli să nu se repete (într-adevăr, acest lucru pare să se întâmple deja, așa cum voi descrie mai jos); pe de altă parte, ne putem permite să apreciem Gutenberg ca produs, să-l adăugăm în stivele noastre și să sperăm să profităm de el.

Voi face exact asta, din punctul meu de vedere.

Ce a mers prost în timpul lansării lui Gutenberg

Într-o singură propoziție, echipa care conduce procesul a încurcat-o (ăsta este modul politicos de a o spune).

WordPress 5.0 cu Gutenberg fuzionat în el a fost lansat la începutul lunii decembrie 2018, chiar înainte de WordCamp US. Lansarea lui atunci a fost o decizie greșită, dintr-un motiv foarte simplu: Gutenberg nu era încă pregătit. În special, situația de accesibilitate a fost foarte îngrozitoare, Gutenberg fiind aproape inutil prin intermediul dispozitivelor de accesibilitate precum cititoarele de ecran, făcând efectiv pe oricine dependent de astfel de dispozitive să nu poată folosi editorul WordPress. Și pentru că comunitatea WordPress este foarte vocală în protejarea drepturilor tuturor (literalmente tuturor) de a putea accesa Internetul, această lansare grăbită nu a fost bine primită.

Matt Mullenweg (care conducea procesul de lansare) poate să fi avut motive întemeiate să fie neclintit cu privire la lansarea la acea dată, ceea ce ar fi putut, de exemplu, să aibă sens din punct de vedere al afacerii. Cu toate acestea, cu siguranță nu a avut sens din perspectiva comunității. Într-adevăr, mulți membri ai comunității s-au simțit trădați, plângându-se că trebuie să se grăbească să testeze site-urile clienților lor, deși aceștia sunt în vacanță. Putem spune cu siguranță că, pentru mulți oameni, o lansare atât de prematură a fost percepută ca o epavă (chiar dacă software-ul funcționa corect, deci nu s-a întâmplat cu adevărat Y2K), ceea ce a creat nemulțumiri inutile și care ar fi putut fi perfect evitată fie prin amânare. lansarea sau lansând mai întâi Gutenberg ca plugin care să fie îmbinat în nucleu într-o etapă ulterioară, mai stabilă.

Au meritat într-adevăr durerea, frustrarea și dezamăgirea provocate în comunitate? Cred că majoritatea oamenilor vor spune că nu a fost. Cred absolut că nu a fost. În opinia mea, astfel de situații în care se întreprinde o acțiune împotriva voinței majorității membrilor comunității trebuie evitate pe viitor (dacă nu există motive cu adevărat întemeiate pentru aceasta, chiar dacă nu toată lumea este de acord cu ele; dacă a fost cazul în ceea ce privește lansarea lui Gutenber, nu știu, deoarece nu cunosc vreun motiv cu adevărat bun pentru a o justifica).

În prezentarea sa din cadrul aceluiași WordCamp US, Matt Mullenweg a recunoscut că au fost făcute greșeli în timpul lansării lui Gutenberg și că a învățat lecția, astfel încât aceste greșeli, sperăm, să nu se repete. Consider că îi putem accepta scuzele și avem încredere că deciziile sale vor fi cele corecte data viitoare (deși de atunci au avut loc noi certuri pe subiecte la fel de importante). Cu toate acestea, paguba este deja făcută: s-a deschis o rană care poate dura timp pentru a se vindeca, astfel încât comunitatea va fi mai puțin încrezătoare până când încrederea în conducerea WordPress va fi pe deplin restabilită.

De ce lucrurile par să fie mult mai bune acum

Acum vine o veste bună: starea de lucruri pare să fi luat în mare parte o direcție pozitivă, îmbunătățirile enumerate mai jos având deja loc.

Comunicare îmbunătățită

Una dintre cele mai puternice plângeri cu privire la lansarea lui Gutenberg a fost lipsa de comunicare a conducerii. Deoarece nu au fost create canale adecvate pentru a gestiona proiectul și a comunica deciziile acestuia (cel puțin nu într-o manieră cuprinzătoare), a fost dificil să avem o imagine exactă a situației generale. (De exemplu, informațiile de la diferiți autori sau echipe au fost publicate prin diferite căi, inclusiv cele neoficiale, cum ar fi blogurile personale.)

Această preocupare a fost mult îmbunătățită. În special, cantitatea de informații din blogurile make (unde diferitele comunități interacționează pentru a lua decizii cu privire la WordPress pentru diferite domenii, cum ar fi core, accesibilitate, design, internaționalizare și altele) și frecvența cu care informațiile sunt actualizate au fost a crescut și fiecare echipă ține o întâlnire regulată bazată pe Slack (care are loc în cea mai mare parte săptămânal sau bisăptămânal) la care poate participa oricine cu un cont de utilizator WordPress.org. După cum au experimentat unii membri ai comunității, acum este posibil să urmăriți în mod fiabil evoluțiile pe o anumită temă și să aveți suficiente informații pentru a vă putea implica.

De asemenea, consecințele lansării lui Gutenberg l-au determinat pe Matt Mullenweg să extindă conducerea WordPress cu două noi roluri: un director executiv, pentru a supraveghea și a direcționa toate echipele de colaboratori în munca lor de a construi și întreține WordPress, și un lider de marketing și comunicare, pentru a conduce echipa de marketing. și să supravegheze îmbunătățirea WordPress.org, a site-urilor web conexe și a tuturor punctelor sale de vânzare (din păcate, persoana atribuită acestui rol a renunțat la scurt timp, așa că trebuie găsit altcineva care să preia această funcție).

Echipa de triaj formată pentru a aborda problemele deschise

În timpul fazei inițiale de dezvoltare a lui Gutenberg, mai multe persoane s-au plâns că erorile existente, care s-au acumulat în mii, ar trebui remediate înainte de a se aventura să adauge noi funcționalități la WordPress.

În luna martie a acestui an, a fost formată o echipă de triaj pentru a curăța problemele deschise din instrumentul de urmărire a erorilor WordPress Trac. Aceasta este o muncă grea de care a fost nevoie de mulți ani. Dacă va termina vreodată, WordPress ar avea șansa de a trece de la Trac la un instrument de urmărire a erorilor mai modern, cum ar fi GitHub.

Accesibilitatea devine în mod constant o non-problemă

Problemele de accesibilitate sunt abordate în fiecare nouă lansare Gutenberg, versiunea 6.3 oferind cea mai mare parte a îmbunătățirilor. În ritmul actual de îmbunătățire, cele mai importante probleme de accesibilitate (așa cum sunt raportate în Auditul de accesibilitate Gutenberg) ar trebui să facă în curând parte din trecut.

Judecându-l pe Gutenberg pe propriile sale merite

Acum că am împărțit lansarea Gutenberg de produsul Gutenberg, putem continua să analizăm Gutenberg ca produs și să decidem dacă merită adăugat la stiva noastră de aplicații, doar pe baza propriilor merite și deficiențe. Mulți oameni subliniază pe bună dreptate problemele lui Gutenberg drept motiv pentru a nu avea încredere în el (în loc să se concentreze pe lansarea eșuată). Cu toate acestea, Gutenberg s-a îmbunătățit treptat și multe dintre problemele criticate ar fi putut fi rezolvate sau ar putea fi pe punctul de a fi rezolvate. Ca atare, evaluările negative ar trebui să aibă o dată de expirare și să fie reevaluate. Dacă îi putem face o nouă încercare lui Gutenberg și vedem unde se află în zilele noastre, putem aprecia că, la urma urmei, nu este atât de rău. După părerea mea, Gutenberg merită o primire mai caldă decât o primește în prezent.

Sunt uimit că Gutenberg este încă comparat cu modul anterior de editare a conținutului în WordPress (în principal prin intermediul tinymce, dar și prin coduri scurte, widget-uri și altele), argumentând că este mai dificil de codat prin Gutenberg. Acest lucru poate fi adevărat, dar este, de asemenea, lipsit de sens: Gutenberg nu este aici pentru a oferi o nouă modalitate de a codifica aplicația noastră, producând aceleași caracteristici ca în trecut; în schimb, este aici pentru a îmbunătăți considerabil ceea ce se poate face, oferind să adauge aplicațiilor noastre caracteristici la care puteau fi visate doar în trecut. De asemenea, Gutenberg nu este un alt generator de pagini. Într-adevăr, compararea Gutenberg cu Divi sau Beaver Builder este în mod similar ratată, deoarece este ca și cum ai compara un Victorinox cu un cuțit obișnuit: Da, poți construi site/pagini cu Gutenberg (de fapt nu încă, dar este deja o lucrare în progres), dar aceasta este doar una dintre numeroasele sale utilizări; Există mai multe alte utilizări care sunt ascunse inițial, dar odată ce le scoateți din compartiment și înțelegeți cum funcționează, o nouă lume de posibilități va fi dezvăluită. Mai jos, voi descrie câteva dintre aceste noi posibilități pe care Gutenberg le aduce la masă.

Mai întâi, să discutăm ce nu este atât de grozav la Gutenberg. Singurul lucru în care cred că Gutenberg poate fi considerat cu adevărat dăunător este curba abruptă de învățare a lui React (care este biblioteca JavaScript cu care este codificat Gutenberg). WordPress a fost întotdeauna foarte incluziv, permițând oamenilor din orice mediu (nu numai codificatori, ci și non-tehnologi, cum ar fi bloggeri, oameni de marketing, vânzători și altele asemenea) să creeze o temă sau un plugin sau să lanseze un site. Acest lucru nu mai este, fără îndoială, și este nedrept să ne așteptăm ca toată lumea să fie nevoită să învețe React pentru a crea un bloc Gutenberg (acesta nu este neapărat cazul, deoarece putem crea și blocuri folosind alte biblioteci JavaScript și chiar și fără a folosi JavaScript. , cum ar fi prin blocuri ACF, cu toate acestea, utilizarea React este cea mai logică opțiune, chiar dacă numai pentru că Gutenberg este codificat cu ea). Singurul argument care ar putea justifica acest dezavantaj este dacă face experiența mai bună pentru utilizator. Să vedem dacă acest lucru poate fi considerat așa.

După cum am argumentat într-un articol anterior de-al meu, arhitectura bazată pe blocuri de la Gutenberg schimbă radical modul în care sunt construite aplicațiile: în loc să gândim în codul HTML, acum putem gândi în termeni de componente ca unitatea pentru construirea site-ului web. Această arhitectură este mai întreținută și mai rezistentă, deoarece fiecare componentă (sau bloc) poate fi dezvoltată și testată independent și, deoarece este ușor reutilizabilă, poate reduce costul dezvoltării mai multor aplicații. Într-adevăr, popularitatea recentă a bibliotecilor JavaScript, cum ar fi Vue și React, poate fi atribuită în mare măsură suportului lor pentru componente. Este o caracteristică grozavă pe care dezvoltatorii o iubesc și cu care, cred, odată ce începeți să codificați, nu există cale de întoarcere.

În același articol, descriu, de asemenea, modul în care Gutenberg ar putea susține strategia „Create Once, Publish Everywhere” (cunoscută și sub denumirea de „COPE”), permițând producerea unei singure surse de adevăr de conținut pentru a alimenta toate aplicațiile noastre, oricare ar fi mediu sau platformă pe care rulează: web, e-mail/buletine informative, aplicații iOS/Android, VR/AR, asistenți acasă (cum ar fi Amazon Alexa) și altele. Deoarece face gestionarea generală a conținutului mult mai simplă, COPE permite, de asemenea, reducerea costurilor de producere a conținutului pentru diferite platforme. Când mi-am scris articolul pentru prima dată, am teoretizat că se poate face. Cu toate acestea, am implementat recent COPE pentru WordPress și funcționează ca un farmec! (Rămâneți pe fază pentru un alt articol în care vă explic cum funcționează în detaliu.)

Combinația dintre COPE și API-urile WordPress (WP REST API, WPGraphQL și propriul meu API PoP) va oferi un motiv convingător pentru gestionarea întregului conținut, pentru toate aplicațiile noastre, prin WordPress. Celălalt motiv convingător va fi ușurința de utilizare a lui Gutenberg (care nu este încă pe deplin aici, dar în ritmul actual de dezvoltare, va ajunge mai devreme decât mai târziu), permițând utilizatorului final să creeze conținut elaborat într-un mod foarte simplu.

Avem deja acces la funcții noi grozave, precum o previzualizare în timp real a modului în care arată conținutul, copierea/lipirea din Google Docs cu formatare perfectă, crearea de straturi de grilă complicate cu elemente imbricate în interior și multe altele. De asemenea, ne putem aștepta ca noi blocuri să ofere funcții absolut neașteptate pe care nu le-am imaginat niciodată. Pariezul meu este că, prin Gutenberg, WordPress este gata să devină managerul de active digitale al web. (Am scris deja un articol care va fi publicat în curând aici pe Smashing Magazine referitor la acest subiect și justificarea mea pentru această declarație îndrăzneață.)

În plus, Gutenberg permite reutilizarea codului cu alte CMS-uri sau cadre (cum ar fi pentru Drupal și pentru Laravel), astfel încât codarea pentru WordPress să nu mai fie limitată la WordPress, permițându-ne încă o dată să reducem costul dezvoltării unei biblioteci care trebuie să ruleze în cât mai multe sisteme posibil (de exemplu, o companie care oferă o integrare a API-ului său pentru multe platforme și limbi diferite, cum ar fi Stripe, ar putea beneficia de aceasta). În prezent, doar codul de pe partea client (JavaScript și CSS) pare a fi reutilizat, cu toate acestea, codul PHP de pe partea serverului poate fi, de asemenea, reutilizat. (Voi publica, încă o dată, în curând un articol despre Smashing, explicând cum să faci exact acest lucru.)

Aceste caracteristici sunt deja o realitate și ne putem aștepta ca Gutenberg să ofere mai multe motive convingătoare pentru existența sa în anii următori (conform lui Matt Mullenweg, Gutenberg a implementat în prezent doar aproximativ 10% din potențialul său).

Putem încerca în sfârșit să ajungem la un verdict asupra produsului Gutenberg: Atitudinea mea este că stabilește o barieră mai mare de intrare în WordPress, ceea ce este regretabil, totuși, este, de asemenea, o piesă de software frumos concepută, care acordă noi puteri reale WordPress și , datorită proeminenței WordPress, față de lumea dezvoltării web în general. Și între acest compromis între costuri și beneficii, cred că a avea Gutenberg ca parte a WordPress merită mai mult decât nu. Sper că puteți fi de acord cu opinia mea sau, dacă nu, cel puțin motivele împotriva acesteia se pot baza doar pe caracteristicile Gutenberg ca produs.

Concluzie

Gutenberg este în prezent la cel mai bun nivel – după ce a început să ofere utilizatorilor experiențe încântătoare, care înainte nu erau posibile cu WordPress. Cu toate acestea, nu toată lumea este conștientă de acest fapt, deoarece nu toată lumea poate ajunge să-l îmbrățișeze pe Gutenberg. Aceasta este o circumstanță nefericită, deoarece Gutenberg (ca produs) nu ar trebui să fie vinovat pentru greșelile care au avut loc în timpul lansării lui Gutenberg. Dacă reușim să împărțim aceste două entități și să le tratăm pe fiecare în mod independent, le putem cere apoi în mod convingător oamenilor să-i mai dea o șansă lui Gutenberg , sugerând că Gutenberg ca produs merită să fie avut, chiar dacă Gutenberg lansarea a fost un proces eșuat.

În acest articol, am făcut o autopsie a lansării eșuate a lui Gutenberg, pe baza propriei înțelegeri a evenimentelor. Efectuarea unei astfel de autopsie poate ajuta comunitatea și conducerea să se asigure că acele greșeli nefericite să nu se mai repete. După autopsie, am procedat la evaluarea lui Gutenberg pe baza propriilor merite și mi-am declarat poziția: cred că Gutenberg este un instrument grozav de avut, iar comunitatea WordPress poate beneficia cu siguranță de pe urma acestuia. Și pentru că va fi din ce în ce mai bine, Gutenberg ar putea chiar inaugura o nouă eră de aur pentru WordPress.