I wallpapers minimali sono una di quelle ossessioni silenziose che non confessi a nessuno. Non ne parli a cena, non li metti nel curriculum, però ti ritrovi alle undici di sera con quattordici schede aperte su siti che promettono "4K Ultra HD Premium Wallpapers" e consegnano un JPEG da 900 pixel, stirato fino a sembrare un acquerello bagnato, con sopra il watermark di un sito che ha chiuso nel 2017.

Poi c'è la variante peggiore: il wallpaper bello davvero. Lo trovi, lo scarichi, lo metti. È perfetto per tre giorni. Al quarto giorno lo hai visto talmente tante volte che non lo vedi più. Ti serve il prossimo. E il ciclo ricomincia, con l'aggravante che nel frattempo hai accettato sette banner di cookie e installato mentalmente tre tracker.

Alla fine ho fatto la cosa che faccio sempre quando un problema mi annoia più di quanto mi spaventi: me lo sono costruito da solo. Si chiama wallpapers.robertobonfa.com, è gratis, non chiede niente, non salva niente e genera wallpapers minimali direttamente dentro il tuo browser. Nessun account, nessuna email, nessun "sblocca il download premium".


L'idea non è mia: il merito è di Pedro Neres

Voglio essere onesto subito, perché le cose rubate senza dirlo hanno la brutta abitudine di tornare indietro.

L'ispirazione arriva da WLLPR, un progetto di Pedro Neres[^Il progetto originale WLLPR è pubblicamente consultabile e utilizzabile all'indirizzo [bypedroneres.github.io/wllpr-website](https://bypedroneres.github.io/wllpr-website/): sei grafiche generative, dodici palette, generazione interamente lato browser. Un lavoro pulito, elegante e - soprattutto - onesto.]. Un generatore di sfondi minimali con sei grafiche e una dozzina di combinazioni cromatiche, costruito con una sobrietà che mi ha conquistato al primo caricamento: apri la pagina, premi un pulsante, esce una cosa bella. Nessun onboarding, nessun tutorial, nessuna finestra modale che ti chiede se vuoi iscriverti alla newsletter mentre stai ancora capendo cosa fa il sito.

Wallpapers Minimali

Ho passato una serata a premere quel pulsante come un bambino con l'interruttore della luce. Poi è arrivato il momento fatale, quello che ogni persona con una vena nerd conosce benissimo: «sì, però io lo vorrei anche…».

Volevo più grafiche. Volevo poter scegliere il formato dello schermo. Volevo la modalità scura. Volevo la grana - quel micro-rumore che fa sembrare un'immagine digitale una stampa vera e non un rendering appena uscito dalla scheda video. Volevo salvarlo dritto nella galleria del telefono senza passare per la cartella Download, dove le immagini vanno a morire. (Chi ha un iPhone può capirmi...)

E soprattutto volevo poterlo rifare identico. Ci torno tra poco, perché è la parte che mi diverte di più.

📝
Cosa vuol dire "generativo"
Una grafica generativa non è un'immagine salvata da qualche parte che il sito ti consegna. È una ricetta: un insieme di regole (dove metto le montagne, quanto sono alte, quanti alberi ci stanno sulla cresta) che il computer esegue ogni volta da capo, con un pizzico di casualità controllata. Il risultato è che l'immagine che stai guardando non esisteva prima che tu aprissi la pagina e non esisterà da nessuna parte quando chiuderai la scheda, a meno che tu non la scarichi. È arte usa e getta, con la differenza che puoi produrne quanta ne vuoi.

Cosa fa il generatore di wallpapers minimali

Partiamo dai numeri, che sono la cosa che si legge meglio.

Wallpapers Minimali

Sul sito ci sono 31 grafiche generative e 20 palette di colori curate a mano, con in più la possibilità di costruirti la tua palette personalizzata oppure di lasciar generare al sito una combinazione cromatica armonica a caso. Ogni immagine può essere prodotta in modalità chiara o scura, con tre livelli di grana (assente, leggera, forte) e - per la maggior parte delle grafiche - con uno slider di intensità che decide quanto è affollata la scena: poche montagne enormi oppure una catena alpina intera, cinque pallini o una pioggia di puntini.

Le grafiche sono divise in famiglie che ho costruito nel tempo, quasi sempre di sera, quasi sempre giurando che quella era l'ultima. (Credo sia una sorta di ossessione compulsiva... 😅)

Ci sono i paesaggi: colline con i pini in silhouette, dune di sabbia, montagne stratificate, un notturno con la luna, le stelle cadenti e la vetta innevata, un faro sul mare con il fascio di luce e la scia dei riflessi, un'aurora boreale vera - con le tende luminose, non le solite due bande sfumate - una skyline al tramonto in stile poster e una metropoli neon con la pioggia obliqua che sembra uscita da un film che hai già visto tre volte.

Ci sono le geometrie: archi concentrici, composizioni Bauhaus, strisce ad angolo libero, raggi, griglie, retini di punti, una gemma sfaccettata con la luce direzionale, una montagna low-poly triangolata, un'eclissi con l'alone.

E poi ci sono gli oggetti e i materiali, che sono i miei preferiti perché nascono da una fissazione tutta mia per le cose analogiche: il terrazzo alla veneziana con i ciottoli smussati, un foglio di blocco giallo americano con il doppio margine, i fori della rilegatura, l'angolo piegato e le macchie di caffè con tanto di goccioline, una scrivania vista dall'alto con la tazza, la matita e la piantina, un quaderno a quadretti, un circuito stampato con i chip e le piste, un ritaglio di carta stratificato, un fiocco di neve a simmetria esagonale, una composizione Memphis anni ottanta.

Trenta grafiche, venti palette. Fanno 600 combinazioni curate. Ma è qui che il conto diventa interessante.


"Praticamente infinite" non è una figura retorica

Ogni immagine nasce da un seed[^Il *seed* (letteralmente "seme") è il numero di partenza che alimenta il generatore di numeri pseudo-casuali. Stesso seme, stessa sequenza di numeri, stesso risultato: è il principio alla base di tutta la casualità riproducibile in informatica, dai mondi di Minecraft alle simulazioni scientifiche.], un numero che il sito mostra apertamente in un campo di testo, che puoi modificare, copiare e incollare.

Quel numero è ciò che decide dove cade ogni montagna, quanto è irregolare ogni cresta, dove si accende ogni finestra della città notturna. Cambi il seed, cambia tutta la composizione: stessa grafica, stessa palette, ma un disegno completamente diverso. E i seed disponibili sono oltre quattro miliardi (ho utilizzato una AI per calcolare il numero seguente, perché a metà avevo perso il conto 😂).

Quindi facciamo il conto vero, quello che spiega perché il numero di sfondi possibili è di fatto illimitato.

Ingrediente Quante scelte
Grafiche generative 31
Palette curate 20 (+ personalizzata + casuale armonica)
Modalità 2 (chiara / scura)
Grana 3 (no / leggera / forte)
Intensità slider continuo su gran parte delle grafiche
Seed oltre 4 miliardi
Risoluzioni 7 preset + dimensioni personalizzate
Wallpapers Minimali
Grafiche
Wallpapers Minimali
Palette
Wallpapers Minimali
Modo
Wallpapers Minimali
Grana
Wallpapers Minimali
Intensità
Wallpapers Minimali
Risoluzione

Moltiplica pure con calma. Trenta per venti per due per tre fanno già 3.600 configurazioni "di base", ognuna delle quali si moltiplica per quattro miliardi di varianti di composizione, il tutto prima ancora di toccare lo slider dell'intensità o di inventarti una palette tua. Il risultato è un numero con più cifre di quante ne servano per essere onesti: non finirai mai i wallpaper. Nemmeno se ne cambiassi uno all'ora per il resto della tua vita e della vita dei tuoi nipoti.

Il che, detto tra noi, è esattamente il motivo per cui l'ho scritto.


Il seed, ovvero l'impronta digitale del wallpaper

Questa è la parte che mi ha divertito di più e mi perdonerete la deviazione, ma ho un debole per tutto ciò che è investigativo.

Wallpapers Minimali
Seed

Quando trovi un'immagine che ti piace davvero, il nome del file scaricato contiene la grafica, la palette e il seed. Sono le tre coordinate che identificano quell'immagine in modo univoco. È una impronta digitale: rimetti quei tre valori nel sito, da qualsiasi dispositivo, a qualsiasi risoluzione, anche tra due anni: riottieni esattamente lo stesso disegno. Pixel per pixel.

È il motivo per cui il generatore disegna tutto in proporzione allo schermo invece che in pixel fissi: lo stesso sfondo che vedi in anteprima nel browser è lo stesso che esce a 3840×2160, o a 5120×1440 se hai uno di quei monitor larghi come una pista d'atterraggio (credo di essermi appena auto-sfottuto 🤨). L'anteprima non è un'approssimazione di quello che otterrai: è la stessa scena, disegnata più piccola.

Ho un debole per questa cosa perché somiglia molto al lavoro di ricostruzione che fanno i personaggi dei romanzi che leggo - penso a Lincoln Rhyme di Jeffery Deaver in Il collezionista di ossa, capace di ricostruire un'intera scena partendo da tre granelli di polvere. Qui i granelli sono tre stringhe di testo, ma il principio è lo stesso: da un'informazione minima si ricostruisce tutto il resto. Chi ha lavorato con gli hash e le firme digitali capisce al volo perché la trovo una proprietà bellissima.

📝
Perché la riproducibilità conta (davvero)
Sembra un dettaglio da smanettoni, ma ha un uso pratico immediato: puoi generare la stessa identica grafica nel formato del telefono, in quello del tablet e in quello del monitor, ottenendo un set coerente per tutti i tuoi dispositivi. Stesso seed, tre risoluzioni diverse, stessa composizione. È la cosa che chiedono tutti i pacchetti di wallpaper a pagamento e che qui esce gratis, cambiando una voce in un menu a tendina.

La lezione che mi è costata una serata intera: i colori

La prima versione del generatore era, tecnicamente, perfetta. Funzionava tutto. Ed era bruttissima.

Sul serio: sembrava il campionario di un imbianchino che ha perso una scommessa. Ho passato un tempo imbarazzante a chiedermi dove fosse l'errore, perché il codice faceva esattamente quello che gli avevo chiesto. Il punto è che gli avevo chiesto la cosa sbagliata.

Stavo usando i colori delle palette come colori: quattro tinte, prese in ordine e riciclate a rotazione tra i vari livelli del disegno. Risultato: effetto Arlecchino. Ogni strato urlava contro quello accanto, senza nessuna gerarchia visiva.

La soluzione - che poi è l'intuizione del progetto originale di Pedro Neres, quindi il merito resta suo - è che una palette non è un insieme di colori: è una rampa. Una transizione continua dal tono più scuro al più chiaro, da cui ogni elemento del disegno preleva la propria sfumatura in base a quanto è lontano o vicino nella scena. Le montagne sul fondo prendono un tono, quelle in mezzo un tono leggermente diverso, quelle in primo piano un altro ancora. Non ci sono salti: c'è profondità.

Cambiata quella singola idea, tutte e trenta le grafiche sono migliorate insieme, nello stesso momento, senza toccarne il disegno. È una di quelle rare volte in cui, dopo vent'anni di informatica, ti ricordi che il problema quasi mai è dove lo stai cercando.

C'è una nota nella documentazione interna del progetto scritta in maiuscolo che dice, più o meno: non riprovare quella strada. La tengo lì come un cartello stradale in un punto dove ho già sbandato una volta.


Qui parlo con il cappello di chi si occupa un po' di sicurezza, giusto due righe, poi torniamo alle montagne.

Il generatore è interamente lato browser[^Il disegno è realizzato con l'elemento `canvas` delle specifiche HTML, documentato su [MDN Web Docs](https://developer.mozilla.org/it/docs/Web/API/Canvas_API): l'immagine viene calcolata dal browser sul dispositivo, non ricevuta da un server.]. Quando apri il sito, il tuo browser scarica la pagina e da quel momento in poi non parla più con nessuno. L'immagine non viene generata su un server e spedita a te: viene disegnata sul tuo dispositivo, dalla tua CPU, dentro la tua scheda del browser.

Le conseguenze sono tutte piacevoli. Non c'è un banner dei cookie perché non ci sono cookie. Non c'è una informativa sul trattamento dei dati perché non c'è nessun dato da trattare: il sito non sa quale grafica hai scelto, non sa cosa hai scaricato, non sa che sei passato. Non c'è nessun servizio di statistiche, nessun pixel di tracciamento, nessuna libreria di terze parti caricata da un dominio che nessuno ha mai controllato davvero.

L'unica cosa che viene salvata è la palette personalizzata che ti costruisci tu, memorizzata nel tuo browser e mai spedita da nessuna parte. Puoi cancellarla svuotando i dati del sito. Fine dell'informativa sulla privacy: è tutta qui, in un paragrafo.

Aggiungo una conseguenza pratica: funziona anche senza connessione, una volta caricato. Se sei su un aereo, in metropolitana o in una di quelle case di campagna dove il segnale arriva solo se ti sporgi dalla finestra, continua a generare wallpaper come se niente fosse.


Dove vive il sito (piccolo tour dell'homelab)

Il generatore non è ospitato su un servizio di terzi: gira in casa mia.

Vive dentro un container leggero su un piccolo server domestico che tengo acceso ventiquattr'ore su ventiquattro, con appena mezzo giga di memoria assegnata, perché per servire un sito statico serve pochissimo. Il collegamento con il mondo esterno passa attraverso un tunnel Cloudflare[^Un tunnel Cloudflare stabilisce una connessione in uscita dal server verso la rete Cloudflare, che poi pubblica il sito. La documentazione ufficiale è su [Cloudflare Zero Trust]. Il vantaggio: nessuna porta in ingresso aperta sul router di casa e l'indirizzo IP domestico non è esposto pubblicamente.], che è il modo elegante di dire che sul mio router non c'è nemmeno una porta aperta verso Internet.

Wallpapers Minimali

Nessuno può bussare direttamente al server: è il server che va a bussare a Cloudflare e da lì il sito viene servito al mondo. Meno superficie esposta, meno grattacapi. In cambio ottengo certificato HTTPS, protezione dagli attacchi volumetrici e una rete di distribuzione mondiale che io, da solo, non potrei permettermi nemmeno per sbaglio.

Il costo di gestione mensile è la corrente elettrica di un dispositivo che consuma quanto una lampadina a LED. Il costo di manutenzione, per ora, è zero: è un sito statico, non c'è un database da aggiornare né un motore da tenere sotto controllo.


Come si usa in trenta secondi

Apri wallpapers.robertobonfa.com e trovi già un'anteprima pronta. Se sei da telefono, il sito capisce da solo che sei da telefono e ti mostra subito l'anteprima in formato verticale, invece di farti scaricare uno sfondo da monitor che poi verrebbe ritagliato malissimo.

Da lì scegli una grafica, scegli una palette, decidi se la vuoi chiara o scura, aggiungi la grana se ti piace l'effetto stampato, sposti l'intensità finché la scena non ti convince. Se non hai voglia di scegliere niente, premi la barra spaziatrice: genera una nuova variazione. Continua a premerla, è terapeutico. Io l'ho fatto per una quantità di tempo che non ammetterò mai pubblicamente. (Non vorrei mai ritrovarmi Jason Gideon a casa mia, ad analizzarmi...)

Quando trovi quello giusto scegli la risoluzione - ci sono i preset per 4K, Full HD, ultrawide, super ultrawide, iPhone, iPad, Android, più le dimensioni personalizzate fino a ottomila pixel per lato - e scarichi il PNG a piena risoluzione. Da smartphone c'è in più il pulsante «Salva in galleria», che usa la condivisione nativa del sistema[^La Web Share API permette a un sito di invocare il pannello di condivisione del sistema operativo. Su iPhone apre il classico foglio di condivisione con l'opzione «Salva immagine», che porta lo sfondo direttamente in Foto. Documentazione su [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share).]: su iPhone si apre il foglio di condivisione, tocchi «Salva immagine» e lo sfondo è in Foto, pronto da impostare. Niente giro nella cartella dei download, niente app di mezzo. (Questa parte l'ho inserita anche per me stesso.)

Wallpapers Minimali
Salva in galleria
Wallpapers Minimali
Salva immagine

L'interfaccia è in italiano e inglese, con il cambio di lingua in alto e la lingua di partenza presa da quella del browser.


Cosa non c'è (ancora)

Non mi piacciono i post promozionali che raccontano solo la parte bella, quindi ecco la lista onesta di quello che manca.

Non c'è ancora la possibilità di *condividere un link con la configurazione dentro*, cioè un indirizzo che apra il sito già impostato sulla grafica, la palette e il seed scelto. È la cosa che voglio aggiungere per prima, perché renderebbe le "impronte digitali" davvero condivisibili con un semplice messaggio. (Ignorate la parte barrata, mentre scrivevo... mi sono reso conto che ci voleva proprio 😎) Non c'è l'esportazione in formato vettoriale per le grafiche geometriche, che sarebbe utile a chi vuole stamparle grandi. E non c'è un pulsante "sorprendimi" che randomizzi tutto in un colpo solo, anche se la barra spaziatrice ci va molto vicino. (Come sopra: mi piaceva l'idea... 😒)

Sul fronte estetico invece continuo a ritoccare. Le grafiche non nascono perfette: nascono discrete, poi le guardo per tre giorni finché una sera non mi accorgo che la città notturna e la città al tramonto si somigliavano troppo e ne riscrivo una da capo in stile poster. È successo davvero ed è il motivo per cui oggi Neon è l'unica scena notturna cyberpunk e Città è diventata un tramonto con i gabbiani.

Wallpapers Minimali
Wallpapers Minimali
📝
Una nota sull'ispirazione, per chiudere il cerchio
Alcune delle grafiche - le colline con i pini, le dune, le montagne stratificate, gli archi concentrici - sono adattamenti dichiarati del lavoro di Pedro Neres. Le altre ventisei sono nate qui, spesso a partire da immagini che mi piacevano: paesaggi notturni piatti, montagne geometriche, dischi retrò tagliati dalle creste. Il credito è nel codice, nella documentazione del progetto e ora anche in questo post. Le idee buone si prendono in prestito, ma si dice sempre da chi.

Updates

  • Ho aggiunto una nuova grafica: Vinile;
  • La possibilità di condividere un link con la configurazione dentro, cioè un indirizzo che apra il sito già impostato sulla grafica, la palette e il seed scelto;
  • Il pulsante "sorprendimi" che randomizza tutto in un colpo solo;
  • Un contatore per i propri download.

Provalo (e poi dimmi cosa non va)

Il generatore di wallpapers minimali è online, è gratuito, non chiede niente in cambio e - fino a prova contraria - non ha nessun modo di sapere che tu ci sia passato: wallpapers.robertobonfa.com.

Wallpapers Minimali
wallpapers.robertobonfa.com

Apri, premi la barra spaziatrice una ventina di volte, trova quello che ti piace, scaricalo. Se poi ti va di scrivermi nei commenti quale grafica preferisci - o quale ti sembra la più brutta, che è un'informazione molto più utile - la prendo come un favore, non come una critica. Le grafiche che nessuno sceglie sono esattamente quelle che vanno riscritte.

E se hai un monitor con un rapporto d'aspetto assurdo, prova le dimensioni personalizzate. Ho messo il limite a ottomila pixel per lato pensando fosse un'esagerazione. Sono ragionevolmente sicuro che qualcuno lo raggiungerà.