Novità - Modalità demo di MaraDocs e architettura software

Abbiamo pubblicato una modalità di prova per MaraDocs che non richiede la registrazione tramite indirizzo e-mail. Basta cliccare e provare.

Martin Kurtz
SoftwareReduxMaraDocs
Novità - Modalità demo di MaraDocs e architettura software

Abbiamo approfittato del weekend di Pasqua per sviluppare e pubblicare una modalità demo per MaraDocs.

Il blog di MaraDocs è un mix di piattaforma di annunci per eventi legati a MaraDocs, ma anche uno spazio per mettere nero su bianco riflessioni su temi legali e tecnologici.

Siamo incredibilmente orgogliosi...

Io e Raui abbiamo lavorato intensamente a MaraDocs nell'ultimo anno. Dopo alcuni mesi di lavoro preparatorio da parte mia, abbiamo sicuramente dedicato 8 mesi allo sviluppo puro del prodotto. Sempre con un obiettivo in mente: creare il sistema di elaborazione documenti per studi legali, che ci liberi tutti dal peso delle caselle di posta in arrivo di qualità sempre peggiore.

Abbiamo collaborato con alcuni studi legali partner (un ringraziamento all'avv. Bafteh di BSvH!) per assicurarci di non sviluppare qualcosa che non risponda alle esigenze degli utenti finali. E abbiamo ricevuto molti suggerimenti molto utili: ad esempio, l'anteprima dei documenti è nata principalmente grazie al feedback di una delle prime utilizzatrici (avvocato specializzata in diritto di famiglia a Friburgo, grazie mille :)) e ai riscontri del personale di segreteria dello studio legale Kurtz & Lynen (https://kanzlei-kurtz.net).

Siamo davvero molto soddisfatti di MaraDocs

Prova MaraDocs senza registrazione

Prova la nostra app demo e scopri tutte le funzioni

Avvia demo MaraDocs

...eppure c'è ancora molto da fare

Un buon prodotto da solo non fa un prodotto di successo. MaraDocs è eccellente ed è usato e apprezzato quotidianamente da chi lo utilizza per il proprio lavoro. Ma chi non lo usa ancora, nella maggior parte dei casi non lo conosce ancora.

In un mondo sovraccarico di stimoli, non è facile ottenere l'attenzione dei potenziali clienti.

Il percorso del potenziale cliente è lungo:

  • C'è qualcosa...

  • Lo provo...

  • Vado effettivamente sul sito web...

  • Mi registro con il mio indirizzo e-mail...

  • Clicco sul link di login che ho ricevuto via e-mail...

  • Apro l'app e inserisco gli allegati e-mail da ottimizzare e mi rendo conto che il prodotto è geniale.

Un buon prodotto da solo non fa un prodotto di successo.

Scorciatoie verso l'app

Con la modalità demo possiamo ridurre drasticamente questo percorso e offrire ai potenziali clienti un'esperienza semplice, immediata e autentica di prova di MaraDocs. MaraDocs è divertente: l'interfaccia pulita e la possibilità di spostare e combinare pagine per creare nuovi PDF ha qualcosa di ludico.

Allo stesso tempo, la modalità demo non ci costa nulla. Per comprendere il contesto, bisogna sapere che il caricamento di file reali e allegati e-mail genera costi nella nostra infrastruttura. Dobbiamo mantenere determinate risorse disponibili per poter elaborare rapidamente e in modo reattivo le richieste di elaborazione degli utenti. Una modalità demo che inviasse file reali ai nostri server senza nemmeno richiedere una registrazione potrebbe facilmente portare al sovraccarico dei nostri server a causa di un gran numero di richieste, facendo soffrire i nostri clienti effettivi.

Elaborazione intelligente dei documenti con MaraDocs

Con MaraDocs, trasformate retroattivamente gli allegati e-mail dei vostri clienti in scansioni perfette. Ritaglio, raddrizzamento, unione, riconoscimento del testo e molto altro.

Inizia gratuitamente ora

Implementazione tecnica

Per il frontend utilizziamo React / NextJs. L'app React in esecuzione nel browser comunica in modalità normale con i nostri server dedicati all'elaborazione dei file tramite WebSocket (WebSocket è una connessione bidirezionale in cui anche il server può inviare autonomamente risultati al browser, ovvero senza richieste da parte del browser).

Per me era importante sviluppare la modalità demo in modo che riflettesse sempre lo stato di sviluppo attuale di MaraDocs e non rappresentasse un nuovo sistema separato che dovrebbe essere sviluppato in modo indipendente.

Redux Middleware

Gran parte della logica di flusso interna dell'app è gestita da middleware Redux. In sostanza, si può immaginare l'app come un'enorme macchina a stati, in cui vari eventi attivano flussi predefiniti e modificano la rappresentazione interna dei dati.

Un evento è, ad esempio, il clic su un pulsante (ad es. ruota questa pagina PDF) o anche l'inserimento di un file nell'app o anche un messaggio WebSocket dal server con i risultati di un PDF ottimizzato.

Avevo deciso di implementare le parti asincrone delle azioni che seguono questi eventi, quindi qualcosa come l'invio di dati tramite WebSocket al server, ma anche alcune delle elaborate elaborazioni PDF che eseguiamo nel browser, nella logica middleware. Questo/i middleware ascoltano e reagiscono a determinati eventi ed eseguono quindi la logica.

Architettura MaraDocs
Hot-Swapping Redux Middleware | Architettura MaraDocs

Hot-Swapping Middleware

In modalità demo viene quindi avviata la nostra app normale. Durante la registrazione dei vari middleware, tuttavia, quello che normalmente gestisce la comunicazione WebSocket viene sostituito con un middleware demo che, in caso di eventi corrispondenti, visualizza risultati simulati (preparati) con un breve tempo di attesa.

Questi file non devono quindi essere analizzati e ottimizzati ogni volta dai nostri server, ma solo una volta. Successivamente possono essere sempre ricaricati dalla nostra cache statica e in questo modo non generano praticamente alcun costo.

Abbonati alla newsletter ora

Rimanete aggiornati con noi e ricevete le ultime notizie, articoli e risorse via email.

Riflessioni generali su Redux

Redux è un modo specifico di gestire lo state nelle app Javascript. Si basa sull'idea che solo le cosiddette actions, che devono essere eseguite in un modo specifico, possano modificare i dati di stato presenti nell'app. React, ad esempio, può in questo modo garantire che le parti visibili dell'app reagiscano ai cambiamenti di stato.

La libreria Redux, che ha reso popolare questo modello software almeno nel mondo frontend (Redux), è considerata in parte eccessivamente complessa ed è stata sostituita in molti progetti più recenti da alternative più leggere. Tuttavia, abbiamo valutato attentamente il suo utilizzo. In particolare, la potente struttura middleware ci ha permesso di portare un'app complessa come MaraDocs nel browser.

La modalità demo e la facilità di gestione nel attivarla e disattivarla sostituendo un singolo "modulo" (il middleware) mi conferma che abbiamo puntato sul cavallo giusto.

Conclusione

Sono particolarmente felice delle colleghe e dei colleghi del mondo legale che condividono con me la passione per la digitalizzazione e lo sviluppo software.

L'articolo di oggi è stato un po' più tecnico. Ma è così a volte: si parte in modo innocuo e poi si finisce per approfondire un po' di più i temi.

Feedback / commenti / domande sono molto graditi tramite LinkedIn o via e-mail a info@maradocs.io.