Verbesserung der Benutzererfahrung: ConveyThis Führt URL-Verwaltung ein

Zahlreiche ConveyThis-Benutzer bevorzugen die korrekte Übersetzung aller URLs ihrer Website, was insbesondere bei umfangreichen Websites, die in mehrere Sprachen übersetzt werden, eine anspruchsvolle Aufgabe sein kann.
Das Feedback der Benutzer hat gezeigt, dass einige Kunden den Beginn ihrer ersten Erfahrungen gefunden haben Website-Übersetzung Projekte etwas verwirrend. Sie fragten sich oft, warum sie in der Übersetzungsliste nur die URL der Homepage anzeigen konnten und wie sie Übersetzungen ihrer Inhalte erstellen konnten.
Dies deutete auf einen potenziellen Bereich für Verbesserungen hin. Wir sahen eine Möglichkeit, einen reibungsloseren Onboarding-Prozess und ein effizienteres Projektmanagement zu ermöglichen. Allerdings fehlte uns in diesem Moment eine konkrete Lösung.
Das Ergebnis war, wie Sie vielleicht vermutet haben, die Einführung der URL-Verwaltungsfunktion. Es ermöglicht Benutzern, die URLs ihrer Website zu scannen und ihre übersetzten Inhalte schnell und effektiv über das ConveyThis Dashboard zu generieren.
Vor Kurzem wurde diese Funktion von der Übersetzungsliste auf eine neue, anpassungsfähigere und leistungsfähigere URL-basierte Übersetzungsverwaltungsseite verschoben. Jetzt glauben wir, dass es an der Zeit ist, die Geschichte hinter der Entstehung dieser Funktion zu enthüllen.
Golang annehmen: ConveyThis’ Weg zu verbesserten Übersetzungsdiensten

Der pandemiebedingte Lockdown im Jahr 2020 bot mir die Chance, endlich die Programmiersprache Golang zu lernen, die aus Zeitgründen nicht zur Verfügung stand.
Von Google entwickelt, erfreut sich Golang oder Go in den letzten Jahren zunehmender Beliebtheit. Golang ist eine statisch kompilierte Programmiersprache, die es Entwicklern ermöglichen soll, effizienten, zuverlässigen und gleichzeitigen Code zu erstellen. Seine Einfachheit unterstützt das Schreiben und Warten umfangreicher und komplizierter Programme, ohne dabei an Geschwindigkeit einzubüßen.
Als ich über ein mögliches Nebenprojekt nachdachte, um mich mit Golang vertraut zu machen, kam mir ein Webcrawler in den Sinn. Es erfüllte die genannten Kriterien und bot möglicherweise eine Lösung für ConveyThis-Benutzer. Ein Webcrawler oder ‘Bot’ ist ein Programm, das eine Website besucht, um Daten zu extrahieren.
Für ConveyThis war es unser Ziel, ein Tool zu entwickeln, mit dem Benutzer ihre Website scannen und alle URLs abrufen können. Darüber hinaus wollten wir den Prozess der Übersetzungsgenerierung rationalisieren. Derzeit müssen Benutzer ihre Website in einer übersetzten Sprache besuchen, um sie zu erstellen, eine Aufgabe, die für große, mehrsprachige Websites entmutigend wird.
Obwohl der ursprüngliche Prototyp unkompliziert war – ein Programm, das eine URL als Eingabe verwendet und mit dem Crawlen der Site beginnt –, war er schnell und effektiv. Alex, ConveyThis’ CTO, erkannte das Potenzial dieser Lösung und gab grünes Licht für Forschung und Entwicklung, um das Konzept zu verfeinern und darüber nachzudenken, wie der zukünftige Produktionsdienst gehostet werden kann.
Navigieren im Serverless-Trend mit Go und ConveyThis

Bei der Fertigstellung des Webcrawler-Bots haben wir uns mit den Nuancen verschiedener CMS und Integrationen auseinandergesetzt. Dann stellte sich die Frage – wie können wir unseren Nutzern den Bot am besten präsentieren?
Zunächst haben wir den bewährten Ansatz der Verwendung von AWS mit einer Webserverschnittstelle in Betracht gezogen. Es traten jedoch mehrere potenzielle Probleme auf. Wir hatten Unsicherheit über die Serverlast, die gleichzeitige Nutzung durch mehrere Benutzer und unsere mangelnde Erfahrung mit Go-Programmhosting.
Dies veranlasste uns, ein serverloses Hosting-Szenario in Betracht zu ziehen. Dies bot Vorteile wie Infrastrukturmanagement durch den Anbieter und inhärente Skalierbarkeit und machte es zu einer idealen Lösung für ConveyThis. Dies bedeutete, dass wir uns keine Sorgen um die Serverkapazität machen mussten, da jede Anfrage in einem eigenen isolierten Container ausgeführt wurde.
Allerdings war serverloses Computing im Jahr 2020 auf 5 Minuten begrenzt. Dies stellte ein Problem für unseren Bot dar, der möglicherweise große E-Commerce-Sites mit zahlreichen Seiten crawlen musste. Glücklicherweise verlängerte AWS Anfang 2020 das Limit auf 15 Minuten, obwohl sich die Aktivierung dieser Funktion als anspruchsvolle Aufgabe erwies. Schließlich fanden wir die Lösung, indem wir den serverlosen Code mit SQS – dem AWS-Nachrichtenwarteschlangendienst auslösten.
Die Reise zur interaktiven Echtzeit-Bot-Kommunikation mit ConveyThis

Als wir das Hosting-Dilemma lösten, mussten wir eine weitere Hürde überwinden. Wir hatten jetzt einen funktionsfähigen Bot, der effizient und skalierbar gehostet wurde. Die verbleibende Aufgabe bestand darin, die vom Bot generierten Daten an unsere Benutzer weiterzuleiten.
Mit dem Ziel maximaler Interaktivität habe ich mich für eine Echtzeitkommunikation zwischen dem Bot und dem ConveyThis-Dashboard entschieden. Obwohl Echtzeit für eine solche Funktion keine Voraussetzung ist, wollte ich, dass unsere Benutzer sofort Feedback erhalten, sobald der Bot zu arbeiten beginnt.
Um dies zu erreichen, haben wir einen einfachen Node.js-Websocket-Server entwickelt, der auf einer AWS EC2-Instanz gehostet wird. Dies erforderte einige Optimierungen am Bot für die Kommunikation mit dem Websocket-Server und die Automatisierung der Bereitstellung. Nach gründlichen Tests waren wir bereit, in die Produktion überzugehen.
Was als Nebenprojekt begann, fand schließlich seinen Platz im Dashboard. Durch die Herausforderungen habe ich mir Kenntnisse in Go angeeignet und meine Fähigkeiten in der AWS-Umgebung verfeinert. Aufgrund seines geringen Speicherbedarfs fand ich Go besonders vorteilhaft für Netzwerkaufgaben, kooperative Programmierung und serverloses Computing.
Wir haben Zukunftspläne, da der Bot neue Möglichkeiten bietet. Unser Ziel ist es, unser Wortzählungstool für eine bessere Effizienz neu zu schreiben und es möglicherweise zum Erwärmen des Caches zu verwenden. Ich hoffe, Ihnen hat dieser kleine Einblick in die Tech-Welt von ConveyThis’ genauso viel Spaß gemacht, wie ich ihn gerne geteilt habe.
Verwandt: Hinzufügen von Google Translate zu Ihrer WordPress-Website
