Chiudi l'annuncio

Nel suo ultimo intervento alla WWDC del 2011, Steve Jobs ha introdotto un servizio che ancora terrorizza molti sviluppatori. Non è altro che iCloud, il salutare successore del travagliato MobileMe. Tuttavia, anche iCloud non è esente da errori. E gli sviluppatori si stanno ribellando...

Steve Jobs ha provato per la prima volta iCloud nel giugno 2011, il servizio è stato lanciato quattro mesi dopo ed è operativo da circa un anno e mezzo. In superficie, un servizio relativamente fluido che, secondo le parole del leggendario visionario, "funziona e basta" (o almeno dovrebbe), ma all'interno, un meccanismo selvaggio che spesso fa quello che vuole, e gli sviluppatori non hanno un'arma efficace contro di esso.

"Tutto avviene automaticamente ed è molto semplice connettere le tue app al sistema di archiviazione iCloud," Jobs disse all'epoca. Quando gli sviluppatori ricordano le sue parole adesso, probabilmente devono arrabbiarsi. “iCloud semplicemente non funzionava per noi. Ci abbiamo dedicato davvero molto tempo, ma la sincronizzazione di iCloud e Core Data presentava questi problemi che non siamo riusciti a risolvere." ha ammesso il capo dello studio Black Pixel, responsabile, ad esempio, del noto lettore RSS NetNewsWire. Per lei iCloud avrebbe dovuto essere la soluzione ideale per la sincronizzazione, soprattutto in un momento in cui Google sta per chiudere il suo Google Reader, ma la scommessa sul servizio Apple non ha funzionato.

Niente funziona

È sorprendente che un servizio che conta oltre 250 milioni di utenti ed è quindi uno dei più grandi al mondo nel suo genere abbia problemi di questo tipo. A uno sguardo superficiale si potrebbe puntare il dito contro gli sviluppatori, ma al momento sono innocenti. iCloud cerca di implementarne molti nelle sue applicazioni, ma i loro tentativi spesso finiscono con un fallimento. Perché iCloud ha seri problemi con la sincronizzazione.

[do action="quote"]Non riesco nemmeno a contare tutti gli sviluppatori che hanno riscontrato problemi e alla fine si sono arresi.[/do]

"Ho riscritto più volte il mio codice iCloud sperando di trovare una soluzione funzionante," ha scritto lo sviluppatore Michael Göbel. Non ha però trovato una soluzione, e quindi non può ancora commercializzare le sue applicazioni, ovvero l'App Store. “Non riesco nemmeno a contare tutti gli sviluppatori e le aziende che si sono imbattuti nei miei stessi problemi e alla fine si sono arresi. Dopo aver perso centinaia di migliaia di dati degli utenti, hanno semplicemente abbandonato del tutto iCloud."

Il problema più grande di Apple con iCloud è la sincronizzazione del database (Core Data). Gli altri due tipi di dati che possono essere sincronizzati tramite il cloud di Apple, impostazioni e file, funzionano entro i limiti senza problemi. Tuttavia, Core Data si comporta in modo del tutto imprevedibile. È un framework di alto livello che consente di sincronizzare più database tra dispositivi. "iCloud ha promesso di risolvere tutti i problemi di sincronizzazione del database con il supporto Core Data, ma semplicemente non funziona," ha detto uno degli sviluppatori più importanti, che non ha voluto essere nominato per mantenere buoni rapporti con Apple.

Allo stesso tempo, Apple ignora completamente questi problemi, iCloud continua a pubblicizzarlo come una soluzione semplice e gli utenti lo richiedono agli sviluppatori. Ma nonostante i migliori sforzi dello sviluppatore, i dati degli utenti scompaiono in modo incontrollabile e i dispositivi smettono di sincronizzarsi. "Questi problemi spesso richiedono ore per essere risolti e alcuni possono danneggiare permanentemente i tuoi account," un altro sviluppatore leader si appoggia ad Apple e aggiunge: "Inoltre, AppleCare non è in grado di risolvere questi problemi con i clienti."

“Facciamo sempre fatica a combinare Core Data e iCloud. L'intero sistema è imprevedibile e lo sviluppatore spesso ha opzioni limitate per influenzarne il funzionamento." descrive lo studio di sviluppo ceco Tocca Arte, che ci ha confermato che, a causa di problemi persistenti, sta abbandonando questa soluzione e sta lavorando per conto proprio, utilizzando la sincronizzazione dei file invece della sincronizzazione del database in quanto tale. A questo scopo potrà utilizzare iCloud, perché tramite esso la sincronizzazione dei file avviene senza problemi. Dopotutto, questo è confermato anche dagli sviluppatori di Jumsoft: "iCloud è senza dubbio un ottimo strumento per l'archiviazione diretta dei file." Tuttavia, Jumsoft, sfortunatamente, ha bisogno di Core Data per la sua nota applicazione Money, e questo è un ostacolo.

[do action="quote"]iCloud e Core Data sono il peggior incubo di ogni sviluppatore.[/do]

Molti problemi derivano anche da situazioni impreviste che possono verificarsi facilmente, ad esempio quando un utente si disconnette da un ID Apple sul proprio dispositivo e accede tramite un altro. Apple non conta affatto su di loro. "Come risolvere il problema quando l'utente, che non ha effettuato l'accesso a iCloud, accende l'applicazione, quindi si connette a iCloud e riavvia l'applicazione?" chiese con uno sviluppatore sui forum Apple.

Tutti i problemi con iCloud culminano nell'insoddisfazione degli utenti dell'app che perdono dati, mentre gli sviluppatori spesso restano a guardare impotenti. "Gli utenti si lamentano con me e valutano le app con una stella" si è lamentato sui forum Apple, lo sviluppatore Brian Arnold, che non ha ancora ricevuto spiegazioni da Apple su cosa fare con problemi simili o sul perché si verificano. E i forum sono pieni di lamentele sulla sincronizzazione di iCloud.

Alcuni sviluppatori stanno già perdendo la pazienza con iCloud, e non c'è da stupirsi. "iCloud e Core Data sono il peggior incubo di ogni sviluppatore," dichiarato per La Verge sviluppatore senza nome. "È frustrante, esasperante a volte e vale infinite ore di risoluzione dei problemi."

Apple tace. Evita i problemi da solo

Forse non c'è da meravigliarsi che i problemi di Apple con iCloud passino come se nulla fosse successo. Apple praticamente non utilizza i problematici Core Data nelle sue applicazioni. In realtà esistono due iCloud: uno che alimenta i servizi Apple e uno offerto agli sviluppatori. App e servizi come iMessage, Mail, backup iCloud, iTunes, Photo Stream e altri si basano su una tecnologia completamente diversa da quella disponibile per gli sviluppatori di terze parti. Cioè, quello con cui ci sono problemi costanti. Le applicazioni del pacchetto iWork (Keynote, Pages, Numbers) utilizzano la stessa API delle applicazioni di terze parti, ma solo per una sincronizzazione dei documenti molto più semplice, che Apple si impegna molto a far funzionare. Quando inseriscono iCloud e Core Data nella loro app di Cupertino, non sono migliori in termini di affidabilità rispetto agli sviluppatori di terze parti. L'applicazione Trailers, che utilizza Core Data per la sincronizzazione, parla da sola e gli utenti perdono regolarmente alcuni record.

Tuttavia, con i trailer, che non sono così popolari, questi problemi sono relativamente facili da perdere. Ma allora cosa dovrebbero dire gli sviluppatori delle applicazioni più popolari ai loro utenti, che devono semplicemente fare affidamento sui problematici Core Data di iCloud, ma spesso non possono garantire il tipo di funzionalità che Apple pubblicizza costantemente nei suoi annunci pubblicitari? Apple certamente non li aiuterà. "Qualcuno della Apple può commentare questa situazione?" chiese senza successo sul forum, lo sviluppatore Justin Driscoll, che è stato costretto a chiudere la sua prossima app a causa dell'inaffidabilità di iCloud.

Durante l'anno Apple non aiuta gli sviluppatori, quindi tutti speravano che qualcosa si risolvesse almeno alla WWDC dell'anno scorso, cioè una conferenza destinata agli sviluppatori, ma anche qui Apple non ha portato molto aiuto sotto l'enorme pressione degli sviluppatori. Ad esempio, ha fornito un codice di esempio che può essere utilizzato per sincronizzare Core Data, ma era lungi dall'essere completo. Ancora una volta, nessun aiuto significativo. Inoltre, gli ingegneri Apple hanno invitato gli sviluppatori ad attendere iOS 6. "Il passaggio da iOS 5 a iOS 6 ha reso le cose migliori al XNUMX%" confermato da uno sviluppatore anonimo, "ma è ancora lontano dall'ideale." Secondo altre fonti, l'anno scorso Apple aveva solo quattro dipendenti che si occupavano di Core Data, il che dimostrerebbe chiaramente che Apple non è interessata a questo settore. Tuttavia, la società ha rifiutato di commentare queste informazioni.

Addio e sciarpa

Dopo tutte le vicissitudini citate, non sorprende che molti sviluppatori abbiano detto no ad iCloud, anche se probabilmente con il cuore pesante. Era iCloud che avrebbe finalmente dovuto portare qualcosa che gli sviluppatori desideravano: una soluzione semplice che garantisse database identici e la loro costante sincronizzazione su due o più dispositivi. Sfortunatamente, la realtà è diversa. "Quando abbiamo considerato iCloud e Core Data come soluzione per la nostra app, ci siamo resi conto che non potevamo usarli perché non avrebbe funzionato," ha affermato lo sviluppatore di alcune delle applicazioni iPhone e Mac più vendute.

Un altro motivo per cui iCloud non si abbandona facilmente è il fatto che Apple nota le applicazioni che utilizzano i suoi servizi (iCloud, Game Center) e ignora completamente quelle che non hanno nulla di Apple nell'App Store. iCloud è una buona soluzione anche dal punto di vista del marketing.

Dropbox, ad esempio, viene offerto come possibile alternativa, ma non è più così facile da usare. Da un lato l'utente deve creare un altro account (iCloud è disponibile automaticamente con l'acquisto di un nuovo dispositivo) e dall'altro è necessaria l'autorizzazione affinché l'applicazione possa funzionare, cosa che anche con iCloud fallisce. E infine: Dropbox offre la sincronizzazione dei documenti, che semplicemente non è ciò che gli sviluppatori cercano. Vogliono sincronizzare i database. "Dropbox, che è il più utilizzato al momento, ha dato prova di sé per la sincronizzazione dei dati. Ma quando si tratta di sincronizzare il database, dipendiamo da iCloud," ammette Roman Maštalíř di ​​Touch Art.

[do action="quote"]Vorrei dire ad Apple che hanno sistemato tutto in iOS 7, ma non ci credo davvero.[/do]

Tuttavia, gli sviluppatori dell'applicazione 2Do non hanno avuto pazienza, a causa di numerose esperienze negative con iCloud, non hanno provato affatto il servizio Apple e hanno subito trovato la propria soluzione. “Non usiamo iCloud a causa di tutti i problemi. È un sistema molto chiuso sul quale non saremmo in grado di avere tutto il controllo che vorremmo," ce lo ha detto lo sviluppatore Fahad Gillani. “Abbiamo scelto Dropbox per la sincronizzazione. Tuttavia, non utilizziamo la sincronizzazione dei documenti, abbiamo scritto la nostra soluzione di sincronizzazione."

Anche un altro studio ceco, Madfinger Games, non ha iCloud nei suoi giochi. Tuttavia, il creatore dei famosi titoli Dead Trigger e Shadowgun non utilizza il servizio Apple per ragioni leggermente diverse. "Abbiamo il nostro sistema basato su cloud per salvare le posizioni di gioco, perché volevamo essere in grado di trasferire i progressi del gioco tra piattaforme," David Kolečkář ci ha rivelato che, a causa dello sviluppo di giochi sia per iOS che per Android per Madfinger Games, iCloud non è mai stata una soluzione.

Ci sarà una soluzione?

Col passare del tempo, molti sviluppatori stanno lentamente perdendo la speranza che Apple trovi una soluzione. Ad esempio, il prossimo WWDC sta arrivando, ma poiché Apple praticamente non comunica con gli sviluppatori nemmeno adesso, non ci si aspetta che venga al WWDC a braccia aperte pieno di consigli e risposte. "Tutto quello che possiamo fare è continuare a inviare segnalazioni di bug ad Apple e sperare che li risolvano," si è lamentato di uno sviluppatore iOS senza nome, con un altro che ha fatto eco ai suoi sentimenti: "Mi piacerebbe dire ad Apple che hanno sistemato tutto in iOS 7 e che iCloud può finalmente essere utilizzato senza problemi dopo due anni, ma non ci credo davvero." Ma sarà iOS 7 il tema centrale della WWDC di quest'anno, quindi gli sviluppatori possono almeno sperare.

Se Apple non offrisse una soluzione ai problemi di iCloud in una nuova versione del suo sistema operativo, potrebbe essere un vero e proprio chiodo nella bara per alcuni progetti. Uno degli sviluppatori, che fino ad ora è stato un forte sostenitore di iCloud, afferma: "Se Apple non risolve questo problema in iOS 7, dovremo abbandonare la nave."

Fonte: TheVerge.com, TheNextWeb.com
.