O WordPress SDK 2.5.0-RC.1 está pronto para testes: resolução de clones, aprimoramentos de UX de feedback de desativação, mistura de ativos e muito mais

Publicados: 2022-01-18

É oficial! O WordPress SDK 2.5.0 RC1 já está disponível com melhorias impressionantes (e relevantes) que abordam o que identificamos como seus principais problemas comuns e demorados até o momento.

Nosso objetivo com esta versão é ajudá-lo a reduzir a carga de suporte para que você possa alocar mais tempo para entregas e outras atividades mais produtivas.

Antes de mergulharmos nos recursos, precisamos da sua ajuda 🙌

Chamada para testadores

Apesar de termos executado testes completos de todos os tipos (testes automatizados, manuais e de regressão), e embora nos sintamos bastante confiantes na estabilidade do 2.5.0, devido à complexidade e quantidade de alterações de código e casos de uso envolvidos nesta versão , decidimos empurrá-lo como candidato a lançamento primeiro.

“Quero me envolver nos testes – como posso ajudar?”

Quer nos ajudar nos testes? Isso é ótimo e apreciado!

  • Se você estiver executando um programa beta, basta atualizar o SDK para este RC e enviar uma nova versão como beta .
  • Se você não estiver executando um programa beta e souber que alguns de seus clientes estão executando ambientes clonados como preparação para produção ou usando seu plug-in/tema com plug-ins WaaS como WP Ultimo, quando eles entrarem em contato com o suporte devido a problemas de SDK, você poderá enviar um versão especial do seu produto com este SDK, pois ele deve resolver seus problemas.

Independentemente disso, se você experimentar o RC, se tiver problemas ou, pelo contrário, se resolver os problemas do SDK que seus usuários estavam enfrentando antes, informe-nos! Basta entrar em contato conosco via [email protected], abrir um problema no GitHub ou usar qualquer outro canal de comunicação que seja mais fácil para você - queremos seu feedback

Vamos às características.

Sites duplicados e resolução de clones

Com a crescente popularidade das redes WaaS (WordPress as a Service) e das empresas de hospedagem que fornecem testes de 1 clique para fluxos de trabalho de implantação de produção, você provavelmente já lidou com clientes reclamando de problemas inesperados quando a duplicação de sites está envolvida.

Em suma, um clone é um site (ou um subsite) que possui um ID exclusivo e um par de chaves públicas/secretas que foram atribuídas pelo Freemius e são idênticas ao ID e às chaves de outro site. Você pode aprender mais sobre clones, como eles são normalmente criados e quando, neste documento.

Inspirado na interface do usuário do Jetpack, tenho o prazer de compartilhar que esta versão do SDK vem com um mecanismo completo de identificação, gerenciamento e resolução de clones. É um recurso que está em segundo plano há algum tempo, e eu recomendo que você se familiarize com o problema de sites clones e como o SDK do WordPress lida com isso para tirar o máximo proveito do aprimoramento:

Aviso de resolução de clone manual do SDK Freemius

Aprimoramentos de UX do formulário de feedback de desativação

Suspensão para solucionadores de problemas

Embora nosso formulário de feedback de desativação ofereça uma oportunidade única para os usuários fornecerem feedback aos proprietários do produto antes que eles abandonem, ao longo dos anos ouvimos reclamações de que os usuários realmente odeiam o recurso. Após analisar o feedback, conseguimos atribuir esse sentimento especificamente ao segmento de 'solucionadores de problemas'.

Atualizações de plugins são uma tarefa comum com a qual os mantenedores de sites precisam lidar diariamente. Às vezes, uma atualização de plugin/tema pode dar errado devido a conflitos, bugs e incompatibilidades, causando problemas e erros inesperados em um site. Os mantenedores geralmente não mergulham no nível do código, portanto, o processo comum de solução de problemas é identificar a causa do problema com as desativações e reativações de plugins, seguidas pela troca de temas. Ou seja, você precisa desativar os plugins um a um até que o problema seja resolvido, depois reativá-los individualmente e na mesma ordem em que foram desativados. Em teoria, isso deve ajudar a isolar o plugin 'problemático', mas se não descobrir o problema, a próxima tentativa deve ser uma 'troca de tema'.

À medida que a 'pegada' de temas e plugins que usam nosso WordPress SDK cresce, o formulário de feedback de desativação adiciona um clique adicional a cada desativação. A partir daí, reativar um plug-in com tecnologia Freemius redireciona automaticamente para a tela de ativação ou para a página de configurações principais do plug-in (com base no estado de ativação), que adiciona outro clique para navegar de volta à página de plug-ins.

Isso significa que apenas 5 plugins usando Freemius em um site podem adicionar 10 cliques extras - algo que é compreensivelmente irritante para os solucionadores de problemas. E ao gerenciar 20 sites, por exemplo, todos esses cliques se acumulam ao longo do tempo, o que explica por que alguns mantenedores realmente não gostam do SDK do WordPress.

Tendo entendido as razões por trás do 'ódio', criamos uma solução simples para aliviar a 'dor' dos solucionadores de problemas e, esperamos, reconquistar um pouco da confiança deles.

O Formulário de Feedback já exibe uma opção que indica que uma desativação é temporária para solução de problemas. Então, em vez de apenas enviar esse feedback para nós…

  1. Agora mostramos uma opção para adiar o painel de uma hora para 30 dias.
  2. Como percebemos que isso não agrega nenhum valor aos proprietários de produtos, optar por adiar pula o envio de feedback para o Freemius.
  3. Por fim, se o administrador adiar o formulário, o redirecionamento será desativado pelo período adiado.

Suspensão do formulário de feedback do Freemius WordPress SDK

A soneca afetará apenas o administrador conectado no momento e funcionará em todos os plugins e temas do Freemius instalados nesse site.

Esse UX aprimorado pode potencialmente economizar toneladas de cliques para solucionadores de problemas "pesados", e estamos animados para ver a diferença que isso fará.

Ativar desativação com feedback 'Outro' vazio

Para incentivar os usuários a enviar comentários, você pode agir anteriormente, quando um usuário selecionava a opção 'Outro' no formulário de feedback de desativação, o estado do botão 'Enviar e desativar' era alterado para desabilitado até que o usuário inserisse alguma entrada para explicar o ' Outra razão.

Chamamos a nossa atenção que esse UX era problemático porque os usuários leem do canto superior esquerdo e alguns escolhem essa opção porque simplesmente não querem fornecer nenhum feedback. Ou seja, se eles escolherem essa opção antes de perceberem que há uma opção para 'Skip & Deactivate', dá a impressão de que é impossível desativar o produto sem fornecer nenhum feedback.

Agora, quando a opção 'Outro' é selecionada e a caixa de explicação está vazia, o botão é habilitado e rotulado como 'Desativar':

Formulário de feedback do Freemius WordPress SDK Motivo Outro

E, obviamente, nenhum dado será enviado para o nosso fim porque o feedback vazio de 'Outros' é inútil.

Estado da caixa de seleção padrão de feedback anônimo

Se um usuário ignorou o opt-in e optou por fornecer feedback usando o formulário de feedback de desativação, por padrão, o feedback não era anônimo para permitir que você entre em contato com o usuário, se necessário. Esta versão do SDK apresenta um novo filtro para que você possa controlar o modo de envio padrão do formulário de feedback e alterá-lo para feedback anônimo por padrão, usando o seguinte:

my_fs()->add_filter( 'default_to_anonymous_feedback', '__return_true' );

Mistura de Propriedade de Ativos do Usuário — Acabou!

Uma porcentagem saudável de compras de plugins e temas do WordPress é feita por 'construtores', onde eventualmente o projeto é entregue ao cliente. Para facilitar o relacionamento, oferecemos uma boa flexibilidade para permitir a mudança de propriedade dos ativos da conta de uma pessoa para outra.

Sem mergulhar nos detalhes técnicos, com os muitos milhões de sites executando nosso SDK, nos deparamos com vários casos extremos que inesperadamente misturaram ativos entre contas. Embora esses problemas não sejam frequentes, é doloroso para o cliente, para você e para nós corrigi-los.

Se houve um concurso para os problemas mais irritantes e demorados, este é o vencedor indiscutível de 2020–2021 🏆 Também é um bom exemplo de onde dar muita flexibilidade sem tentar prever todos os casos de uso (e você nunca vontade) pode causar mais danos do que benefícios.

Não apenas adicionamos algumas restrições no back-end para reduzir as instâncias do problema, mas a nova versão do SDK do WordPress também aprimora a experiência de atualização de e-mail da conta com entrada adicional do usuário e trata cada caso de maneira ligeiramente diferente:

Atualização de endereço de e-mail do Freemius WordPress SDK

Correção de HTTP 404 não encontrado (também conhecido como 'Sem atualizações')

Alguns de vocês podem ter recebido tíquetes de suporte onde os clientes reclamaram que o SDK está gerando erros e deixando o sistema lento, normalmente com uma captura de tela complementar de um erro do Debug Log (ou outros plugins de depuração).

Atualização do plug-in do Query Monitor Freemius API 404 não encontrado

Os erros HTTP foram retornados quando não havia versões mais recentes, que é o comportamento esperado de uma implementação adequada de API RESTful quando um recurso não existe.

Como não é trivial entender que esse comportamento é esperado até entrar em contato conosco e gerou tickets de suporte desnecessários para você (e para nós), modificamos o código de resposta HTTP para 200 para eliminar essa confusão de uma vez por todas. Essa alteração da API já foi implantada há várias semanas, portanto, há uma boa chance de você ter notado que esse tipo de reclamação desapareceu.

Olhando para trás, agora reconhecemos que deveríamos ter feito essa mudança muito antes. É só que às vezes a coisa técnica 'certa' não é 'certa' para o usuário final.

Tolerância a falhas para problemas de conectividade em segundo plano

Algumas semanas atrás, a AWS teve um tempo de inatividade temporário. Como hospedamos nossos servidores na Amazon, naturalmente, o tempo de inatividade causou problemas de conectividade ao nosso servidor de API. Os sites em que o cron de sincronização do Freemius foi executado durante esse período foram adicionados com um aviso descartável sobre o problema de conectividade, causando várias consultas de suporte de usuários preocupados. O objetivo do aviso é destacar problemas de conectividade contínuos devido a firewalls, bloqueios de ISP, etc. Ele não é feito para problemas de conectividade temporários. Portanto, melhoramos a lógica colocando um mecanismo de tolerância a falhas em vigor, para que o aviso seja adicionado apenas após 3 tentativas consecutivas de conectividade com falha (normalmente 3 dias).

Resolução de funções de rede multissite obsoletas

wpmu_new_blog() e deleted_blog() foram preteridos no WP 5.1, que estava lançando um aviso ao ser executado no modo de depuração. Atualizamos a integração multisite para usar wp_insert_site() e wp_delete_site() de forma correspondente ao executar em novas versões do WordPress. Obrigado Dario Curvino pela sua contribuição 🙌

Novos filtros

Introduzimos um novo filtro hide_freemius_powered_by para permitir que você oculte a guia Powered by Freemius das páginas geradas pelo SDK:

my_fs()->add_filter( 'hide_freemius_powered_by', '__return_false' );

E outro filtro chamado hide_billing_and_payments_info para ocultar o histórico de cobrança e pagamentos mostrado por padrão aos clientes na página Conta:

my_fs()->add_filter( hide_billing_and_payments_info', '__return_true' );

Ativação de licença 'anônima' - nós ouvimos você!

Como uma startup ou qualquer tipo de negócio, você tem recursos limitados no início. O foco número um é chegar ao ajuste do produto/mercado, o que naturalmente força você a priorizar e fazer sacrifícios. Quando começamos o Freemius, nossa análise do mercado WordPress era que os DIYers representam a maior porcentagem de usuários no ecossistema. Por isso, algumas das práticas e UX foram pensadas para esse segmento. À medida que amadurecemos, nos últimos dois anos fizemos um esforço tremendo para aplicar o feedback coletado ao longo dos anos para melhor atender às necessidades de mantenedores e construtores. Embora essa seja uma porcentagem muito menor de usuários do WordPress, é extremamente apaixonada e importante!

Nesta fase, a grande maioria do feedback comportamental recebido ao longo dos anos já estava incorporado ao WordPress SDK. Mas ainda há uma solicitação repetitiva que geralmente vem de usuários experientes em tecnologia com maior sensibilidade à privacidade: “Por que preciso aceitar ao ativar uma chave de licença?”

Embora coletemos apenas algumas métricas básicas que beneficiam usuários e fabricantes de produtos na ativação da licença - como a versão do WordPress, a versão do PHP e a localidade do site (as informações completas estão documentadas em nossa nova página de práticas de dados) - é uma preocupação justa que nós queria abordar para que os usuários possam desfrutar de seus produtos com confiança.

Portanto, na próxima versão, planejamos introduzir uma nova opção para ativação de licença sem compartilhar dados que não são essenciais para ativação de licença e entrega de atualizações. Em vez de retrabalhar a arquitetura de dados, mascararemos os dados com valores fictícios para oferecer privacidade máxima. Lembre-se de que ainda precisaríamos coletar o URL e o IP do site, a versão do SDK e se o produto está ativo ou inativo. Mas é isso!

Até a próxima vez

Tem comentários para a próxima ativação de licença 'anônima'? Tem algum recurso em mente que você gostaria que considerássemos? Sinta-se à vontade para adicioná-los ao nosso quadro do Trello e, enquanto isso, boas vendas!