Premessa
Birthday Manager è con me dal 2010. Ha visto nascere e morire il tema Holo, l’importazione dei compleanni da Facebook, quella da Google+ (pace all’anima loro)… e poi più nulla. L’ultimo aggiornamento risale a febbraio 2020: sei anni di silenzio!
Non per mancanza di voglia, sia chiaro, ma per mancanza della cosa più preziosa che abbiamo: il tempo. Ogni tanto aprivo il progetto con le migliori intenzioni, guardavo la lista delle cose da sistemare e lo richiudevo subito. Perché un’app ferma per sei anni non resta ferma… invecchia! E nel frattempo:
- Gradle e l’Android Gradle Plugin erano cambiati così tanto che il progetto non compilava nemmeno più;
- Google Play continuava a chiedere un targetSdk sempre più alto, con nuove regole su notifiche, allarmi ed edge-to-edge;
- le librerie di Play Billing e AdMob che usavo erano ormai deprecate;
- nel codice c’erano ancora i resti di Facebook, Google+ e perfino del vecchio client Apache HTTP.
Insomma, il classico debito tecnico: settimane di lavoro solo per tornare al punto di partenza. Settimane che, semplicemente, non avevo.
L’idea!
Qualche sera fa mi sono detto: ma se tutti parlano di Intelligenza Artificiale applicata allo sviluppo, perché non provarla sul serio su un progetto mio? Ho aperto il repository con Claude Code (l’assistente di programmazione di Anthropic che lavora direttamente sul codice dal terminale) e gli ho affidato il lavoro sporco.
E non parlo di un autocompletamento un po’ più furbo. Funziona come lavorare in coppia con un collega velocissimo e che non si stanca mai:
- io decido cosa fare e in che ordine (“porta tutto a Gradle 9, poi aggiorna le librerie, poi passiamo ad Android 17”);
- l’IA legge il codice, modifica, compila, legge gli errori, corregge e ricompila;
- io provo l’app sull’emulatore e sul telefono, guardo le modifiche e dico cosa non mi convince;
- commit e si passa al punto successivo.
Gli ho perfino insegnato le mie fisse: git-flow, come numero le versioni, come scrivo il changelog… e da lì in poi le ha rispettate da solo!
La nottata
Abbiamo iniziato la sera e siamo andati avanti in un’unica tirata fino alle 4 di notte. In poche ore sono passati: migrazione a Gradle 9.8, aggiornamento di tutte le librerie, addio a Facebook e Google+, Play Billing e AdMob nuovi, targetSdk 37 con permesso per le notifiche e allarmi esatti, consenso GDPR per la pubblicità, nuova privacy policy, nuova grafica per la lista e il dettaglio dei contatti, nuova icona e nuova schermata Pro. Alle 04:27 l’ultimo commit… e poi finalmente a letto!
Nei giorni successivi solo rifiniture: un paio di crash scovati provando la versione release sul telefono vero, le traduzioni completate, gli screenshot per il Play Store in cinque lingue e, già nella 5.1, il supporto ai tablet e la traduzione ucraina. Abbiamo anche scovato un bug vecchio di anni: in russo chi compiva 21 anni risultava avere “un anno”!
Il risultato? 253 file modificati e Birthday Manager 5.0 pubblicata sul Play Store il 9 ottobre, a soli tre giorni dall’inizio dei lavori. Sei anni di debito tecnico saldati in una notte (o quasi).
Il pensiero filosofico
I miei primi cicli li ho scritti in BASIC sul Commodore 64 e il mio primo vero programma in Pascal, quando Java ancora non esisteva e l’unico “Stack Overflow” a disposizione era il manuale. Da allora ne ho viste passare tante: Internet, Java, i JAR scaricati a mano, Maven, Gradle, Stack Overflow, GitHub… ogni volta il mestiere è cambiato un po’. Questa volta però è diverso: il collo di bottiglia non è più scrivere il codice, ma sapere cosa vuoi ottenere!
Non ho smesso di fare lo sviluppatore, ho smesso di fare il dattilografo. Decido, controllo, provo… e quando serve dico “no, così non va”. La responsabilità resta mia, e i due crash trovati solo sul telefono vero me lo hanno ricordato subito.
Per un progetto personale come Birthday Manager questo fa tutta la differenza del mondo: il problema non è mai stato non saper fare le cose, ma non avere il tempo per farle. E chissà quanti altri progetti chiusi nei cassetti potrebbero rinascere allo stesso modo…
SPOILER
E visto che parliamo di come è cambiato il modo di lavorare… anche questo articolo non l’ho scritto io! O meglio, non come lo avrei scritto una volta.
L’ho chiesto a Claude, nella stessa sessione in cui lavoriamo sul codice: gli ho dato l’idea, i punti da toccare e il finale. Lui si è letto la storia del repository e il changelog, ha ricostruito la nottata dagli orari dei commit e, per non tradirmi, si è letto anche i miei vecchi articoli per copiare il mio modo di scrivere. Io ho riletto, sistemato qualcosa e pubblicato.
Lo stesso metodo usato per il codice: io decido e controllo, l’IA scrive. E a quanto pare funziona anche per il blog!
Birthday Manager 5 vi aspetta sul Google Play Store… e per segnalazioni e suggerimenti c’è il nuovo forum di supporto!