Postmortem do lançamento de Gutenberg, para que possamos abraçar o produto de Gutenberg
Publicados: 2022-03-10Após 10 meses de lançamento como o novo editor padrão do WordPress, Gutenberg ainda é desprezado por uma quantidade considerável de pessoas da comunidade de desenvolvimento web, que frequentemente citam como motivos para desconsiderar sua falta de suporte de acessibilidade (mesmo que grandes melhorias de acessibilidade tenham levado lugar), quão lento é (mesmo que esteja rodando muito mais rápido agora) e várias outras queixas. Essa reação pessimista a Gutenberg é mais evidente em artigos on-line que demonstram as capacidades de Gutenberg que, em vez de provocar uma reação positiva dos leitores, atraem principalmente desprezo (como refletido em um fluxo de comentários negativos).
Muitas pessoas parecem estar bravas “com Gutenberg” (veremos daqui a pouco o que Gutenberg realmente é), expressando que Gutenberg nunca deveria ter acontecido ou, pelo menos, nunca ter sido integrado ao núcleo do WordPress como sua experiência padrão, ou pelo menos não tão cedo. Diferentes pessoas têm diferentes razões para se opor a Gutenberg, com algumas de suas razões sendo mais significativas pessoalmente do que outras. Por exemplo, algumas pessoas viram seus meios de subsistência comprometidos, tendo trabalhado duro para se especializar em uma determinada solução que, devido à chegada de Gutenberg, corre o risco de desaparecer (como qualquer pessoa que trabalhe com essa marca ou aquela marca de construtores de páginas). Posso realmente entender por que essas pessoas estão com raiva de Gutenberg e simpatizo com elas.
No entanto, também acredito que ficar infinitamente irritado com Gutenberg e descartar tudo – sem sequer considerar se vale a pena usá-lo – não é uma abordagem sensata. Quando foi lançado inicialmente, eu me opus bastante a Gutenberg, pensando que não estava pronto, e essa postura durou vários meses. No entanto, ultimamente tenho me visto usando cada vez mais o Gutenberg, e posso até afirmar que, hoje em dia, estou realmente gostando. Embora no início eu também estivesse um pouco irritado “com Gutenberg”, deixei minha raiva ir embora e agora posso realmente me beneficiar dela.
Através deste artigo, tentarei mudar a narrativa sob a qual Gutenberg é mais comumente retratado. Vou enumerar o que deu errado no passado e descrever o que Gutenberg foi e o que é, a partir do qual posso dar um salto de fé para apresentar Gutenberg sob uma luz favorável. Também argumentarei que Gutenberg já é uma força positiva e, como tal, merece outra chance (se você ainda não o fez).
O que realmente é Gutenberg
Do meu ponto de vista, a razão mais importante pela qual Gutenberg não é mais amplamente aceito é que, quando as pessoas falam sobre Gutenberg, elas o igualam a não uma, mas na verdade duas entidades (que se confundem uma com a outra), a saber:
- Gutenberg, o lançamento;
- Gutenberg, o produto.
Gutenberg como “o produto” é o próprio plugin/funcionalidade. Gutenberg como “o lançamento” foi o processo que envolveu o desenvolvimento inicial e o lançamento do Gutenberg, possivelmente começando quando o fundador do WordPress, Matt Mullenweg, apresentou Gutenberg para um público mais amplo em junho de 2017 durante o WordCamp Europe 2017 e terminando no início de dezembro de 2018, quando o WordPress 5.0 foi lançado. lançado com Gutenberg fundido nele.
(Após o lançamento, iniciou-se uma nova etapa que continua até hoje: O “Ciclo de entrega contínua de Gutenberg”. No entanto, esta etapa é muito diferente de “Gutenberg, o lançamento”, pois não houve problemas sérios com ela e como tal não produz qualquer equívoco em relação a “Gutenberg o produto”. Por esta razão, não há necessidade de falar sobre isso neste artigo.)
Devemos distinguir entre as duas entidades, “o lançamento” e “o produto”. Como tal, a partir de agora, espero que quando nos referirmos a “Gutenberg” invariavelmente signifique “Gutenberg o produto”, e se quisermos referenciar “Gutenberg o lançamento” então devemos nomeá-lo explicitamente (possivelmente usando qualquer uma de suas variações , como “desenvolvimento/lançamento inicial de Gutenberg” ou frases semelhantes). Mais importante ainda, devemos evitar misturar o lançamento e o produto no mesmo saco: Mencionar qualquer fator que tenha contribuído para o lançamento decepcionante de Gutenberg como razão para não usar Gutenberg em nossos projetos deve ser eliminado, e Gutenberg como produto deve ser julgado apenas contra suas próprias qualidades. Isso está sendo justo com o produto de Gutenberg.
Acredito que, enquanto “Gutenberg o lançamento” foi justamente criticado, o constante desprezo dirigido a Gutenberg o produto foi injusto (mesmo se justificado), e que Gutenberg o produto é, ele mesmo, vítima da manchada reputação conferida ao nome "Gutenberg" durante seu lançamento frustrante. Por exemplo, ao pesquisar por “Gutenberg” no diretório de plugins do WordPress, porque o algoritmo que decide os fatores de classificação do plugin na classificação dos plugins, Gutenberg aparece apenas na 10ª posição. No entanto, muitas das classificações de 1 estrela não teriam ocorrido se Gutenberg não tivesse sido incorporado ao núcleo; se ele tivesse sido lançado inicialmente apenas como um plug-in e esperado até que os bugs e problemas mais importantes (como a falta de acessibilidade) fossem resolvidos antes de mesclar ao núcleo, sua classificação hoje seria maior.
Se formos capazes de separar as duas entidades (o lançamento e o produto) e lidar com elas separadamente, então, por um lado, podemos fazer uma autópsia do que deu errado durante o lançamento de Gutenberg e alimentar esse conhecimento na entrega contínua atual ciclo, para que os mesmos erros não se repitam (na verdade, isso parece já estar acontecendo, como descreverei a seguir); por outro lado, podemos nos permitir apreciar Gutenberg como um produto, adicioná-lo às nossas pilhas e esperamos nos beneficiar dele.
Farei exatamente isso, do meu ponto de vista.
O que deu errado durante o lançamento de Gutenberg
Em uma única frase, a equipe que lidera o processo estragou tudo (essa é a maneira educada de dizer isso).
O WordPress 5.0 com o Gutenberg mesclado foi lançado no início de dezembro de 2018, pouco antes do WordCamp US. Lançá-lo então foi a decisão errada, por uma razão muito simples: Gutenberg ainda não estava pronto. Em particular, a situação de acessibilidade era muito terrível, com Gutenberg sendo quase inútil por meio de dispositivos de acessibilidade, como leitores de tela, efetivamente tornando qualquer pessoa dependente de tais dispositivos incapaz de usar o editor do WordPress. E porque a comunidade WordPress é muito ativa na proteção dos direitos de todos (literalmente todos) de poder acessar a Internet, esse lançamento apressado não foi bem recebido.
Matt Mullenweg (que estava liderando o processo de lançamento) pode ter boas razões para ser inflexível sobre o lançamento nessa data, o que poderia, por exemplo, fazer sentido do ponto de vista comercial. No entanto, certamente não fazia sentido do ponto de vista da comunidade. De fato, muitos membros da comunidade se sentiram traídos, reclamando que tinham que se apressar para testar os sites de seus clientes mesmo estando de férias. Podemos dizer com segurança que, para muitas pessoas, um lançamento tão prematuro foi percebido como um desastre (mesmo que o software estivesse funcionando corretamente, então nenhum Y2K realmente aconteceu), o que criou um descontentamento desnecessário e que poderia ter sido perfeitamente evitado adiando o lançamento, ou lançando primeiro o Gutenberg como um plug-in a ser mesclado no núcleo em um estágio posterior e mais estável.
A dor, a frustração e a decepção infligidas à comunidade realmente valeram o custo? Acredito que a maioria das pessoas dirá que não foi. Eu absolutamente acho que não foi. Na minha opinião, esse tipo de situação em que uma ação é tomada contra a vontade da maioria dos membros da comunidade deve ser evitada no futuro (a menos que haja razões realmente boas para isso, mesmo que nem todos concordem com elas; se isso foi o caso do lançamento de Gutenberg eu não sei, pois desconheço qualquer razão realmente boa para justificá-lo).
Em sua apresentação durante o mesmo WordCamp US, Matt Mullenweg reconheceu que erros foram cometidos durante o lançamento do Gutenberg e que ele aprendeu a lição para que esses erros não se repitam. Acho que podemos aceitar seu pedido de desculpas e confiar que suas decisões serão as corretas da próxima vez (mesmo que novas discussões sobre tópicos igualmente importantes tenham ocorrido desde então). No entanto, o dano já está feito: uma ferida se abriu e pode levar tempo para cicatrizar, então a comunidade ficará menos confiante até que a confiança na liderança do WordPress seja totalmente restaurada.
Por que as coisas parecem estar muito melhores agora
Agora vem a boa notícia: a situação parece ter tomado uma direção positiva, com as melhorias listadas abaixo já acontecendo.
Comunicação melhorada
Uma das maiores reclamações sobre o lançamento de Gutenberg foi a falta de comunicação por parte da liderança. Como não havia canais adequados para gerenciar o projeto e comunicar suas decisões (pelo menos não de maneira abrangente), era difícil ter uma imagem precisa da situação geral. (Por exemplo, informações de diferentes autores ou equipes foram publicadas por diferentes vias, incluindo não oficiais, como blogs pessoais.)
Essa preocupação foi muito melhorada. Em particular, a quantidade de informação nos blogs make (onde as diferentes comunidades interagem para tomar decisões relativas ao WordPress para diferentes áreas, como core, acessibilidade, design, internacionalização e outras) e a frequência com que a informação é atualizada foram aumentou, e cada equipe realiza uma reunião regular baseada no Slack (a maioria ocorre semanalmente ou quinzenalmente) na qual qualquer pessoa com uma conta de usuário do WordPress.org pode participar. Conforme vivenciado por alguns membros da comunidade, agora é possível acompanhar com segurança os desenvolvimentos de algum tópico e ter informações suficientes para poder se envolver.
As consequências do lançamento de Gutenberg também levaram Matt Mullenweg a expandir a liderança do WordPress com duas novas funções: um diretor executivo, para supervisionar e dirigir todas as equipes de colaboradores em seu trabalho para construir e manter o WordPress, e um líder de marketing e comunicações, para liderar a equipe de marketing e supervisionar a melhoria do WordPress.org, sites relacionados e todos os seus pontos de venda (infelizmente, a pessoa designada para essa função desistiu pouco tempo depois, então outra pessoa deve ser encontrada para assumir essa posição).
Equipe de triagem formada para lidar com problemas em aberto
Durante a fase inicial de desenvolvimento do Gutenberg, várias pessoas reclamaram que os bugs existentes, que se acumularam aos milhares, deveriam ser corrigidos antes de se aventurar a adicionar novas funcionalidades ao WordPress.
Em março deste ano, uma equipe de triagem foi formada para limpar os problemas em aberto no rastreador de bugs do WordPress Trac. Este é um trabalho árduo que foi necessário por muitos anos. Se algum dia terminar, o WordPress teria a chance de mudar do Trac para um rastreador de bugs mais moderno, como o GitHub.
A acessibilidade está se tornando um não-problema
Problemas de acessibilidade estão sendo abordados em cada nova versão do Gutenberg, com a versão 6.3 fornecendo a maior parte das melhorias. No ritmo atual de melhoria, os problemas de acessibilidade mais pendentes (conforme relatado na Auditoria de Acessibilidade de Gutenberg) devem em breve fazer parte do passado.
Julgando Gutenberg por seus próprios méritos
Agora que separamos o Gutenberg do lançamento do produto Gutenberg, podemos analisar o Gutenberg como um produto e decidir se vale a pena adicionar à nossa pilha de aplicativos, com base apenas em seus próprios méritos e deficiências. Muitas pessoas apontam com razão os problemas de Gutenberg como a razão para não confiar nele (em vez de se concentrar no lançamento fracassado). No entanto, Gutenberg vem melhorando aos trancos e barrancos, e muitos dos problemas criticados podem ter sido resolvidos ou podem estar à beira de serem resolvidos. Como tal, as avaliações negativas devem ter um prazo de validade e ser reavaliadas. Se pudermos dar uma nova chance a Gutenberg e ver onde está hoje, podemos apreciar que, afinal, não é tão ruim. Na minha opinião, Gutenberg merece uma recepção mais calorosa do que recebe atualmente.
Estou surpreso que o Gutenberg ainda esteja sendo comparado com a forma anterior de editar conteúdo no WordPress (principalmente através do tinymce, mas também shortcodes, widgets e outros), argumentando que é mais difícil codificar através do Gutenberg. Isso pode ser verdade, mas também está perdendo o ponto: Gutenberg não está aqui para fornecer uma nova maneira de codificar nosso aplicativo, produzindo os mesmos recursos do passado; em vez disso, está aqui para aprimorar muito o que pode ser feito, oferecendo recursos para adicionar aos nossos aplicativos que só podiam ser sonhados no passado. Além disso, Gutenberg não é outro construtor de páginas. De fato, comparar o Gutenberg com o Divi ou o Beaver Builder também está perdendo o ponto, porque é como comparar um Victorinox com uma faca comum: Sim, você pode fazer a construção de sites/páginas com Gutenberg (na verdade ainda não, mas já é um trabalho em progresso), mas esse é apenas um de seus muitos usos; existem vários outros usos que estão inicialmente ocultos, mas assim que você os puxar para fora de seu compartimento e entender como eles funcionam, um novo mundo de possibilidades será revelado. Abaixo, descreverei algumas dessas novas possibilidades que Gutenberg traz para a mesa.
Primeiro, vamos discutir o que não é tão bom em Gutenberg. A única coisa em que acredito que Gutenberg pode ser realmente considerado prejudicial é na curva íngreme de aprendizado do React (que é a biblioteca JavaScript com a qual o Gutenberg é codificado). O WordPress sempre foi muito inclusivo, permitindo que pessoas de qualquer formação (não apenas programadores, mas também não-técnicos, como blogueiros, pessoas de marketing, vendedores e afins) criem um tema ou plugin ou lancem um site. Isso sem dúvida não é mais o caso, e é injusto esperar que todos tenham que aprender React para criar um bloco Gutenberg (isso não é necessariamente o caso, já que também podemos criar blocos usando outras bibliotecas JavaScript, e mesmo sem usar JavaScript , como por meio de blocos ACF, no entanto, usar o React é a opção mais lógica, mesmo porque o Gutenberg é codificado com ele). O único argumento que poderia justificar essa desvantagem é se ela torna a experiência melhor para o usuário. Vamos ver se isso pode ser considerado o caso.
Como argumentei em um artigo meu anterior, a arquitetura baseada em blocos de Gutenberg muda radicalmente a maneira como os aplicativos são construídos: em vez de pensar em código HTML, agora podemos pensar em termos de componentes como a unidade para construir o site. Essa arquitetura é mais sustentável e resiliente, pois cada componente (ou bloco) pode ser desenvolvido e testado independentemente e, por ser facilmente reutilizável, pode reduzir o custo de desenvolvimento de vários aplicativos. De fato, a popularidade recente de bibliotecas JavaScript, como Vue e React, pode ser muito atribuída ao suporte a componentes. É um ótimo recurso que os desenvolvedores adoram e que, acredito, uma vez que você começa a codificar, não há como voltar atrás.
Neste mesmo artigo, também descrevo como Gutenberg poderia apoiar a estratégia “Create Once, Publish Everywhere” (também conhecida como “COPE”), permitindo produzir uma única fonte de verdade de conteúdo para alimentar todos os nossos aplicativos, para qualquer meio ou plataforma em que são executados: web, e-mail/newsletters, aplicativos iOS/Android, VR/AR, assistentes domésticos (como Amazon Alexa) e outros. Por tornar o gerenciamento geral de conteúdo muito mais simples, o COPE também permite reduzir os custos de produção de conteúdo para diferentes plataformas. Quando escrevi meu artigo pela primeira vez, estava teorizando que isso poderia ser feito. No entanto, implementei recentemente o COPE para WordPress e funciona como um encanto! (Fique atento a outro artigo em que explico em detalhes como funciona.)
A combinação do COPE e das APIs do WordPress (WP REST API, WPGraphQL e minha própria API PoP) fornecerá um motivo convincente para gerenciar todo o nosso conteúdo, para todos os nossos aplicativos, por meio do WordPress. A outra razão convincente será a facilidade de uso do Gutenberg (que ainda não está totalmente aqui, mas no ritmo atual de desenvolvimento, chegará mais cedo ou mais tarde), permitindo que o usuário final crie conteúdo elaborado de uma maneira muito simples.
Já temos acesso a ótimos novos recursos, como uma visualização em tempo real da aparência do conteúdo, copiar/colar do Google Docs com formatação perfeita, criação de camadas de grade complexas com elementos aninhados e muitos outros. Também podemos esperar que novos blocos forneçam recursos totalmente inesperados que nunca imaginamos. Minha aposta é que, por meio de Gutenberg, o WordPress está prestes a se tornar o gerenciador de ativos digitais da web. (Já escrevi um artigo que em breve será publicado aqui na Smashing Magazine sobre este tema e minha justificativa para esta afirmação ousada.)
Além disso, Gutenberg permite reutilizar código com outros CMSs ou frameworks (como Drupal e Laravel), para que a codificação para WordPress não precise mais ficar restrita ao WordPress, mais uma vez nos permitindo reduzir o custo para desenvolver uma biblioteca que precisa ser executado em tantos sistemas quanto possível (por exemplo, uma empresa que fornece uma integração de sua API para muitas plataformas e linguagens diferentes, como Stripe, pode se beneficiar disso). Atualmente, apenas o código do lado do cliente (JavaScript e CSS) parece ser reutilizado, no entanto, o código PHP do lado do servidor também pode ser reutilizado. (Vou, mais uma vez, publicar em breve um artigo sobre Smashing explicando como fazer exatamente isso.)
Esses recursos já são uma realidade, e podemos esperar que Gutenberg forneça muitas razões mais convincentes para sua existência nos próximos anos (de acordo com Matt Mullenweg, Gutenberg implementou atualmente apenas 10% de seu potencial).
Podemos finalmente tentar chegar a um veredicto sobre o produto Gutenberg: Minha posição é que ele estabelece uma barreira maior de entrada no WordPress, o que é lamentável, no entanto, também é um software lindamente projetado que concede novos poderes reais ao WordPress e , devido ao destaque do WordPress, para o mundo do desenvolvimento web em geral. E entre esse trade-off entre custos e benefícios, acredito que ter Gutenberg como parte do WordPress vale mais a pena do que não. Espero que você possa concordar com minha opinião ou, se não, pelo menos as razões contra ela podem ser baseadas apenas nas características do Gutenberg como produto.
Conclusão
O Gutenberg está atualmente no seu melhor – tendo começado a fornecer experiências de usuário agradáveis que não eram possíveis com o WordPress antes. No entanto, nem todos estão cientes desse fato, porque nem todos podem abraçar Gutenberg. Esta é uma circunstância infeliz porque o Gutenberg (como o produto) não deve ser culpado pelos erros que ocorreram durante o lançamento do Gutenberg. Se conseguirmos separar essas duas entidades e tratar cada uma delas de forma independente, podemos pedir de forma convincente às pessoas que deem outra chance a Gutenberg , sugerindo que vale a pena ter Gutenberg como produto, mesmo que o lançamento de Gutenberg tenha sido um processo falho.
Neste artigo, fiz uma autópsia do lançamento fracassado de Gutenberg, com base em minha própria compreensão dos eventos. A realização de tal autópsia pode ajudar a comunidade e a liderança a garantir que esses erros infelizes não aconteçam novamente. Após a autópsia, passei a avaliar Gutenberg com base em seus próprios méritos e declarei minha posição: acredito que Gutenberg é uma ótima ferramenta para se ter, e a comunidade WordPress certamente pode se beneficiar dela. E porque só vai ficar cada vez melhor, Gutenberg pode até inaugurar uma nova era de ouro para o WordPress.