Inside ConveyThis Tecnologia: creazione del nostro crawler del sito web
Migliorare l'esperienza utente: ConveyThis presenta la gestione degli URL
Numerosi clienti di ConveyThis preferiscono che tutti gli URL dei loro siti web siano tradotti correttamente, il che può essere un compito impegnativo, soprattutto per siti di grandi dimensioni tradotti in più lingue.
Il feedback degli utenti ha dimostrato che alcuni clienti hanno trovato piuttosto sconcertante l'inizio dei loro progetti iniziali di traduzione di siti web. Spesso si sono chiesti perché potevano visualizzare solo l'URL della home page nell'elenco delle traduzioni e come creare traduzioni dei loro contenuti.
Ciò indicava una potenziale area di miglioramento. Abbiamo visto un'opportunità per facilitare un processo di onboarding più agevole e una gestione del progetto più efficiente. Tuttavia, in quel momento mancava una soluzione concreta.
Il risultato, come avrai potuto immaginare, è stata l'introduzione della funzionalità di gestione URL. Consente agli utenti di scansionare gli URL dei loro siti Web e di generare i loro contenuti tradotti tramite la Dashboard ConveyThis, in modo rapido ed efficace.
Di recente, questa funzione è stata spostata dall'elenco delle traduzioni a una nuova pagina di gestione delle traduzioni basata su URL, più adattabile e potente. Ora, crediamo sia giunto il momento di rivelare la storia dietro l'inizio di questa funzione.
Abbracciando Golang: ConveyThis' Viaggio verso servizi di traduzione migliorati
L'inizio del blocco del 2020 dovuto alla pandemia mi ha offerto la possibilità di imparare finalmente il linguaggio di programmazione Golang che era stato messo da parte per mancanza di tempo.
Sviluppato da Google, Golang o Go ha guadagnato popolarità negli ultimi anni. Un linguaggio di programmazione compilato staticamente, Golang è stato progettato per consentire agli sviluppatori di creare codice efficiente, affidabile e simultaneo. La sua semplicità supporta la scrittura e la manutenzione di programmi estesi e complicati senza sacrificare la velocità.
Riflettendo su un potenziale progetto parallelo per familiarizzare con Golang, mi è venuto in mente un web crawler. Soddisfava i criteri menzionati e potenzialmente offriva una soluzione per gli utenti ConveyThis. Un web crawler o "bot" è un programma che visita un sito Web per estrarre dati.
Per ConveyThis, il nostro obiettivo era sviluppare uno strumento che consentisse agli utenti di scansionare il proprio sito e recuperare tutti gli URL. Inoltre, volevamo semplificare il processo di generazione delle traduzioni. Attualmente, gli utenti devono visitare il proprio sito web in una lingua tradotta per generarli, un compito che diventa arduo per i siti di grandi dimensioni e multilingue.
Sebbene il prototipo iniziale fosse semplice (un programma che prende un URL come input e inizia a scansionare il sito), si è rivelato rapido ed efficace. Alex, ConveyThis' CTO, ha visto il potenziale di questa soluzione e ha dato il via libera alla ricerca e allo sviluppo per perfezionare il concetto e contemplare come ospitare il futuro servizio di produzione.
Esplorare la tendenza del serverless con Go e ConveyThis
Nel processo di finalizzazione del bot web crawler, ci siamo trovati alle prese con le sfumature di diversi CMS e integrazioni. Quindi è sorta la domanda: come possiamo presentare al meglio ai nostri utenti il bot?
Inizialmente, abbiamo considerato l'approccio collaudato dell'utilizzo di AWS con un'interfaccia del server Web. Tuttavia, sono emersi diversi potenziali problemi. Avevamo incertezza sul carico del server, sull'utilizzo simultaneo da parte di più utenti e sulla nostra mancanza di esperienza con l'hosting del programma Go.
Ciò ci ha portato a considerare uno scenario di hosting serverless. Ciò offriva vantaggi come la gestione dell'infrastruttura da parte del provider e la scalabilità intrinseca, rendendola una soluzione ideale per ConveyThis. Ciò significava che non dovevamo preoccuparci della capacità del server poiché ogni richiesta avrebbe funzionato nel proprio contenitore isolato.
Tuttavia, nel 2020, l'elaborazione senza server prevedeva un limite di 5 minuti. Ciò si è rivelato un problema per il nostro bot che potrebbe essere potenzialmente richiesto per eseguire la scansione di grandi siti di e-commerce con numerose pagine. Fortunatamente, all'inizio del 2020, AWS ha esteso il limite a 15 minuti, sebbene l'abilitazione di questa funzione si sia rivelata un'attività impegnativa. Alla fine, abbiamo trovato la soluzione attivando il codice serverless con SQS, il servizio di accodamento dei messaggi di AWS.
Il viaggio verso le comunicazioni interattive con bot in tempo reale con ConveyThis
Quando abbiamo risolto il dilemma dell'hosting, abbiamo dovuto superare un altro ostacolo. Ora avevamo un bot funzionale, ospitato in modo efficiente e scalabile. Il compito rimanente era trasmettere i dati generati dal bot ai nostri utenti.
Puntando alla massima interattività, ho deciso per la comunicazione in tempo reale tra il bot e la dashboard ConveyThis. Sebbene il tempo reale non sia un requisito per tale funzionalità, volevo che i nostri utenti ricevessero un feedback immediato non appena il bot avesse iniziato a funzionare.
Per raggiungere questo obiettivo, abbiamo sviluppato un semplice server websocket Node.js, ospitato su un'istanza AWS EC2. Ciò ha richiesto alcune modifiche al bot per la comunicazione con il server websocket e l'automazione della distribuzione. Dopo test approfonditi, eravamo pronti per passare alla produzione.
Quello che era iniziato come un progetto secondario alla fine ha trovato il suo posto nella dashboard. Attraverso le sfide, ho acquisito conoscenze in Go e affinato le mie capacità nell'ambiente AWS. Ho trovato Go particolarmente vantaggioso per le attività di rete, la programmazione cooperativa e l'elaborazione senza server, dato il suo ridotto ingombro di memoria.
Abbiamo piani futuri poiché il bot offre nuove opportunità. Il nostro obiettivo è riscrivere il nostro strumento di conteggio delle parole per una migliore efficienza e potenzialmente utilizzarlo per il riscaldamento della cache. Spero che questa sbirciatina nel mondo tecnologico di ConveyThis ti sia piaciuta tanto quanto è piaciuto a me condividerla.
La traduzione, molto più che conoscere le lingue, è un processo complesso.
Seguendo i nostri consigli e utilizzando ConveyThis, le tue pagine tradotte troveranno riscontro nel tuo pubblico, risultando native della lingua di destinazione.
Sebbene richieda impegno, il risultato è gratificante. Se stai traducendo un sito web, ConveyThis può farti risparmiare ore con la traduzione automatica.
Prova ConveyThis gratis per 7 giorni!