Caso di studio · Settore pubblico
Una città che deve rispondere ai suoi cittadini — e può dimostrare di averlo fatto.
Un portale web e un’applicazione mobile per un’amministrazione comunale: i cittadini segnalano problemi sulle infrastrutture pubbliche, il personale li assegna e li segue, le squadre li chiudono con un rapporto di intervento fotografato — e il cittadino che ha fatto la segnalazione la approva. In produzione dal 2020, con una chiusura media della segnalazione in cinque giorni. Costruito da Far Rainbow su CUBA Platform, il framework che è diventato Jmix, anni prima del cambio di nome.
- In produzione dal
- 2020
- Cittadini serviti
- ~80,000
- Tempo medio di chiusura
- 5 giorni
- Cosa abbiamo costruito
- portale + app un unico core, due client
- Stati del workflow
- 10
- Chi chiude una segnalazione
- il cittadino
Perché su questa pagina non c’è il logo del cliente
Non possiamo nominare l’amministrazione né dire dove gira il sistema. È questo l’accordo, e non saremo noi il fornitore che lo rompe per una pagina di marketing. Quello che possiamo fare è mostrare il sistema stesso — il workflow, le schermate, l’architettura e le decisioni che ci stanno dietro. Se vi serve la referenza, chiedetecela in un incontro e vi diremo ciò che ci è consentito dirvi.
Qual è il problema che un comune ha davvero?
Non la carenza di segnalazioni. Un lampione rotto arriva in un municipio come una telefonata al centralino, un passaggio allo sportello, un commento sulla pagina Facebook e un’email a un indirizzo che legge un solo impiegato. Quattro canali, quattro elenchi privati, nessun orologio che corre su nessuno di essi.
Le conseguenze sono le stesse ovunque. Nessuno sa dire quanti problemi sono aperti oggi, quali sono fuori scadenza, o quale squadra è stata mandata dove. La stessa buca viene segnalata undici volte e assegnata due. E quando il lavoro è fatto, nessuno lo dice a chi l’ha segnalato — così lo segnala di nuovo, o si lamenta in pubblico che non succede mai niente.
L’amministrazione non è pigra. Sta lavorando senza un elenco condiviso e senza un segnale di chiusura.
Come si muove una segnalazione
Dieci stati, un solo orologio, niente che possa sparire in silenzio.
La maggior parte dei sistemi di gestione delle segnalazioni ha tre stati e una casella di posta. Questo ne ha dieci, perché i casi interessanti sono quelli per cui un modello a tre stati non ha una parola: una segnalazione respinta in moderazione, un lavoro che la squadra dice concluso e il cittadino dice no, e una segnalazione a cui nessuno risponde. Ogni stato è di uno di tre tipi — nascosto dal feed pubblico, impostato dal sistema anziché da una persona, o pubblico.
- 01In moderazione — un moderatore legge la segnalazione prima che venga mandato qualcunonascosto
- 02Respinta — con una motivazione scritta, mostrata all’autore e a nessun altronascosto
- 03In lavorazione — accettata, instradata per categoria, pubblicata nel feed. L’orologio parte quipubblico
- 04Fornitore assegnato — l’incarico va alla squadra o all’appaltatore responsabile di quella categoriapubblico
- 05In lavorazione dal fornitore — il lavoro è accettato ed è in corsopubblico
- 06Completata dal fornitore — chiusa solo con un rapporto di intervento fotografato allegatopubblico
- 07In attesa di approvazione — il cittadino che l’ha segnalata ha sette giorni di calendario per risponderepubblico
- 08Confermata dal cittadino — il cittadino accetta il lavoro. È l’unica chiusura pulitapubblico
- 09Completata per timeout — sette giorni, nessuna risposta; il sistema la chiude e lo dichiarasistema
- 10Smentita — il cittadino rifiuta il lavoro; si apre una nuova segnalazione, collegata a questa, che ripercorre tutto il ciclopubblico
Lo stato 10 è quello che costa denaro se lo si sbaglia ed è quello che la maggior parte dei sistemi salta. Un rapporto di intervento rifiutato non riapre la vecchia segnalazione azzerandone in silenzio l’età — ne apre una nuova che porta il collegamento all’indietro, così l’incarico originale conserva la sua storia reale e il secondo tentativo ottiene il proprio orologio.
Il lato pubblico
L’intero ciclo sta in una scheda
Questo è il feed pubblico del portale. Una scheda porta la segnalazione, la fotografia scattata dal cittadino, la risposta della squadra con la propria fotografia, la data in cui il problema è stato risolto, e la riga verde che conta — confermata dal cittadino, con la data della conferma. Per leggerlo non serve nessun login.
Il prodotto
Ecco che aspetto può avere un prodotto “costruito su Jmix”
Tre schermate dell’applicazione rilasciata: la home del cittadino, una segnalazione in attesa dell’approvazione del cittadino, e la stessa segnalazione accettata e chiusa. Schede basate sulle foto, una catena di stati visibile, un tocco per il canale di emergenza.
Segnalare un problema richiede quattro passi, e uno di essi è insolito
Categoria, sottocategoria, indirizzo, descrizione — poi fino a cinque fotografie. Il segnaposto che il telefono ha già collocato sulla mappa viene confrontato con l’indirizzo, e una fotografia il cui geotag si trova altrove viene segnalata anziché accettata in silenzio.
Il passo insolito è la prima voce dell’elenco. Reato sta sopra le dodici categorie ordinarie e si comporta in modo diverso: una segnalazione di reato può essere inviata in forma anonima e non viene mai pubblicata nel feed pubblico. Va agli agenti che devono riceverla e a nessun altro. La stessa schermata porta il canale di emergenza — SOS e una chiamata diretta al 112.
Cittadino
- Segnalazione in 4 passi
- Fino a 5 foto
- Verifica geotag
- Più comuni da seguire
- SOS e 112
- Denuncia anonima
Segnalazione
- 12 categorie
- Sottocategorie
- Indirizzo italiano completo
- 10 stati
- Rapporto con foto
- Riaperture collegate
Amministrazione
- Instradamento per categoria
- Allarmi scadenza
- E-mail appaltatori
- Template rapporti
- Broadcast push ed e-mail
- 7 ruoli
Pubblico
- Mappa segnalazioni aperte
- Pin colorati per stato
- Statistiche
- Risolte di recente
- Sottoscrizioni
- Lettura senza login
Chi lo usa
Un municipio non è un solo sportello — perciò il sistema ha sette ruoli
Il modo più rapido per rendere inutilizzabile un sistema comunale è modellare l’amministrazione come “admin” e “utente”. Sette ruoli, ciascuno con le proprie schermate e la propria porzione di dati, è quello che è servito perché le persone che gestiscono davvero una segnalazione vedano solo il proprio lavoro.
- Amministratore
- Gestisce l’installazione: comuni, categorie, sottocategorie, regole di instradamento, le persone che ricoprono tutti gli altri ruoli.
- Moderatore del comune
- Legge le segnalazioni in arrivo per una sola amministrazione e decide se ciascuna viene pubblicata o respinta con una motivazione.
- Moderatore globale
- Lo stesso lavoro su tutti i comuni dell’installazione — la rete di sicurezza quando un moderatore locale è in ferie.
- Operatore del comune
- Lo sportello che gestisce davvero la coda: assegna il lavoro, tiene d’occhio gli allarmi di scadenza, pubblica il rapporto che chiude l’incarico.
- Subappaltatore
- La squadra o l’impresa esterna che esegue il lavoro e deposita il rapporto fotografato. Riceve gli incarichi per e-mail; vede l’incarico, non il cittadino.
- Funzionario di protezione civile
- Riceve le categorie di emergenza, dove quello che conta è la velocità e una segnalazione non è un ticket in coda.
- Agente delle forze dell’ordine
- L’unico ruolo che può vedere le segnalazioni anonime di reato. Non arrivano mai al feed pubblico, ai moderatori o agli operatori.
La regola sulla privacy che è facile non notare
Quando un incarico viene inviato per e-mail a un appaltatore esterno, i dati personali del cittadino ne vengono rimossi. L’appaltatore riceve il luogo, la categoria e le fotografie; non riceve il nome, il numero di telefono o l’account dietro la segnalazione. Non è una funzione che qualcuno abbia chiesto in una demo — è la differenza tra un flusso che un comune può far girare sotto il GDPR e uno che il suo DPO blocca.
Da quanto tempo lavorate con Jmix?
Da più tempo di quanto esista il nome. Smart Comune è stato costruito su CUBA Platform, il framework che Haulmont ha poi rinominato e ricostruito come Jmix. Il modello di dominio, il livello di sicurezza, il sistema dei ruoli e le schermate guidate dai dati di questo caso sono gli antenati diretti di quello che un progetto Jmix usa oggi.
Questo conta commercialmente in un punto preciso. La richiesta più frequente che riceviamo non è “costruiteci qualcosa di nuovo su Jmix” — è “abbiamo un sistema CUBA in produzione, il team che l’ha scritto è andato altrove, e dobbiamo decidere se migrare.” A questa rispondiamo partendo dal nostro codice, non dalla presentazione di un fornitore.
Far Rainbow è anche il venditore delle licenze Jmix in Italia. L’azienda che vi consiglia sulla piattaforma è l’azienda che la sostiene commercialmente.
Perché i cittadini lo usano più di una volta
Segnalare un problema richiede quattro tocchi: la categoria, il segnaposto che il telefono ha già collocato sulla mappa, una foto, una frase. Questa parte è facile da costruire e facile da copiare.
La parte che riporta indietro le persone è l’altro capo. Chi ha segnalato il problema riceve il rapporto di intervento della squadra e ha sette giorni di calendario per accettarlo o contestarlo. Sullo schermo l’accettazione è una riga verde — D’accordo! — posata sopra tutta la storia: in esame, in lavorazione, in attesa di approvazione. Niente sparisce in silenzio, e nessuno deve telefonare all’ufficio per chiedere.
Contestarlo è la metà interessante. Il cittadino dice che il lampione è ancora spento, e il sistema apre una segnalazione nuova collegata a quella vecchia anziché resuscitarla in silenzio. L’amministrazione conserva una documentazione onesta del primo tentativo, e il secondo tentativo avvia il proprio orologio. Se il cittadino non dice nulla per sette giorni, la segnalazione si chiude per timeout, ed è etichettata come timeout — non come conferma.
Un cittadino può seguire più di un comune, cosa che conta più di quanto sembri: le persone lavorano in un paese e vivono in un altro, l’app rileva in quale comune vi trovate, e il sistema era multi-tenant dalla prima release.
«Finalmente le persone si accorgono che il comune ascolta.»
Venderlo
Il prodotto doveva spiegarsi a due pubblici diversi
Un comune non compra un sistema di gestione delle segnalazioni come un’azienda compra un CRM. Chi firma non è chi lo userà, i cittadini vanno convinti a installare un’app prima che il sistema valga qualcosa, e tutte le persone coinvolte vogliono sapere che fine fa una segnalazione prima di affidargliene una. Per questo il sito pubblico era parte del prodotto, non un’aggiunta di marketing — e abbiamo progettato anche quello.
L’amministrazione riceve lo stesso ciclo nelle sue parole su una pagina separata — moderatore, operatore, appaltatore, rapporto fotografico, pubblicazione, conferma. È il vocabolario che un comune usa quando pone l’unica domanda che conta prima di firmare: chi fa davvero tutto questo il lunedì mattina.
Il concept da cui è partito
Sulla grafia
Il mock-up qui sopra dice Smart Commune, con due m. Era la variante inglese del nome, disegnata quando il sistema veniva mostrato a clienti fuori dall’Italia. In italiano la parola è comune — una sola m — ed è la grafia che il prodotto porta nel paese per cui è stato costruito. Abbiamo lasciato il mock-up originale come era, anziché ritoccarlo.
Cosa c’è sotto
Un solo modello di dominio, due client, nessuna seconda fonte di verità
Segnalazioni, categorie, squadre, scadenze e ruoli esistono una volta sola, in un unico modello. Il portale web e l’applicazione mobile ne sono due viste, sulla stessa API — è tutto quello che significa “due client su un core”, ed è il motivo per cui non c’è un back end mobile separato da tenere sincronizzato. Un secondo back end è il punto in cui i sistemi di questa forma marciscono di solito.
L’interfaccia è rilasciata in quattro lingue — italiano, inglese, francese e tedesco. Meno esotico di quanto sembri per un comune italiano: le province di confine ne hanno bisogno di almeno due, e un cittadino che non riesce a leggere il modulo non invia la segnalazione.
Piattaforma
- CUBA Platform
- Java
- Oggi Jmix
Dati
- PostgreSQL
- Record geolocalizzati
- Archivio foto
Client
- Portale web
- Mobile nativo
- Android 4.4+
- iOS 10+
- Feed e mappa pubblici
Operatività
- Accesso per ruoli
- Configurazione per comune
- Audit trail
- 4 lingue di interfaccia
Cosa faremmo diversamente oggi
Costruire l’integrazione con il protocollo informatico per prima, non per ultima. La segnalazione di un cittadino diventa un atto amministrativo nel momento in cui viene accettata, e ogni ora spesa a colmare quel divario più tardi è un’ora di riconciliazione.
Trattare l’audit di accessibilità come un deliverable di sprint anziché come un’attività pre-lancio. Per un servizio comunale rivolto al pubblico in Italia non è opzionale — si applicano la Legge Stanca e le linee guida AgID — e adeguarsi dopo costa sempre più che costruire conformi dall’inizio.
E pubblicare le statistiche per i cittadini, non solo per l’ufficio. Le amministrazioni che mostrano il proprio tasso di ritardo ricevono meno segnalazioni rabbiose, non di più.
La nostra parte è finita con il passaggio di consegne
Abbiamo costruito questo sistema e lo abbiamo consegnato, e lì il nostro coinvolgimento si è fermato. I sei anni in cui è rimasto in funzione da allora sono un risultato del cliente, non nostro — quello che dice di noi è che il passaggio di consegne ha funzionato: documentazione, un team in grado di prenderlo in carico, e nessuna dipendenza dalle persone che l’hanno scritto.
Lo pubblichiamo perché è l’esempio più chiaro che abbiamo dell’architettura e delle decisioni di workflow che stiamo descrivendo, non perché ci siamo ancora dentro. Se volete sapere cosa facciamo girare oggi, gli altri tre casi sono una prova migliore.
Domande
Smart Comune, risposte dirette
Che cos’è Smart Comune?
Un portale web e un’applicazione mobile che permettono a un’amministrazione comunale di ricevere, assegnare, seguire e chiudere le segnalazioni dei cittadini sulle infrastrutture pubbliche — illuminazione stradale, rifiuti, strade, verde pubblico, segnaletica, acqua. Far Rainbow l’ha progettato e costruito. È in produzione dal 2020, regge il lavoro quotidiano di un’amministrazione che serve circa 80.000 cittadini, e chiude la segnalazione media in cinque giorni.
Perché il cliente non è nominato?
Le pubbliche amministrazioni raramente consentono a un fornitore di pubblicare dettagli operativi, e noi non chiediamo loro di fare un’eccezione per il nostro marketing. Possiamo descrivere il sistema, l’architettura e il modo in cui viene gestito. Non possiamo dire quale amministrazione lo usa né dove è installato. Sotto NDA, in un incontro, possiamo andare più a fondo.
Su quale tecnologia è costruito?
CUBA Platform — il framework che è diventato Jmix — su Java e PostgreSQL, con client mobile nativi. L’abbiamo scelto anni prima del cambio di nome, che è la risposta piana alla domanda su da quanto tempo lavoriamo con questo stack: dalla sua generazione precedente. Far Rainbow è anche il venditore delle licenze Jmix in Italia, quindi la piattaforma sotto questo sistema è la piattaforma che oggi supportiamo commercialmente.
Si può costruire un prodotto esteticamente valido su Jmix, o soltanto schermate di back-office?
Entrambe le cose, e questo caso ne è la prova. Jmix e il suo predecessore CUBA Platform vi danno quasi gratis un modello dei dati, la sicurezza, i ruoli e un back end amministrativo — ed è per questo che vengono di solito mostrati come strumenti interni. Niente impedisce di progettare come si deve la parte rivolta all’utente finale: il client mobile di Smart Comune è un’app consumer basata su foto e schede, e gira sullo stesso modello di dominio del lato amministrativo. Il framework decide in quanto tempo arrivate a un sistema funzionante, non l’aspetto del prodotto.
Cosa succede se il cittadino non è d’accordo sul fatto che il lavoro sia stato fatto?
Contesta il rapporto di intervento, e il sistema apre una nuova segnalazione collegata a quella originale anziché riaprirla in silenzio. Il primo tentativo conserva la sua storia reale e la sua durata reale; il secondo tentativo avvia il proprio orologio e ripercorre tutto il ciclo. Il cittadino ha sette giorni di calendario per accettare o contestare; se non dice nulla, la segnalazione si chiude per timeout, registrato come timeout e non come conferma.
Si scrive Comune o Commune?
In Italia si scrive comune, con una sola m — è la parola italiana per municipalità ed è la grafia che porta il prodotto. Commune, con due m, era la variante inglese del nome usata quando il sistema veniva mostrato a clienti fuori dall’Italia, e sopravvive su alcuni dei primi mock-up. Stesso prodotto.
I cittadini possono segnalare un reato attraverso il sistema?
Sì, ed è gestito come un canale separato anziché come una tredicesima categoria. Una segnalazione di reato può essere inviata in forma anonima, non viene mai pubblicata nel feed pubblico ed è visibile solo al ruolo delle forze dell’ordine — non ai moderatori, non agli operatori, non agli appaltatori. La stessa schermata porta anche un’azione SOS e una chiamata diretta al 112.
Come vengono trattati i dati personali del cittadino quando il lavoro è affidato all’esterno?
L’incarico che va a un appaltatore esterno è anonimizzato: luogo, categoria, descrizione e fotografie, senza il nome, il numero di telefono o l’account dietro la segnalazione. Gli appaltatori ricevono lavoro, non i dati personali dei cittadini. Per una pubblica amministrazione italiana è questa distinzione a rendere il flusso difendibile sotto il GDPR anziché un problema per il suo DPO.
Lo stesso sistema può essere installato per un altro comune?
Sì. È stato costruito multi-comune dalla prima release: categorie, sottocategorie, squadre, scadenze, ruoli e branding sono configurazione, non codice. Attivare una nuova amministrazione è un lavoro di configurazione e caricamento dati, non un fork. L’integrazione con un protocollo o un sistema di ticketing esistente è la parte che richiede attività di progetto.
Quanto tempo richiede costruire un sistema come questo?
Una prima release in produzione di un sistema di gestione delle segnalazioni di questa forma richiede tipicamente dai quattro ai sette mesi con un team di tre a cinque persone. Dove un’amministrazione ha già un protocollo informatico o un livello GIS da integrare, prevedete una fase di discovery aggiuntiva prima di impegnarvi su una data.
Rispetta i requisiti di accessibilità del settore pubblico italiano?
L’accessibilità fa parte della specifica di qualunque cosa una pubblica amministrazione metta davanti ai cittadini — in Italia, la Legge Stanca e le linee guida AgID, che seguono la EN 301 549 e le WCAG. Trattiamo una dichiarazione di accessibilità documentata e un audit di conformità come deliverable del progetto, non come una correzione successiva.
Avanti
State costruendo qualcosa con la stessa forma?
Richieste in entrata, lavoro in uscita e un registro che regge a un audit — servizi comunali, utility, manutenzione sul campo, facility management. Il flusso di lavoro è lo stesso; cambia il vocabolario.
Una call di 30 minuti
Portate il flusso di lavoro che avete oggi. Vi diremo dove si rompe prima di preventivare qualsiasi cosa.
JmixConsulenza, ingegneri, migrazione
Vendiamo licenze Jmix in Italia e ci sviluppiamo sopra. Entrambe le cose, dalla stessa azienda.
Altri lavoriAltri case study
Sistemi in produzione, con le cifre che ci è consentito pubblicare.