$ open peonies.mumu.party

Peonies

Un sito per comporre un mazzo di fiori disegnato con caratteri ASCII, scrivere un biglietto e mandarlo con un link. Chi lo apre lo vede sbocciare.

:-=+*#%
intensità 01
ITPeonia: amore romantico e affetto, spesso nei bouquet da sposa.
JPBotan (牡丹): coraggio.
CNMǔdan, il «re dei fiori»: prosperità, ricchezza e onore.
01 / 08

Un mazzo fatto di caratteri

Il mazzo non è un'immagine: è una griglia di 436 × 178 celle. Ogni cella ha un'intensità da 0 a 1 e un colore, e diventa uno di sette caratteri, dal più leggero al più pieno.

Ogni cella sa anche quando comparire. Sul sito è il tempo dell'animazione; qui è il punto della pagina in cui sei arrivato.

02 / 08

Prima la carta

La carta da fiorista dietro il mazzo si apre a ventaglio come i fiori, con le punte piegate in alto. Davanti, due lembi si incrociano come quando il fiorista avvolge gli steli.

È tutta geometria: poligoni, l'ombra calcolata dalla distanza dal bordo, le pieghe come raggi che partono dalla legatura.

03 / 08

Gli steli crescono dal basso

Ogni fiore ha uno stelo che parte dal punto di legatura e sale fino alla corolla, aprendosi verso l'esterno. Le celle compaiono dal basso verso l'alto, ognuna con un breve lampo * prima di posarsi.

04 / 08

Il verde riempie i vuoti

Rametti di eucalipto lungo il ventaglio, nuvole di gipsofila sul bordo e qualche foglia sugli steli più esterni.

Ogni foglia apre un sottile spazio vuoto attorno a sé, così le forme sovrapposte restano leggibili invece di impastarsi.

05 / 08

I fiori, dal fondo al davanti

I fiori partono sparsi dentro un ventaglio e si spingono a vicenda finché si sovrappongono solo un po', come gli steli in un mazzo legato a mano. Ne esce una cupola naturale, diversa a ogni Rimescola.

Poi sbocciano uno alla volta, dal più lontano al più vicino, ciascuno dal centro verso l'esterno.

06 / 08

Dodici fiori, ognuno con la sua forma

Peonie a cinque strati di petali, rose a spirale, girasoli con i semi disposti come in natura, gigli con le antere, ortensie fatte di piccoli fiori a quattro petali.

Ogni petalo è più scuro alla base e sul bordo: così due petali sovrapposti si leggono come due petali, anche fatti solo di caratteri.

07 / 08

Il mazzo viaggia dentro il link

Chi compone sceglie per chi è, l'occasione e il paese di chi riceve, scrive il biglietto e manda un link. Tutto il mazzo sta nel link, dopo il #: nessun database.

Per WhatsApp c'è anche un link corto con l'anteprima del mazzo, salvato su Cloudflare KV. E il mazzo si può scaricare come GIF.

08 / 08

E cosa vuol dire

Lo stesso fiore cambia significato da un paese all'altro. Il sito conosce i significati in Italia, USA e Regno Unito, Francia, Giappone, Cina e Russia, con le fonti.

Se un fiore può mandare il messaggio sbagliato, per esempio una rosa rossa a un'amica, lo dice e propone un'alternativa.

Com'è fatto

PaginaHTML, CSS e JavaScript, senza framework né build
DisegnoCanvas 2D su una griglia di caratteri
HostingCloudflare Pages, deploy da GitHub
Link cortiCloudflare Pages Functions + KV, scadono dopo un anno
GIFgenerate nel browser con gifenc
Versionichangelog con numerazione GRANDE.media.piccola

In numeri

12tipi di fiore
12colori
15fiori al massimo per mazzo
6paesi con i significati
0database per i link lunghi

Cosa ho imparato

Le prestazioni su telefono contano. All'inizio il mazzo veniva rimpicciolito a ogni fotogramma e su telefono scattava; rimpicciolirlo una sola volta e ridisegnare solo le celle che cambiano ha dimezzato il lavoro.

Lo stato può vivere nell'URL. Mettere tutto il mazzo nel link evita un database da gestire; il servizio di link corti è un'aggiunta, e se manca il sito funziona lo stesso.

Rilasciare con ordine. Ogni versione ha il suo numero e una riga nel changelog, e i link a CSS e JS cambiano a ogni versione, così nessuno resta con i file vecchi in cache.

Provalo

Componi un mazzo su peonies.mumu.party e mandalo a qualcuno. Se hai un'idea per un fiore, un colore o qualcosa che non va, lasciami un consiglio.

Apri peonies ↗ Consigli pubblicati ↗

Per domande scrivimi a lorenzo.mustone@gmail.com o usa la chat del sito.