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 feed pubblico di Smart Comune: la segnalazione di un cittadino su un guasto all’illuminazione, il rapporto di intervento della squadra con una fotografia, e la segnalazione contrassegnata come confermata dal cittadino
Il portale web effettivamente rilasciato. Contenuti demo — l’indirizzo e i nomi dei comuni nella barra laterale sono mascherati, perché non ci è consentito pubblicare dati dell’amministrazione che gestisce il sistema.

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.

Tre schermate di Smart Comune: feed della home, una segnalazione in attesa di approvazione, e la stessa segnalazione accettata
Schermate reali del prodotto. Indirizzi, nomi e fotografie sono contenuti demo, non un’installazione reale — non possiamo pubblicare dati dell’amministrazione che lo gestisce.

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.

Il modulo di segnalazione di Smart Comune: dodici categorie con sopra la categoria anonima Reato, poi sottocategoria, indirizzo e descrizione
Il modulo di segnalazione nel portale web. Dodici categorie pubbliche — rifiuti, strade, illuminazione, parcheggi, trasporti, servizi di pubblica utilità, istruzione, sicurezza, vandalismo, animali selvatici, emergenze di protezione civile, disturbo della quiete pubblica — più il canale anonimo per i reati. Ognuna ha le proprie sottocategorie e la propria regola di instradamento.

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.

Come funziona davvero una migrazione CUBA → Jmix

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.»
L’amministrazione che gestisce Smart Comune, su cosa è cambiato. Non ci è consentito nominarla né nominare il comune — si veda la nota in cima a questa pagina.

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.

La home page pubblica di Smart Comune: la fotografia di una città italiana, il titolo “Sii un cittadino attivo”, un unico pulsante Nuova segnalazione, e cinque passi illustrati che spiegano come viene gestita una segnalazione
La home page pubblica. Una frase su a cosa serve il sistema, un pulsante, e tutto il ciclo disegnato in cinque passi — fino a Enjoy: il cittadino conferma l’eliminazione del problema. Spiegare che la conferma arriverà è ciò che fa funzionare il ciclo: un cittadino che sa che gli sarà chiesto aspetta la risposta anziché segnalare di nuovo la stessa buca. La fotografia dell’intestazione è un’immagine di stock, non la città in cui il sistema gira.

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

Un primo concept della landing page di Smart Comune: un’illustrazione isometrica di una città con delle persone, e un titolo che spiega il sistema ai cittadini
Un primo concept della landing page dai file di design, riportato qui come era stato disegnato.

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.