Fino alla WWDC 2022 era una specie di piccolo neo, una mancanza per la quale, dopo tanti anni, non si sapeva più come dare una risposta e molto non la cercavano neanche: in pratica, se lo sviluppatore A doveva vendere la sua app allo sviluppatore B, cedendogli le credenziali e il controllo sul suo software con supporto iCloud (quindi basato sul framework di iCloudKit), le cose non erano per niente semplici.
Ci sono casi di transazioni di app con supporto iCloud che hanno richiesto fino a quattro mesi, perché assieme alla app deve essere ceduto anche l’account e il marchio ad esso collegato, che Apple considerava indissolubilmente legati al singolo pezzo di software. Una situazione che negli anni aveva creato parecchie situazioni di conflitto e numerose petizioni affinché Apple cambiasse il funzionamento di questo meccanismo, ritenuto oltremodo punitivo.
Adesso, con una nota a pie’ di pagina della WWDC 2022 che si è chiusa da due settimane, il problema è completamente superato. Apple ha infatti annunciato che le app che utilizzano iCloud ora possono essere trasferite a un altro sviluppatore nell’Apple Developer Program.
Un problema per molti
Con 34 milioni di sviluppatori grandi e piccoli e una vasta economia legata alle app l’ipotesi di compravendita del codice e delle app ma anche del loro nome, marchio e tutto il resto è tutt’altro che peregrina. I limiti imposti finora da Apple erano troppo forti per le app che usano la sua tecnologia di base.
“Quando è stata acquisita la mia ultima app, Spend Stack, ci sono voluti quasi quattro mesi per sistemare tutto. E si trattava di un acquirente esperto che di solito fa tutto in una settimana al massimo” scrive uno sviluppatore. E ancora “Perché c’è voluto così tanto tempo? Poiché non vendevo solo Spend Stack, ho dovuto vendere la mia intera Spa, Dreaming In Binary, che possedevo da molti anni. Invece di trasferire l’app, ho dovuto gestire una serie di ostacoli logistici che né io né l’acquirente avremmo voluto”.
Le app che supportano iCloud usano CloudKit
Il colpevole di questa complessità eccessiva è il framework di Apple, CloudKit. Chi utilizza iCloud nella sua app, infatti, doveva creare una LLC, una società dedicata. Questo era un requisito di Apple: per usare iCloud dentro una app era necessario creare una Srl, aprire un account business, avere un numero DUNS e da lì fare tutto per ottenere il permesso di creare la propria app.
Un problema che non solo ha rallentato molti sviluppatori, ma ha reso più complessa la gestione di una serie di tecnologie, come ad esempio quelle per la sincronizzazione via iCloud, molto richiesta dagli utenti, ma con requisiti legali da parte di Apple piuttosto onerosi. Le alternative, come Firebase di Google, sono molto più leggere. E questo spiega anche perché alcune app non supportano la sincronizzazione iCloud.
Apple ha cambiato strategia
Con una piccola nota di due righe Apple ha informato gli utenti App Store Connect, cioè gli sviluppatori, che adesso le app che usano iCloud possono essere trasferite a un altro sviluppatore all’interno dell’Apple Developer Program senza bisogno di cedere tutto l’account con la Srl.
Si tratta di un cambiamento di strategia semplice, ma molto richiesto già da anni e che sicuramente offre la possibilità di rendere più facile e veloce il cambiamento di proprietà delle app sullo store. Sembra una cosa da poco per chi non sviluppa software, ma in realtà la ricaduta diretta è proprio sugli utenti finali.
Il rischio di dover cedere marchio e società per vendere una app, e i motivi per i quali vendere una app possono essere moltissimi, nel tempo ha spinto molti sviluppatori a utilizzare soluzioni alternative come Firebase, e a fare in modo che non ci fossero ostacoli di questo tipo.
L’esclusione di CloudKit però ha come conseguenza la mancanza delle funzioni di sincronizzazione via iCloud dei dati della app, cosa che ne riduce sensibilmente l’integrazione con la piattaforma di Apple. Infatti, non solo l’esperienza di sincronizzazione offerta da iCloud su apparecchi Apple è molto veloce e funzionale, ma non richiede neanche altre iscrizioni a servizi di terze parti, perché è basata sull’Apple ID del cliente che ha scaricato le app. E poi è garantita da Apple sia in termini di funzionalità che affidabilità.
Come è stato commentato, la scelta di Apple di non cambiare questo requisito prima è stato per l’azienda come spararsi sui piedi: da un lato spingere e potenziare il servizio di CloudKit e dall’altro vincolarlo con una normativa troppo stringete. Ora non è più così.