L'SDK di WordPress 2.5.0-RC.1 è pronto per il test: risoluzione dei cloni, feedback sulla disattivazione, miglioramenti dell'esperienza utente, mix di risorse e altro

Pubblicato: 2022-01-18

È ufficiale! WordPress SDK 2.5.0 RC1 è ora disponibile con straordinari (e rilevanti) miglioramenti che affrontano quelli che abbiamo identificato come i problemi più comuni e dispendiosi in termini di tempo fino ad oggi.

Il nostro obiettivo con questa versione è aiutarti a ridurre il carico di supporto in modo da poter dedicare più tempo ai risultati finali e ad altre attività più produttive.

Prima di approfondire le funzionalità, abbiamo bisogno del tuo aiuto 🙌

Chiama per i tester

Anche se abbiamo eseguito test approfonditi di tutti i tipi (automatizzati, manuali e test di regressione), e anche se siamo abbastanza fiduciosi nella stabilità della 2.5.0, a causa della complessità e della quantità di modifiche al codice e casi d'uso coinvolti in questa versione , abbiamo deciso di spingerlo prima come candidato al rilascio.

"Voglio essere coinvolto nei test, come posso aiutare?"

Vuoi aiutarci nei test? È fantastico e apprezzato!

  • Se stai eseguendo un programma beta, aggiorna semplicemente l'SDK a questo RC e invia una nuova versione come beta .
  • Se non stai eseguendo un programma beta e sai che alcuni dei tuoi clienti eseguono ambienti clonati come lo staging alla produzione o utilizzano il tuo plugin/tema con plugin WaaS come WP Ultimo, quando contattano il tuo supporto a causa di problemi con l'SDK puoi inviare loro un versione speciale del tuo prodotto con questo SDK in quanto dovrebbe risolvere i loro problemi.

Indipendentemente da ciò, se provi RC, se riscontri problemi o, al contrario, se risolve i problemi SDK che i tuoi utenti stavano affrontando in precedenza, faccelo sapere! Basta contattarci tramite [email protected], aprire un problema con GitHub o utilizzare qualsiasi altro canale di comunicazione più semplice per te: vogliamo il tuo feedback

Passiamo alle caratteristiche.

Siti Web duplicati e risoluzione dei cloni

Con la crescente popolarità delle reti WaaS (WordPress as a Service) e delle società di hosting che forniscono la gestione temporanea con un clic per i flussi di lavoro di distribuzione della produzione, probabilmente hai già avuto a che fare con clienti che si lamentano di problemi imprevisti quando è coinvolta la duplicazione del sito.

In breve, un clone è un sito Web (o un sito secondario) che ha un ID univoco e una coppia di chiavi pubbliche/segrete che sono state assegnate da Freemius e sono identiche all'ID e alle chiavi di un altro sito Web. Puoi saperne di più sui cloni, su come vengono generalmente creati e quando, in questo documento.

Ispirato dall'interfaccia utente di Jetpack, sono entusiasta di condividere che questa versione dell'SDK include un meccanismo completo di identificazione, gestione e risoluzione dei cloni. È una funzionalità che è rimasta inutilizzata per un po' di tempo e ti incoraggio vivamente a familiarizzare con il problema dei siti Web di clonazione e come lo gestisce l'SDK di WordPress per ottenere il massimo dal miglioramento:

Avviso sulla risoluzione dei cloni manuali di Freemius SDK

Feedback sulla disattivazione Miglioramenti alla UX

Posticipa per la risoluzione dei problemi

Sebbene il nostro modulo di feedback sulla disattivazione offra agli utenti un'opportunità unica di fornire feedback ai proprietari di prodotti prima che abbandonino, nel corso degli anni abbiamo sentito lamentele sul fatto che gli utenti odiano davvero la funzione. Dopo aver analizzato il feedback, siamo riusciti ad attribuire questo sentimento in modo specifico al segmento "risoluzione dei problemi".

Gli aggiornamenti dei plug-in sono un'attività comune che i manutentori del sito Web devono affrontare quotidianamente. A volte un aggiornamento del plugin/tema può andare storto a causa di conflitti, bug e incompatibilità, causando problemi ed errori imprevisti su un sito. I manutentori di solito non si tuffano nel livello del codice, quindi il processo di risoluzione dei problemi comune consiste nell'identificare la causa del problema con le disattivazioni e riattivazioni dei plug-in, seguite dal cambio del tema. Ciò significa che è necessario disattivare i plug-in uno per uno fino a quando il problema non viene risolto, quindi riattivarli singolarmente e nello stesso ordine in cui sono stati disattivati. In teoria, questo dovrebbe aiutare a isolare il plug-in "problematico", ma se non scopre il problema, il prossimo tentativo dovrebbe essere un "cambio tema".

Man mano che cresce l'impronta di temi e plug-in che utilizzano il nostro SDK di WordPress, il modulo di feedback sulla disattivazione aggiunge un ulteriore clic a ogni disattivazione. Da lì, la riattivazione di un plug-in basato su Freemius reindirizza automaticamente alla schermata di attivazione o alla pagina delle impostazioni principali del plug-in (in base allo stato di attivazione), che aggiunge un altro clic per tornare alla pagina dei plug-in.

Ciò significa che solo 5 plug-in che utilizzano Freemius su un sito possono potenzialmente aggiungere 10 clic in più, qualcosa che è comprensibilmente fastidioso per gli strumenti di risoluzione dei problemi. E quando si gestiscono 20 siti, ad esempio, tutti quei clic si accumulano nel tempo, il che spiega perché ad alcuni manutentori non piace davvero l'SDK di WordPress.

Avendo compreso le ragioni dietro l'"odio", abbiamo trovato una soluzione semplice per alleviare il "dolore" per chi risolve i problemi e, si spera, riconquistare parte della loro fiducia.

Il modulo di feedback mostra già un'opzione che indica che una disattivazione è temporanea per la risoluzione dei problemi. Quindi, invece di inviare quel feedback a modo nostro...

  1. Ora mostriamo un'opzione per posticipare il pannello da un'ora a 30 giorni.
  2. Poiché ci rendiamo conto che non aggiunge alcun valore ai proprietari dei prodotti, la scelta di posticipare salta l'invio del feedback a Freemius del tutto.
  3. Infine, se l'amministratore posticipa il modulo, il reindirizzamento sarà disattivato per il periodo posticipato.

Posticipa del modulo di feedback dell'SDK di Freemius WordPress

Lo snoozing influirà solo sull'attuale amministratore che ha effettuato l'accesso e funzionerà su tutti i plugin e i temi di Freemius installati su quel sito web.

Questa UX migliorata può potenzialmente far risparmiare tonnellate di clic per risolutori di problemi "pesanti" e siamo entusiasti di vedere la differenza che farà.

Abilita la disattivazione con il feedback "Altro" vuoto

Per incoraggiare gli utenti a inviare feedback su cui puoi agire, in precedenza, quando un utente ha selezionato l'opzione "Altro" nel modulo di feedback di disattivazione, lo stato del pulsante "Invia e disattiva" è stato modificato in disabilitato fino a quando l'utente non ha immesso un input per spiegare il " un'altra ragione.

È stato portato alla nostra attenzione che questa UX era problematica perché gli utenti leggono dall'alto a sinistra e alcuni scelgono quell'opzione perché semplicemente non vogliono fornire alcun feedback. Ad esempio, se scelgono quell'opzione prima di notare che c'è un'opzione per "Salta e disattiva", dà l'impressione che sia impossibile disattivare il prodotto senza fornire alcun feedback.

Ora, quando l'opzione "Altro" è selezionata e la casella della spiegazione è vuota, il pulsante è abilitato ed etichettato come "Disattiva":

Freemius WordPress SDK Modulo di feedback Motivo Altro

E, ovviamente, nessun dato verrà inviato alla nostra fine perché il feedback vuoto "Altro" è inutile.

Feedback anonimo Casella di controllo predefinita Stato

Se un utente ha saltato l'opt-in e ha scelto di fornire un feedback utilizzando il modulo di feedback di disattivazione, per impostazione predefinita il feedback non era anonimo per consentire all'utente di contattare l'utente se necessario. Questa versione dell'SDK introduce un nuovo filtro in modo che tu possa controllare la modalità di invio predefinita del modulo di feedback e modificarla in feedback anonimo per impostazione predefinita, utilizzando quanto segue:

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

Miscuglio di proprietà delle risorse dell'utente: finito!

Una buona percentuale degli acquisti di plugin e temi di WordPress viene effettuata da "costruttori", dove alla fine il progetto viene consegnato al loro cliente. Per facilitare la relazione, offriamo una buona quantità di flessibilità per consentire di cambiare la proprietà degli asset del conto da una persona all'altra.

Senza entrare nei tecnicismi, con i molti milioni di siti Web che eseguono il nostro SDK, ci siamo imbattuti in diversi casi limite che hanno confuso inaspettatamente risorse tra account. Sebbene questi problemi fossero rari, è doloroso per il cliente, per te e per noi risolverli.

Se c'è stato un concorso per le questioni più fastidiose e dispendiose in termini di tempo, questo è il vincitore indiscusso del 2020–2021 🏆 È anche un buon esempio di dove dare troppa flessibilità senza cercare di prevedere tutti i casi d'uso (e non si volontà) può causare più danni che benefici.

Non solo abbiamo aggiunto alcune restrizioni nel back-end per ridurre le istanze del problema, ma la nuova versione dell'SDK di WordPress migliora anche l'esperienza di aggiornamento dell'e-mail dell'account con l'input aggiuntivo dell'utente e gestisce ogni caso in modo leggermente diverso:

Aggiornamento dell'indirizzo e-mail dell'SDK di Freemius WordPress

Correzione di HTTP 404 non trovato (AKA "Nessun aggiornamento")

Alcuni di voi potrebbero aver ricevuto ticket di supporto in cui i clienti si sono lamentati del fatto che l'SDK genera errori e rallenta il sistema, in genere con uno screenshot complementare di un errore dal registro di debug (o altri plug-in di debug).

Aggiornamento del plug-in Query Monitor Freemius API 404 non trovato

Gli errori HTTP sono stati restituiti quando non c'erano versioni più recenti, che è il comportamento previsto di un'implementazione API RESTful corretta quando una risorsa non esiste.

Dal momento che non è banale capire che questo comportamento è previsto fino a quando non ci contatti e ha generato ticket di supporto non necessari per te (e per noi), abbiamo modificato il codice di risposta HTTP a 200 per eliminare questa confusione una volta per tutte. Questa modifica dell'API è stata già implementata diverse settimane fa, quindi è molto probabile che tu abbia notato che questo tipo di reclamo è scomparso.

Guardando indietro, ora riconosciamo che avremmo dovuto apportare quel cambiamento molto prima. È solo che a volte la cosa tecnica "giusta" non è "giusta" per l'utente finale.

Tolleranza agli errori per problemi di connettività in background

Alcune settimane fa AWS ha avuto un tempo di inattività temporaneo. Poiché ospitiamo i nostri server su Amazon, naturalmente, i tempi di inattività hanno causato problemi di connettività al nostro server API. I siti Web su cui è stato eseguito il loro cron di sincronizzazione Freemius durante quel periodo sono stati aggiunti con un avviso non ammissibile sul problema di connettività, causando una serie di richieste di supporto da parte degli utenti interessati. Lo scopo dell'avviso è evidenziare i problemi di connettività in corso dovuti a firewall, blocchi dell'ISP, ecc. Non è fatto per problemi di connettività temporanei. Pertanto, abbiamo migliorato la logica mettendo in atto un meccanismo di tolleranza agli errori, quindi l'avviso verrà aggiunto solo dopo 3 tentativi di connettività falliti consecutivi (in genere 3 giorni).

Risoluzione di funzioni di rete multisito obsolete

wpmu_new_blog() e deleted_blog() sono stati deprecati in WP 5.1, che generava un avviso durante l'esecuzione in modalità di debug. Abbiamo aggiornato l'integrazione multisito per utilizzare invece wp_insert_site() e wp_delete_site() in modo corrispondente durante l'esecuzione su nuove versioni di WordPress. Grazie Dario Curvino per il tuo contributo 🙌

Nuovi filtri

Abbiamo introdotto un nuovo filtro hide_freemius_powered_by per permetterti di nascondere la scheda Powered by Freemius dalle pagine generate dall'SDK:

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

E un altro filtro chiamato hide_billing_and_payments_info per nascondere la cronologia di fatturazione e pagamenti mostrata per impostazione predefinita ai clienti nella pagina Account:

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

Attivazione della licenza "anonima" — Ti sentiamo!

Come startup o qualsiasi tipo di attività, all'inizio hai risorse limitate. L'obiettivo principale è raggiungere l'adattamento del prodotto/mercato, che naturalmente ti costringe a dare la priorità e fare sacrifici. Quando abbiamo avviato Freemius, la nostra analisi del mercato di WordPress era che i fai-da-te rappresentano la più grande percentuale di utenti nell'ecosistema. Pertanto, alcune delle pratiche e dell'UX sono state progettate per quel segmento. Man mano che maturiamo, negli ultimi due anni abbiamo fatto uno sforzo enorme per applicare il feedback raccolto nel corso degli anni per soddisfare meglio le esigenze di manutentori e costruttori. Sebbene questa sia una percentuale molto più piccola di utenti di WordPress, è estremamente appassionata e importante!

In questa fase, la stragrande maggioranza dei feedback comportamentali ricevuti nel corso degli anni era già incorporata nell'SDK di WordPress. Ma c'è ancora una richiesta ripetitiva che di solito proviene da utenti esperti di tecnologia con una maggiore sensibilità alla privacy: "Perché devo acconsentire quando si attiva una chiave di licenza?"

Sebbene raccogliamo solo alcune metriche di base che avvantaggiano utenti e produttori di prodotti al momento dell'attivazione della licenza, come la versione di WordPress, la versione PHP e le impostazioni locali del sito Web (le informazioni complete sono documentate nella nostra nuova pagina sulle pratiche sui dati), è una giusta preoccupazione che noi volevo indirizzare in modo che gli utenti possano godersi i tuoi prodotti con fiducia.

Pertanto, nella prossima versione, prevediamo di introdurre una nuova opzione per l'attivazione della licenza senza condividere i dati che non sono essenziali per l'attivazione della licenza e la consegna degli aggiornamenti. Invece di rielaborare l'architettura dei dati, maschereremo i dati con valori fittizi per offrire la massima privacy. Tieni presente che dovremmo comunque raccogliere l'URL e l'IP del sito Web, la versione dell'SDK e se il prodotto è attivo o inattivo. Ma questo è tutto!

Fino alla prossima volta

Hai un feedback per l'imminente attivazione della licenza "anonima"? Hai in mente qualche caratteristica che vorresti che prendessimo in considerazione? Sentiti libero di aggiungerli alla nostra bacheca Trello e, nel frattempo, buona vendita!