WordPress SDK 2.5.0-RC.1 est prêt à être testé : résolution de clonage, améliorations de l'expérience utilisateur de retour de désactivation, mélange d'actifs, etc.
Publié: 2022-01-18C'est officiel! WordPress SDK 2.5.0 RC1 est maintenant disponible avec des améliorations impressionnantes (et pertinentes) qui s'attaquent à ce que nous avons identifié comme vos problèmes les plus courants et les plus chronophages à ce jour.
Notre objectif avec cette version est de vous aider à réduire la charge de support afin que vous puissiez consacrer plus de temps aux livrables et à d'autres activités plus productives.
Avant de plonger dans les fonctionnalités, nous avons besoin de votre aide 🙌
Appel à testeurs
Même si nous avons effectué des tests approfondis de toutes sortes (tests automatisés, manuels et de régression), et bien que nous soyons assez confiants dans la stabilité de 2.5.0, en raison de la complexité et de la quantité de modifications de code et de cas d'utilisation impliqués dans cette version , nous avons décidé de le proposer d'abord en tant que release candidate.
"Je veux être impliqué dans les tests - comment puis-je aider?"
Vous voulez nous aider dans les tests ? C'est super et apprécié !
- Si vous exécutez un programme bêta, mettez simplement à jour le SDK vers ce RC et poussez une nouvelle version en tant que bêta .
- Si vous n'exécutez pas de programme bêta et que vous savez que certains de vos clients exécutent des environnements clonés comme la mise en production ou utilisent votre plugin/thème avec des plugins WaaS comme WP Ultimo, lorsqu'ils contactent votre support en raison de problèmes de SDK, vous pouvez leur envoyer un version spéciale de votre produit avec ce SDK car il devrait résoudre leurs problèmes.
Quoi qu'il en soit, si vous essayez le RC, que vous rencontriez des problèmes ou, au contraire, s'il résout les problèmes de SDK auxquels vos utilisateurs étaient confrontés auparavant, faites-le nous savoir ! Contactez-nous simplement via [email protected], ouvrez un problème GitHub ou utilisez tout autre canal de communication qui vous convient le mieux - nous voulons vos commentaires
Passons aux fonctionnalités.
Sites Web en double et résolution des clones
Avec la popularité croissante des réseaux WaaS (WordPress en tant que service) et des sociétés d'hébergement qui fournissent une mise en scène en un clic des flux de travail de déploiement de production, vous avez probablement déjà eu affaire à des clients se plaignant de problèmes inattendus en cas de duplication de site.
En bref, un clone est un site Web (ou un sous-site) qui possède un identifiant unique et une paire de clés publiques/secrètes qui ont été attribuées par Freemius et qui sont identiques à l'ID et aux clés d'un autre site Web. Vous pouvez en savoir plus sur les clones, comment ils sont généralement créés et quand, dans ce document.
Inspiré par l'interface utilisateur de Jetpack, je suis ravi de partager que cette version du SDK est livrée avec un mécanisme complet d'identification, de gestion et de résolution des clones. C'est une capacité qui est en veilleuse depuis un certain temps, et je vous encourage vivement à vous familiariser avec le problème des sites Web clonés et la façon dont le SDK WordPress le gère pour tirer le meilleur parti de l'amélioration :
Améliorations de l'expérience utilisateur du formulaire de commentaires sur la désactivation
Snoozing pour les dépanneurs
Bien que notre formulaire de commentaires sur la désactivation offre une occasion unique aux utilisateurs de fournir des commentaires aux propriétaires de produits avant qu'ils n'abandonnent, au fil des ans, nous avons entendu des plaintes selon lesquelles les utilisateurs détestent vraiment la fonctionnalité. Après avoir analysé les commentaires, nous avons réussi à attribuer ce sentiment spécifiquement au segment "dépanneurs".
Les mises à jour des plugins sont une tâche courante que les responsables de sites Web doivent gérer quotidiennement. Parfois, une mise à jour de plugin/thème peut mal tourner en raison de conflits, de bogues et d'incompatibilités, provoquant des problèmes et des erreurs inattendues sur un site. Les mainteneurs ne plongent généralement pas dans le niveau de code, donc le processus de dépannage courant consiste à identifier la cause du problème avec les désactivations et réactivations de plugins, suivies d'un changement de thème. Cela signifie que vous devez désactiver les plugins un par un jusqu'à ce que le problème soit résolu, puis les réactiver individuellement et dans le même ordre qu'ils ont été désactivés. En théorie, cela devrait aider à isoler le plugin "problématique", mais s'il ne découvre pas le problème, la prochaine tentative devrait être un "changement de thème".
Au fur et à mesure que «l'empreinte» des thèmes et des plugins qui utilisent notre SDK WordPress augmente, le formulaire de commentaires de désactivation ajoute un clic supplémentaire à chaque désactivation. À partir de là, la réactivation d'un plug-in alimenté par Freemius redirige automatiquement vers l'écran d'inscription ou vers la page principale des paramètres du plug-in (basée sur l'état d'opt-in), ce qui ajoute un autre clic pour revenir à la page des plug-ins.
Cela signifie que seulement 5 plugins utilisant Freemius sur un site peuvent potentiellement ajouter 10 clics supplémentaires, ce qui est naturellement ennuyeux pour les dépanneurs. Et lors de la gestion de 20 sites, par exemple, tous ces clics s'accumulent au fil du temps, ce qui explique pourquoi certains mainteneurs n'aiment vraiment pas le SDK WordPress.
Ayant compris les raisons de la "haine", nous avons trouvé une solution simple pour soulager la "douleur" des dépanneurs et, espérons-le, regagner une partie de leur confiance.
Le formulaire de commentaires affiche déjà une option qui indique qu'une désactivation est temporaire pour le dépannage. Ainsi, au lieu de simplement nous envoyer ces commentaires…
- Nous montrons maintenant une option pour répéter le panneau d'une heure à 30 jours.
- Parce que nous réalisons que cela n'ajoute aucune valeur aux propriétaires de produits, choisir de répéter ignore complètement l'envoi de commentaires à Freemius.
- Enfin, si l'administrateur met en attente le formulaire, la redirection sera désactivée pendant la période de mise en attente.
La répétition n'aura d'impact que sur l'administrateur actuellement connecté et fonctionnera sur tous les plugins et thèmes alimentés par Freemius installés sur ce site Web.
Cette UX améliorée peut potentiellement économiser des tonnes de clics pour les dépanneurs "lourds", et nous sommes ravis de voir la différence que cela fera.
Activer la désactivation avec un retour "Autre" vide
Pour encourager les utilisateurs à soumettre des commentaires sur lesquels vous pouvez agir, auparavant, lorsqu'un utilisateur sélectionnait l'option « Autre » dans le formulaire de commentaires de désactivation, l'état du bouton « Soumettre et désactiver » était désactivé jusqu'à ce que l'utilisateur saisisse une entrée pour expliquer le « autre raison.
Il a été porté à notre attention que cette UX était problématique car les utilisateurs lisent en haut à gauche et certains choisissent cette option car ils ne veulent tout simplement pas fournir de commentaires. IE, s'ils choisissent cette option avant de remarquer qu'il existe une option "Ignorer et désactiver", cela donne l'impression qu'il est impossible de désactiver le produit sans fournir de commentaires.
Maintenant, lorsque l'option 'Autre' est sélectionnée et que la boîte d'explication est vide, le bouton est activé et étiqueté comme 'Désactiver' :
Et, évidemment, aucune donnée ne sera envoyée de notre côté car les commentaires vides "Autre" sont inutiles.
État de la case à cocher par défaut des commentaires anonymes
Si un utilisateur a ignoré l'opt-in et a choisi de fournir des commentaires à l'aide du formulaire de commentaires de désactivation, par défaut, les commentaires n'étaient pas anonymes pour vous permettre de contacter l'utilisateur si nécessaire. Cette version du SDK introduit un nouveau filtre afin que vous puissiez contrôler le mode de soumission par défaut du formulaire de commentaires et le changer en commentaires anonymes par défaut, en utilisant ce qui suit :
my_fs()->add_filter( 'default_to_anonymous_feedback', '__return_true' );
Mélange de propriété des actifs utilisateur - Fini !
Un bon pourcentage des achats de plugins et de thèmes WordPress sont effectués par des "constructeurs", où le projet est finalement remis à leur client. Pour faciliter la relation, nous offrons une bonne dose de flexibilité pour permettre le changement de propriété des actifs du compte d'une personne à une autre.
Sans plonger dans les détails techniques, avec les nombreux millions de sites Web exécutant notre SDK, nous sommes tombés sur plusieurs cas extrêmes qui mélangeaient de manière inattendue des actifs entre les comptes. Bien que ces problèmes soient peu fréquents, il est difficile pour le client, pour vous et pour nous de les résoudre.
S'il y avait un concours pour les problèmes les plus ennuyeux et les plus chronophages, celui-ci est le gagnant incontesté de 2020-2021 🏆 C'est aussi un bon exemple où donner trop de flexibilité sans essayer de prévoir tous les cas d'utilisation (et vous ne volonté) peut faire plus de mal que de bien.
Non seulement nous avons ajouté quelques restrictions dans le backend pour réduire les instances du problème, mais la nouvelle version du SDK WordPress améliore également l'expérience de mise à jour par e-mail du compte avec une entrée supplémentaire de l'utilisateur et gère chaque cas légèrement différemment :
Correction de HTTP 404 introuvable (AKA 'Aucune mise à jour')
Certains d'entre vous ont peut-être reçu des tickets d'assistance où les clients se sont plaints que le SDK génère des erreurs et ralentit le système, généralement avec une capture d'écran complémentaire d'une erreur du journal de débogage (ou d'autres plugins de débogage).
Les erreurs HTTP ont été renvoyées lorsqu'il n'y avait pas de versions plus récentes, ce qui est le comportement attendu d'une implémentation d'API RESTful appropriée lorsqu'une ressource n'existe pas.
Puisqu'il n'est pas anodin de comprendre que ce comportement est attendu jusqu'à ce que vous nous contactiez, et qu'il a généré des tickets de support inutiles pour vous (et pour nous), nous avons modifié le code de réponse HTTP à 200 pour éliminer cette confusion une fois pour toutes. Ce changement d'API a déjà été déployé il y a plusieurs semaines, il y a donc de fortes chances que vous ayez remarqué que ce type de plainte a disparu.
Avec le recul, nous reconnaissons maintenant que nous aurions dû faire ce changement beaucoup plus tôt. C'est juste que parfois la « bonne » chose technique n'est pas « bonne » pour l'utilisateur final.
Tolérance aux pannes pour les problèmes de connectivité en arrière-plan
Il y a quelques semaines, AWS a connu une interruption temporaire. Comme nous hébergeons nos serveurs sur Amazon, naturellement, le temps d'arrêt a causé des problèmes de connectivité à notre serveur API. Les sites Web sur lesquels leur cron de synchronisation Freemius a été exécuté pendant cette période ont été ajoutés avec un avis rejetable concernant le problème de connectivité, provoquant de nombreuses demandes d'assistance de la part des utilisateurs concernés. Le but de l'avis est de mettre en évidence les problèmes de connectivité en cours dus aux pare-feu, aux blocages des FAI, etc. Il n'est pas fait pour les problèmes de connectivité temporaires. Par conséquent, nous avons amélioré la logique en mettant en place un mécanisme de tolérance aux pannes, de sorte que l'avis ne sera ajouté qu'après 3 tentatives de connectivité infructueuses consécutives (généralement 3 jours).
Résolution des fonctions de réseau multisite obsolètes
wpmu_new_blog()
et deleted_blog()
étaient obsolètes dans WP 5.1, qui lançait une notification lors de l'exécution en mode débogage. Nous avons mis à jour l'intégration multisite pour utiliser à la place wp_insert_site()
et wp_delete_site()
en conséquence lors de l'exécution sur les nouvelles versions de WordPress. Merci Dario Curvino pour votre contribution 🙌
Nouveaux filtres
Nous avons introduit un nouveau filtre hide_freemius_powered_by
pour vous permettre de masquer l'onglet Powered by Freemius des pages générées par le SDK :
my_fs()->add_filter( 'hide_freemius_powered_by', '__return_false' );
Et un autre filtre nommé hide_billing_and_payments_info
pour masquer l'historique de facturation et de paiement affiché par défaut aux clients dans la page Compte :
my_fs()->add_filter( hide_billing_and_payments_info', '__return_true' );
Activation de licence « anonyme » — Nous vous entendons !
En tant que startup ou tout type d'entreprise, vous avez des ressources limitées au début. L'objectif numéro un est d'arriver à l'adéquation produit/marché, ce qui vous oblige naturellement à établir des priorités et à faire des sacrifices. Lorsque nous avons lancé Freemius, notre analyse du marché de WordPress était que les bricoleurs représentaient le plus grand pourcentage d'utilisateurs de l'écosystème. Par conséquent, certaines pratiques et UX ont été conçues pour ce segment. Au fur et à mesure que nous mûrissons, au cours des deux dernières années, nous avons fait un effort considérable pour appliquer les commentaires recueillis au fil des ans afin de mieux répondre aux besoins des mainteneurs et des constructeurs. Bien qu'il s'agisse d'un pourcentage beaucoup plus faible d'utilisateurs de WordPress, il s'agit d'un pourcentage extrêmement passionné et important !
À ce stade, la grande majorité des commentaires comportementaux reçus au fil des ans étaient déjà intégrés au SDK WordPress. Mais il y a toujours une demande répétitive qui provient généralement d'utilisateurs férus de technologie avec une plus grande sensibilité à la confidentialité : "Pourquoi dois-je m'inscrire lors de l'activation d'une clé de licence ?"
Bien que nous ne collectons que quelques mesures de base qui profitent aux utilisateurs et aux fabricants de produits lors de l'activation de la licence - telles que la version de WordPress, la version de PHP et les paramètres régionaux du site Web (les informations complètes sont documentées dans notre nouvelle page sur les pratiques en matière de données) - il est légitime que nous que vous vouliez adresser afin que les utilisateurs puissent profiter de vos produits en toute confiance.
Ainsi, dans la prochaine version, nous prévoyons d'introduire une nouvelle option pour l'activation de la licence sans partager les données qui ne sont pas essentielles pour l'activation de la licence et la livraison des mises à jour. Au lieu de retravailler l'architecture des données, nous masquerons les données avec des valeurs fictives pour offrir un maximum de confidentialité. Gardez à l'esprit que nous devrons toujours collecter l'URL et l'adresse IP du site Web, la version du SDK et si le produit est actif ou inactif. Mais c'est tout !
Jusqu'à la prochaine fois
Vous avez des commentaires sur la prochaine activation de licence « anonyme » ? Avez-vous des fonctionnalités en tête que vous aimeriez que nous examinions ? N'hésitez pas à les ajouter à notre tableau Trello, et en attendant, bonne vente !