I side project della domenica

I side project della domenica

La domenica dovrebbe avere una sua disciplina: il pranzo che si allunga, le persiane abbassate contro il pomeriggio, un libro lasciato aperto sul tavolo, la lenta amministrazione del nulla. Dovrebbe essere il giorno nel quale le cose smettono per qualche ora di reclamare attenzione. Poi ci sono quelli che accendono il computer soltanto per controllare una cosa. Una cosa piccola, un dettaglio, un webhook. Appartengo a questa confraternita senza statuto, composta da persone che alle quattro del pomeriggio dicono «ci vorranno dieci minuti» e alle nove di sera scoprono che qualcuno, senza consultarli, ha spento il sole.

GPulse è nato così. Non da un piano industriale, né da una ricerca di mercato. Nessun gruppo di consulenti ha studiato il quadrante competitivo degli strumenti per Ghost CMS. Non ci sono state quarantasette slide, tre grafici privi di unità di misura e una freccia verde rivolta verso il paradiso dei ricavi ricorrenti. C’erano soltanto alcuni miei siti costruiti con Ghost e alcune funzioni che mi servivano. Le avevo realizzate nel tempo per uso personale, come si costruisce uno scaffale perché i libri continuano a cadere. Poi erano rimaste sparse tra repository, script, configurazioni e appunti. Cose vive, ma senza una casa comune. A un certo punto ho deciso di raccoglierle in un solo luogo. Quel luogo è diventato GPulse.

Tradurre senza travestire

La prima funzione è GPulse Translate. L’esigenza era semplice da formulare e meno semplice da soddisfare: pubblicare contenuti in più lingue senza trasformare il sito in un teatrino di traduzioni applicate in superficie. Molti servizi traducono una pagina mentre il visitatore la guarda. È una soluzione legittima, ma spesso la traduzione resta una specie di pellicola trasparente appoggiata sopra il contenuto originale. Il lettore vede una lingua diversa, mentre sotto il cofano continua a esistere una sola pagina.

GPulse Translate segue un’altra strada. Quando un articolo o una pagina vengono pubblicati o aggiornati, il sistema crea in Ghost un contenuto tradotto reale. La nuova versione possiede il proprio indirizzo, il proprio slug, il tag della lingua, i riferimenti hreflang e la propria presenza nella sitemap. Non è una maschera, è un contenuto. Può essere modificato dal pannello di amministrazione, corretto, integrato e gestito come qualsiasi altro post. Le traduzioni possono vivere nello stesso sito oppure essere distribuite tra installazioni Ghost differenti.

Per chi amministra più pubblicazioni internazionali significa evitare una delle liturgie più antiche dell’informatica editoriale: copiare, incollare, cambiare finestra, perdere un paragrafo, correggere il sito sbagliato e infine domandarsi perché la versione spagnola contenga ancora una frase in tedesco. Non elimina il lavoro editoriale. Elimina una parte considerevole del lavoro stupido. Ed è spesso questa la funzione migliore del software.

Avvertire i motori di ricerca

La seconda funzione è GPulse IndexNow. Quando un contenuto viene pubblicato o modificato, Ghost invia un segnale. GPulse lo riceve e comunica ai motori di ricerca compatibili che quell’indirizzo è cambiato. Non promette di conquistare la prima posizione entro il prossimo solstizio, non interpreta i fondi del caffè della SEO e non sacrifica keyword alla divinità dell’algoritmo. Fa una cosa più modesta e, proprio per questo, utile: automatizza un tratto della tubatura digitale. Invece di aspettare che un motore di ricerca torni a visitare casualmente una pagina, gli viene comunicato che qualcosa è successo.

Era una funzione che desideravo per i miei siti. L’ho progettata, sviluppata, collegata a Ghost, provata e infine trasformata in un servizio. A quel punto è intervenuta la commedia.

La puntualità del ponte

Poco dopo aver costruito GPulse IndexNow, ho scoperto che IndexNow stava per diventare una funzione nativa di Ghost CMS. È uno dei grandi classici dell’informatica indipendente. Costruisci una barca, la progetti, scegli il legno, sistemi la vela. La dipingi, le dai un nome, prepari una bottiglia da rompere sulla prua. Inviti parenti, amici e due gabbiani interessati al buffet. Poi, mentre stai per salpare, il Comune inaugura un ponte gratuito. Il ponte ha quattro corsie, la pista ciclabile, l’illuminazione notturna e probabilmente anche un distributore di granite. La tua barca resta lì, elegante e leggermente perplessa.

Quindi sì: è possibile che abbia realizzato GPulse IndexNow quasi per niente. Il progetto è nato con la dignità malinconica di un pensionato che riceve la comunicazione il primo giorno di lavoro. Ma quel “quasi” è importante. Gestendo più siti Ghost, continuerò a trovare utile una sola dashboard dalla quale controllare connessioni, invii, errori e statistiche. Una funzione nativa risolve il problema all’interno di un sito. GPulse permette invece di osservare diversi siti insieme.

Soprattutto, IndexNow mi ha costretto a costruire l’infrastruttura sulla quale oggi vive Translate. Autenticazione, collegamenti con Ghost, webhook, gestione dei siti, code di elaborazione, controlli e pannelli di amministrazione: tutto ciò che sembrava servire a un piccolo prodotto destinato a essere superato è diventato il terreno sul quale ha potuto crescere quello successivo. La barca forse non attraverserà il fiume, ma il legno è servito per costruire una casa.

Il valore delle cose laterali

I side project funzionano spesso in questo modo. Nascono da un fastidio minuscolo: una procedura ripetitiva, un collegamento mancante, un’informazione che bisogna ricopiare ogni volta. All’inizio non sembrano progetti, ma piccole insubordinazioni contro il tempo sprecato. Poi diventano codice. Il codice diventa uno strumento. Lo strumento, qualche volta, diventa un prodotto. Altre volte viene superato da una funzione nativa, da una nuova piattaforma o da qualcuno che ha avuto la stessa idea con sei mesi di anticipo e un reparto marketing con le scarpe lucide.

Non significa necessariamente che il lavoro sia stato inutile. Un progetto produce almeno due cose: ciò che fa e ciò che insegna a fare. La prima può diventare obsoleta. La seconda rimane nelle mani.

GPulse è nato per risolvere problemi che avevo sui miei siti. Oggi raccoglie quegli strumenti e li rende disponibili a chi usa Ghost CMS e incontra le stesse necessità. Forse crescerà. Forse alcune funzioni verranno assorbite da Ghost. Forse ne arriveranno altre, nate durante una domenica nella quale avevo promesso a me stesso di non accendere il computer. È il rischio delle cose costruite davvero. Non esistono soltanto nelle presentazioni. Incontrano il mondo, e il mondo qualche volta risponde copiandole, superandole, ignorandole oppure trovando loro un’utilità che non avevamo previsto.

Per questo i side project della domenica non sono tempo perduto. Sono ricerca fatta con le mani.

GhostPulse Translate
https://gpulse.it/translate/

GhostPulse IndexNow
https://gpulse.it/indexnow/

Vuoi parlare con me?