Dentro de ConveyThis Tecnología: creación de nuestro rastreador de sitios web
Mejora de la experiencia del usuario: ConveyThis presenta la gestión de URL
Numerosos usuarios de ConveyThis prefieren tener todas las URL de sus sitios web traducidas correctamente, lo que puede ser una tarea exigente, especialmente para sitios extensos traducidos a varios idiomas.
Los comentarios de los usuarios han demostrado que algunos clientes encontraron el comienzo de sus proyectos iniciales de traducción de sitios web algo desconcertantes. A menudo se preguntaban por qué solo podían ver la URL de la página de inicio en la lista de traducción y cómo crear traducciones de su contenido.
Esto indicaba un área potencial de mejora. Vimos una oportunidad para facilitar un proceso de incorporación más fluido y una gestión de proyectos más eficiente. Sin embargo, nos faltaba una solución concreta en ese momento.
El resultado, como habrás podido suponer, fue la introducción de la función de gestión de URL, que permite a los usuarios escanear las URL de sus sitios web y generar su contenido traducido a través del panel de control ConveyThis, de forma rápida y eficaz.
Recientemente, esta función se trasladó de la Lista de traducciones a una nueva página de gestión de traducciones basada en URL, más adaptable y potente. Ahora, creemos que es hora de revelar la historia detrás del inicio de esta característica.
Adoptando Golang: ConveyThis' viaje hacia servicios de traducción mejorados
El inicio del bloqueo de 2020 debido a la pandemia me ofreció la oportunidad de aprender finalmente el lenguaje de programación Golang que había sido dejado de lado debido a limitaciones de tiempo.
Desarrollado por Google, Golang o Go ha ido ganando popularidad en los últimos años. Un lenguaje de programación compilado estáticamente, Golang fue diseñado para permitir a los desarrolladores crear código eficiente, confiable y concurrente. Su simplicidad admite la escritura y el mantenimiento de programas extensos y complicados sin sacrificar la velocidad.
Al considerar un posible proyecto paralelo para familiarizarme con Golang, me vino a la mente un rastreador web. Cumplió con los criterios mencionados y potencialmente ofreció una solución para los usuarios de ConveyThis. Un rastreador web o 'bot' es un programa que visita un sitio web para extraer datos.
Para ConveyThis, nuestro objetivo era desarrollar una herramienta para que los usuarios escanearan su sitio y recuperaran todas las URL. Además, queríamos agilizar el proceso de generación de traducciones. Actualmente, los usuarios deben visitar su sitio web en un idioma traducido para generarlos, una tarea que resulta desalentadora para sitios grandes en varios idiomas.
Aunque el prototipo inicial era sencillo (un programa que toma una URL como entrada y comienza a rastrear el sitio), fue rápido y eficaz. Alex, ConveyThis', CTO, vio el potencial de esta solución y dio luz verde a la investigación y el desarrollo para perfeccionar el concepto y contemplar cómo albergar el futuro servicio de producción.
Navegando por la tendencia sin servidor con Go y ConveyThis
En el proceso de finalizar el bot rastreador web, nos encontramos lidiando con los matices de diferentes CMS e integraciones. Entonces surgió la pregunta: ¿cómo podemos presentar mejor el bot a nuestros usuarios?
Inicialmente, consideramos el enfoque probado de usar AWS con una interfaz de servidor web. Sin embargo, surgieron varios problemas potenciales. Teníamos incertidumbre sobre la carga del servidor, el uso simultáneo por parte de múltiples usuarios y nuestra falta de experiencia con el alojamiento del programa Go.
Esto nos llevó a considerar un escenario de alojamiento sin servidor. Esto ofrecía beneficios como la gestión de la infraestructura por parte del proveedor y la escalabilidad inherente, lo que la convertía en una solución ideal para ConveyThis. Significaba que no teníamos que preocuparnos por la capacidad del servidor, ya que cada solicitud operaría en su propio contenedor aislado.
Sin embargo, en 2020, la informática sin servidor venía con un límite de 5 minutos. Esto resultó ser un problema para nuestro bot, que podría ser necesario para rastrear grandes sitios de comercio electrónico con numerosas páginas. Afortunadamente, a principios de 2020, AWS amplió el límite a 15 minutos, aunque habilitar esta función resultó ser una tarea desafiante. Finalmente, encontramos la solución activando el código sin servidor con SQS, el servicio de cola de mensajes de AWS.
El viaje hacia las comunicaciones interactivas de bots en tiempo real con ConveyThis
Cuando resolvimos el dilema del hospedaje, teníamos otro obstáculo que superar. Ahora teníamos un bot funcional, alojado de manera eficiente y escalable. La tarea restante era transmitir los datos generados por el bot a nuestros usuarios.
Con el objetivo de lograr la máxima interactividad, me decidí por la comunicación en tiempo real entre el bot y el panel ConveyThis. Si bien el tiempo real no es un requisito para dicha función, quería que nuestros usuarios recibieran comentarios inmediatos tan pronto como el bot comenzara a funcionar.
Para lograr esto, desarrollamos un servidor websocket Node.js simple, alojado en una instancia AWS EC2. Esto requirió algunos ajustes en el bot para comunicarse con el servidor websocket y automatizar la implementación. Después de pruebas exhaustivas, estábamos listos para la transición a la producción.
Lo que comenzó como un proyecto paralelo finalmente encontró su lugar en el tablero. A través de los desafíos, adquirí conocimientos en Go y perfeccioné mis habilidades en el entorno de AWS. Encontré Go particularmente beneficioso para tareas de red, programación cooperativa y computación sin servidor, dada su baja huella de memoria.
Tenemos planes futuros ya que el bot trae nuevas oportunidades. Nuestro objetivo es reescribir nuestra herramienta de recuento de palabras para lograr una mayor eficiencia y, potencialmente, utilizarla para calentar el caché. Espero que hayas disfrutado de este adelanto del mundo tecnológico de ConveyThis tanto como yo he disfrutado compartiéndolo.
La traducción, mucho más que saber idiomas, es un proceso complejo.
Si sigue nuestros consejos y utiliza ConveyThis, sus páginas traducidas resonarán en su audiencia y parecerán nativas del idioma de destino.
Si bien exige esfuerzo, el resultado es gratificante. Si está traduciendo un sitio web, ConveyThis puede ahorrarle horas con la traducción automática.
¡Prueba ConveyThis gratis durante 7 días!