Una cosa in meno da gestire
XFLOW passa da RabbitMQ a pg-boss. Una scelta per semplificare la gestione, insieme ai primi controlli su ruoli, isolamento dei dati e installazione.

Sette commit. Rispetto alla settimana scorsa, sembra che sia successo poco.
In realtà ho preso una decisione che mi accompagnerà molto più a lungo di diverse funzioni: ho tolto RabbitMQ e portato la coda di lavoro dentro PostgreSQL, con pg-boss.
Non era una gara tra tecnologie. Pensavo all’installazione presso una PMI. Un componente in più significa un servizio da avviare, aggiornare, sorvegliare. E qualcuno da chiamare quando smette di rispondere.
Pensare a chi dovrà tenerlo acceso
FlowSharp dovrà poter vivere anche presso il cliente. È una delle intenzioni scritte all’inizio, e questa settimana ha cominciato a influenzare davvero l’architettura.
PostgreSQL era già necessario. Appoggiarci anche il lavoro in coda mi permette di ridurre i pezzi da gestire. Il lavoro asincrono resta: ci sono quattro worker e responsabilità diverse da coordinare. Ho semplicemente evitato di chiedere a chi installa il prodotto di occuparsi di un altro sistema.
Sto preparando anche gli script di installazione, compreso il percorso su Windows. È un esercizio utile: quando provi a spiegare come si avvia il tuo software fuori dalla tua macchina, scopri rapidamente quali passaggi avevi dato per scontati.
Un bottone mostrato alla persona sbagliata
Ho lavorato anche sui ruoli e sulla separazione dei dati tra aziende.
Un utente in sola lettura vedeva pulsanti che non avrebbero dovuto essergli proposti. Sembra una rifinitura, ma dal suo punto di vista è già una promessa sbagliata. Se l’interfaccia mi invita a fare qualcosa e poi mi ferma, comincio a dubitare di ciò che sto usando.
Il controllo dei permessi deve esserci sul server. L’interfaccia, però, deve aiutare la persona a capire che cosa può fare, senza costringerla a scoprirlo attraverso gli errori.
Una settimana senza grandi effetti
La v0.3 non ha l’impatto visivo del primo designer. La considero comunque una buona settimana.
Mi piace costruire, e proprio per questo devo stare attento alla tentazione di aggiungere sempre. Togliere un componente mi ha obbligato a pensare alla vita del prodotto dopo lo sviluppo: l’installazione, gli aggiornamenti, la manutenzione. È un pezzo di lavoro che nelle demo si vede poco, ma che qualcuno dovrà fare tutti i giorni.