Come la spirale di morte delle app di Apple Watch ha quasi ucciso la mia app per iPhone

Due anni fa, io e il mio compagno abbiamo lanciato un'app per Apple Watch per completare la nostra app di fitness per iPhone. Non sapevamo che il nostro abbraccio allo smartwatch di Apple avrebbe minacciato l'esistenza stessa dell'app per la palestra che stavamo sviluppando dal 2012.

Ogni anno da quando abbiamo lanciato Reps & Sets, lo abbiamo aggiornato per tenerci al passo con tutte le nuove fantastiche funzionalità che Apple ha presentato alla sua Worldwide Developers Conference. Tutto è cambiato l'anno scorso, però. È stato allora che abbiamo scoperto che, aggiungendo il supporto per Apple Watch, avevamo inavvertitamente preso una pillola avvelenata che poteva effettivamente uccidere la nostra app per iPhone.

Non deve essere così. Con alcune modifiche chiave, Apple potrebbe cambiare le cose e rinvigorire l'ecosistema delle app di Apple Watch.

Perché la maggior parte degli sviluppatori sta eliminando le proprie app Watch

Quando abbiamo iniziato a sviluppare Ripetizioni e serie, speravamo che ci avrebbe fatto guadagnare milioni. Non è mai successo. In realtà, tutte le entrate che ha generato l'abbiamo speso per gli sviluppatori.

Ma ci siamo fermati, perché come progetto per hobby è piuttosto divertente. Inoltre, lungo la strada ho imparato molto, da cose carine come il design UX a cose orribili come profili di approvvigionamento.

Tuttavia, dopo aver avviato l'app Apple Watch, Apple ha apportato modifiche che ci hanno lasciato in una posizione orribile. Tutto lo sviluppo della nostra app per iPhone si è immediatamente fermato mentre cercavamo di affrontare la nuova realtà.

Sapevo che non eravamo i soli ad avere problemi con la nostra app Apple Watch. Sviluppatori molto più grandi e migliori di noi avevano già gettato la spugna. Instapaper è solo l'ultimo. Twitter, Instagram, Google Maps, Amazon, eBay, Lyft, allentato e TripAdvisor sono solo alcuni dei grandi nomi che hanno abbandonato la piattaforma.

Ma sapevo anche che i nostri problemi erano in qualche modo diversi da quelli di quelle aziende.

Nella maggior parte di questi casi, il problema è che hanno sviluppato le loro app per Apple Watch per watchOS 1. Allora, le app Watch erano "non nativo.” Mentre l'interfaccia utente funzionava sul tuo orologio, tutto il resto delle funzionalità dell'app è stato scaricato sul tuo iPhone.

Questo approccio ha portato a un'esperienza utente piuttosto goffa. Quindi Apple aggiunto il supporto per le app native in watchOS 2 nel 2015. Quest'anno Apple sta ritirando il supporto per le app non native in watchOS 5.

Ciò significa che gli sviluppatori che hanno rapidamente abbracciato la piattaforma vengono ora puniti per il loro supporto. Devono o riqualificare completamente le loro app di orologi o eliminarle del tutto. Sembra che la maggior parte di questi primi utenti abbia optato per quest'ultimo.

Il nostro problema con Apple Watch era diverso, e di gran lunga peggiore

Fortunatamente per noi, eravamo in ritardo per saltare sul carro di Apple Watch, quindi la nostra app per l'orologio era già nativa. Ma watchOS 4 ci ha ancora dato il mal di testa. Uno così grande, infatti, che non ha solo minacciato il futuro della nostra app per orologi. Ha anche bloccato lo sviluppo della nostra app per iPhone.

Senza entrare nei noiosi dettagli tecnici - che, a dire il vero, capisco a malapena me stesso - Apple ha apportato alcune modifiche al modo in cui gestisce le notifiche. Di conseguenza, quando l'app è stata compilata con Xcode 9 (Piattaforma Apple per sviluppatori), le notifiche non sono state inviate all'orologio quando la nostra app era in esecuzione.

I tecnici di Apple avevano senza dubbio delle ottime ragioni per cambiare il sistema di notifica, quindi si potrebbe dire che è stata colpa nostra se ci siamo ancora affidati a un framework obsoleto. Ma Cupertino avrebbe potuto fare molto di più per aiutarci. Le modifiche in Xcode 9 hanno reso il vecchio sistema di notifica comportarsi in modi sorprendenti e non documentati. Ci sono voluti molti tentativi ed errori per capire cosa stava succedendo.

La risoluzione di questo problema ha comportato alcune serie modifiche al nostro codice. E non solo per l'app per Apple Watch, ma anche per l'app per iPhone. E fino a quando non avremo completato il lavoro sulle notifiche, non abbiamo potuto pubblicare altri aggiornamenti sull'App Store.

Questo è stato incredibilmente frustrante. Eravamo tutti pronti per un aggiornamento che ha aggiunto il supporto per l'iPhone X lo scorso autunno. Ma non siamo riusciti a pubblicarlo, perché se lo facessimo, romperebbe la nostra app Apple Watch.

Il fitness è una delle poche categorie in cui le app Watch di terze parti sono davvero utili
Il fitness è una delle poche categorie in cui le app Watch di terze parti sono davvero utili.
Foto: Graham Bower/Culto di Mac

Perché non siamo riusciti a eliminare la nostra app per Apple Watch

Era allettante eliminare del tutto l'app Watch e andare avanti, come tanti altri sviluppatori hanno fatto. Ma nel nostro caso non è stato così semplice.

Molte app per Apple Watch sono stupide. Le persone semplicemente non li usano. Prendi Google Maps, per esempio. Quando Google ha eliminato silenziosamente l'app Watch, ci sono volute settimane perché chiunque se ne accorgesse.

Ma questo non è il caso della nostra app. Il fitness è una delle poche categorie in cui le app Watch di terze parti si dimostrano davvero utili, grazie all'interfaccia utente visibile, al monitoraggio della frequenza cardiaca e all'integrazione dell'attività. Di conseguenza, la nostra app per Apple Watch è diventata rapidamente indispensabile per la maggior parte dei nostri utenti. Rottamarlo era fuori discussione.

Siamo rimasti bloccati.

Trovare un buon sviluppatore Swift non è facile

Il mio partner ha svolto il lavoro di sviluppo originale su Reps & Sets, ma era troppo impegnato con il suo lavoro quotidiano per lavorarci. Le app per Apple Watch devono essere sviluppate in Swift (linguaggio di programmazione nativo di Apple), quindi abbiamo dovuto trovare un altro buon sviluppatore Swift, velocemente. Ma ciò si è rivelato praticamente impossibile.

Come mai?

Uno dei problemi è che in questi giorni molte app per iPhone non lo sono in realtà sviluppato in Swift. Grandi aziende come Facebook, Instagram e Uber si affidano a framework multipiattaforma come Reagire nativo Invece. Non è mai stato facile trovare buoni sviluppatori Swift, ma di questi tempi è ancora più difficile, perché molti di loro sono specializzati in questi framework multipiattaforma piuttosto che in Swift stesso.

Un altro problema era che la nostra app è relativamente vecchia e abbiamo aggiunto molto nel corso degli anni. Di conseguenza, contiene un sacco di codice legacy e idiosincrasie. Lavorare su un progetto del genere implica molto di ciò che gli sviluppatori chiamano "conoscenza del dominio.” Non è realistico aspettarsi che un nuovo sviluppatore parta senza un'induzione lunga e molto complicata.

Abbiamo trovato un modo per andare avanti, almeno per ora

Fortunatamente, dopo mesi di caccia e praticamente rinuncia, un libero professionista che ha lavorato con noi sull'app per molti anni ha accettato di dargli un'occhiata nel suo tempo libero.

Il risultato finale è che, 12 mesi dopo il previsto, abbiamo finalmente aggiornato la nostra app per supportare watchOS 4 e iPhone X. (Ironicamente, giusto in tempo per watchOS 5 e iPhone XS, che stanno sprofondando nella pipeline dei prodotti Apple).

Per il momento, il futuro della nostra app sembra sicuro. Ma sviluppare per Apple Watch significa che non sai mai quale nuova palla curva Cupertino sta per lanciarti.

Se le grandi aziende come Google e Facebook si sono arrese, non c'è da meravigliarsi se i piccoli sviluppatori indipendenti come noi stanno lottando.

Le app di Apple Watch sono in una spirale di morte

A tutto questo, potresti semplicemente dire "Meh, qualunque cosa, chi usa comunque le app di Apple Watch in questi giorni?" Sempre più persone sono felici di usare i loro smartwatch solo per notifiche, fitness e Apple Pay. La maggior parte apparentemente non vede molto bisogno di app di terze parti.

Ma non sono d'accordo. La scomparsa delle app di Apple Watch è diventata una profezia che si autoavvera. Ancora più importante, le cose non devono andare in questo modo.

Quello che vedo accadere con le app Watch in questo momento è ciò che il guru degli affari Seth Godin una volta ha descritto come un "spirale della morte.”

Gli sviluppatori trovano difficile mantenere le loro app per Apple Watch, quindi smettono di svilupparle. Gli utenti vedono una scelta limitata di app Watch goffe e datate e non si preoccupano di scaricarle. Apple vede un calo di interesse per le app Watch di terze parti, quindi non si preoccupa di migliorare gli strumenti per costruirle. E così il ciclo continua.

Non puoi restringere la tua strada verso la grandezza. Consentire a Watch App Store di appassire e morire mentre ci si concentra su alcune funzionalità principali potrebbe avere senso a breve termine. Ma a mio parere, questo approccio mina il potenziale futuro della piattaforma.

Perché le app Apple Watch di terze parti sono ancora importanti?

Penso che l'unico motivo per cui le app di Apple Watch attualmente fanno schifo sia perché in questo momento fa schifo essere uno sviluppatore di app per Watch.

Apple potrebbe fare molte cose per incoraggiare gli sviluppatori a supportare watchOS in futuro. Il passo più importante, secondo me, è migliorare gli strumenti per sviluppatori di Apple Watch. Quindi, Apple dovrebbe smettere di apportare grandi modifiche ai framework ogni anno. Solo allora gli sviluppatori torneranno sulla piattaforma.

Mi rendo conto che le app non saranno mai così importanti per Apple Watch come lo sono per iPhone. Ma se Cupertino ci desse un po' più di amore per gli sviluppatori, penso che le app di Apple Watch potrebbero diventare un ecosistema ricco e variegato a pieno titolo.

Se Apple modificherà il suo approccio, una gamma rinvigorita di app Watch di terze parti inietterà nuovo valore e innovazione nella piattaforma watchOS. E lo sviluppo di app per Apple Watch non sembrerà una scommessa sulla vita o sulla morte per gli sviluppatori indipendenti.

Ultimo post sul blog

| Culto di Mac
September 10, 2021

Il senso dell'umorismo di Mark Hamill ha un lato oscuroFoto: imgur.com/raggedrabbitLuke Skywalker è serio, ferocemente serio e sembra mancare del s...

| Culto di Mac
September 10, 2021

Google sta realizzando i propri chip per telefoni e laptop. Suona familiare?Un nuovo chip interno potrebbe alimentare Google Pixel il prossimo anno...

Notizie, analisi e opinioni su Apple, oltre a notizie tecniche generali
September 10, 2021

Un'altra rara superficie Mac vintage: Macintosh SE con custodia in plastica trasparenteMacintosh SE con custodia trasparente, nome in codice "Aladd...