Case Study: Soft disabling
La sfida
Con l'aumentare della complessità dei prodotti digitali, gli sviluppatori attenti al clima stanno esplorando modi per ottimizzare le applicazioni, riducendo il consumo energetico e i costi infrastrutturali, mantenendo al contempo l'esperienza utente. (link: https://www.linkedin.com/in/vincentoffroy/?originalSubdomain=fr class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipedia text: Vincent Offroy) ha lanciato il "(link: https://medium.com/@offroy.vincent.dev/soft-disabling-fr-4fe2121473ce class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipedia text: soft disabling)", un approccio di eco-design che disattiva temporaneamente le funzionalità utilizzate raramente dopo un periodo di inattività prolungato, invece di rimuoverle in modo permanente. Gli utenti possono riattivare queste funzionalità quando necessario, raggiungendo un equilibrio tra usabilità, sostenibilità ed efficienza dei costi. Se le funzionalità disattivate in modo soft restano inutilizzate, i team di prodotto possono valutare la loro dismissione definitiva.
Le interfacce digitali contengono spesso numerose funzionalità con un uso limitato. Ogni funzionalità, in particolare quelle che richiedono chiamate API, il recupero di dati in tempo reale o l'uso di risorse computazionali elevate, contribuisce a sovraccaricare l'infrastruttura. Questo approccio affronta un triplice dilemma nella gestione delle funzionalità:
- Overhead API: le richieste di rete ridondanti aumentano il carico del server e il consumo energetico
- Costi dell'infrastruttura: le funzionalità sempre attive aumentano le spese di hosting e manutenzione
- Preoccupazioni relative all'esperienza utente: la rimozione definitiva delle funzionalità potrebbe allontanare specifici gruppi di utenti
Il soft disabling si basa su decisioni fortemente orientate ai dati per bilanciare questi fattori in modo altamente convincente, anche quando il coinvolgimento degli stakeholder nelle iniziative di sensibilizzazione sul clima è minimo.
Obiettivi
- Ridurre il consumo energetico e i costi di infrastruttura disattivando le funzionalità utilizzate raramente
- Preservare l'esperienza utente mantenendo la possibilità di riattivare le funzionalità quando necessario
- Fornire approfondimenti basati sui dati per guidare lo sviluppo e la dismissione future delle funzionalità
- Ridurre l'impronta di carbonio dell'applicazione senza sacrificare la funzionalità
- Creare un approccio sostenibile alla gestione del ciclo di vita delle funzionalità
Approccio
Il soft disabling introduce un meccanismo front-end adattivo:
- Monitoraggio dell'utilizzo: implementare analisi per monitorare la frequenza con cui gli utenti interagiscono con ciascuna funzionalità, definire modelli di utilizzo di base e identificare i candidati al soft disabling. Assicurarsi che tutto il monitoraggio sia conforme alle normative sulla privacy, sia coperto dai termini di servizio e rispetti le scelte di consenso degli utenti.
- Processo di disattivazione automatizzato: creare meccanismi per nascondere e disabilitare automaticamente le risorse di backend per le funzionalità che rimangono inutilizzate oltre una soglia definita (in genere 2-4 settimane)
- Riattivazione intuitiva: progettare "call-to-action" (CTA) intuitive, come i pulsanti, che consentano agli utenti di ripristinare facilmente le funzionalità disattivate quando necessario, con il minimo impatto sull'esperienza utente.
- Messaggi di sensibilizzazione ecologica: sviluppare messaggi sottili per informare gli utenti sui vantaggi in termini di sostenibilità derivanti dalla disattivazione delle funzionalità, favorendo la comprensione, l'accettazione e l'apprezzamento.
- Test progressivi: implementare la disattivazione graduale in tutti i set di funzionalità, testando diverse soglie e metodi di riattivazione per individuare l'equilibrio ottimale tra risparmio di risorse e soddisfazione degli utenti.
Impatto
La disattivazione graduale può offrire significativi vantaggi ambientali e tecnici:
- Miglioramenti tecnici: ridurre le richieste API non necessarie per diminuire il consumo energetico. Ad esempio, disabilitando in modo graduale una funzione utilizzata solo dal 5% degli utenti e responsabile del 10% delle chiamate API giornaliere, Vincent stima che questo approccio comporterebbe una riduzione del 7% del consumo energetico del server e del 3% dei costi di cloud computing.
- Esperienza del cliente/UX: migliorare le prestazioni e la reattività dell'applicazione alleggerendo il carico delle pagine, con conseguente velocizzazione dell'esperienza utente.
- Impatto sul business: riduzione dei costi di infrastruttura grazie a un utilizzo più efficiente delle risorse e a una scalabilità più sostenibile con la crescita della base di utenti. Riduzione del debito tecnico derivante dalla manutenzione di funzionalità inutilizzate e generazione di informazioni più approfondite sulla popolarità delle funzionalità e sui modelli di utilizzo.
- Sostenibilità incentrata sull'utente: gli utenti hanno il controllo, garantendo l'accessibilità alle funzionalità e promuovendo al contempo un impegno eco-consapevole.
- Efficienza carbonica: ridurre il consumo energetico lato server grazie alla diminuzione delle esigenze di calcolo e quindi ridurre l'impronta di carbonio del prodotto.
Punti chiave
- L'eco-design richiede equilibrio: il soft disabling offre una via di mezzo tra il mantenimento delle funzionalità inutilizzate e la loro rimozione completa.
- Le decisioni basate sui dati sono essenziali: il monitoraggio dell'utilizzo garantisce che le ottimizzazioni siano basate su modelli di comportamento reali, anziché su ipotesi.
- Il controllo da parte dell'utente preserva l'esperienza: consentire la riattivazione mantiene l'accessibilità e, al contempo, incoraggia l'efficienza delle risorse.
- Piccole ottimizzazioni hanno un impatto significativo: anche riduzioni minime del consumo di risorse per utente possono generare enormi vantaggi in termini di sostenibilità su larga scala.
- La sostenibilità può migliorare l'esperienza utente: eliminare il disordine e concentrarsi sulle funzionalità utilizzate di frequente spesso migliora l'esperienza utente complessiva.
- La comunicazione con gli utenti è importante: una comunicazione trasparente sul motivo per cui le funzionalità vengono temporaneamente disattivate e sui vantaggi associati (ad esempio, prestazioni migliorate, impatto ambientale ridotto) può favorire la comprensione, l'accettazione e l'apprezzamento e il riconoscimento.
Passi futuri
Qual è il futuro del soft disabling?
- Sviluppare algoritmi di apprendimento automatico per prevedere le soglie di disattivazione ottimali in base ai segmenti di utenti e ai modelli di comportamento.
- Espandere il soft disabling per includere anche i processi di backend più onerosi per le risorse.
- Creare metriche più granulari per misurare l'impatto ambientale dell'utilizzo delle funzionalità.
- Integrare con le pipeline CI/CD per incorporare le metriche di sostenibilità nei flussi di lavoro di sviluppo.
- Stabilire standard di settore per le pratiche di gestione sostenibile delle funzionalità.
Conclusione
Il soft disabling dimostra come una progettazione accurata possa allineare gli obiettivi di sostenibilità con quelli aziendali e con le esigenze degli utenti. Si tratta di un ottimo modo per fornire ai team di prodotto una strategia di implementazione chiara, basata sui dati e altamente difendibile, anche nei casi in cui il coinvolgimento degli stakeholder nelle iniziative di sensibilizzazione sul clima è minimo. Implementando una gestione intelligente delle funzionalità, le organizzazioni possono ridurre gli sprechi digitali mantenendo la funzionalità e la soddisfazione degli utenti. Con la crescente complessità dei prodotti digitali, approcci come il soft disabling diventeranno sempre più importanti per creare software sostenibili che riducano al minimo l'impatto ambientale senza compromettere la qualità o l'usabilità.