Im digitalen Zeitalter ist die Textproduktion allgegenwärtig geworden. Von Blogbeiträgen, sozialen Netzwerken bis hin zu Messengern verbringen Millionen Menschen täglich Stunden mit dem Verfassen von Texten. Dabei spielt die Qualität der geschriebenen Sprache eine immer größere Rolle. Grammtatik- und Rechtschreibprüfungen unterstützen dabei, Fehler zu vermeiden und professioneller aufzutreten. Tools wie Grammarly oder LanguageTool sind zwar beliebt, stoßen aber häufig auf Kritik wegen ihrer Verarbeitungsgeschwindigkeit und Datenschutzbedenken.
Genau hier setzt Harper an – eine innovative Lösung, die Grammatikprüfungen direkt im Browser lokal ausführt und so die Nutzererfahrung spürbar verbessert. Harper folgt dem Prinzip, dass Nutzer überall dort unterstützt werden sollten, wo sie schreiben. Egal, ob in WordPress, bei Facebook-Kommentaren oder WhatsApp-Nachrichten, Harper soll verfügbar und leistungsstark sein. Dank seines Kerncodes, der in Rust geschrieben ist, bietet Harper eine hohe Portabilität und Performance, da Rust auf verschiedensten Plattformen lauffähig ist. Doch wie gelingt es Harper, direkt im Browser schnell und zuverlässig zu arbeiten? Der entscheidende Unterschied liegt in der lokalen Verarbeitung.
Während viele existierende Korrekturwerkzeuge ihre Analysen in der Cloud ausführen und dadurch Verzögerungen verursachen, wird bei Harper die gesamte Grammatikprüfung direkt auf dem Gerät des Nutzers durchgeführt. Dadurch entfällt die Wartezeit für Netzwerkanfragen, was zu einer nahezu unmittelbaren Fehlererkennung führt. Dieser Vorteil wird von vielen Anwendern wertgeschätzt, die berichten, dass das Schreiben mit Harper flüssig und ohne störende Pausen vonstattengeht. Neben der Geschwindigkeit bringt die lokale Verarbeitung einen weiteren wichtigen Vorteil mit sich: Datenschutz. Da keine Texte in externe Server gesendet werden, bleiben sensible Inhalte privat und sicher.
Die Implementierung dieser Technik für den Browser stellte jedoch große Herausforderungen dar. Harper nutzt WebAssembly, eine moderne Technologie, die es ermöglicht, Code in Programmiersprachen wie Rust zu schreiben und diesen performant im Browser auszuführen. Dies war notwendig, um die komplexe Grammatikprüfung effizient bereitzustellen. Die Einbindung in Chrome-Erweiterungen erforderte zudem kreative Lösungen, um die restriktiven Vorgaben von Manifest V3 zu erfüllen, vor allem in Bezug auf das Laden und Ausführen von ausführbarem Code. Diese technische Hürde wurde durch sorgfältiges Packaging und innovative JavaScript-Bridging-Strategien gemeistert.
Eine besondere Schwierigkeit bei der Browser-Integration stellt das korrekte Lesen und Bearbeiten von Texteingabefeldern dar. Das Web ist zwar durch Standards geprägt, doch die Vielfalt der Implementierungen erschwert die einheitliche Behandlung von Textinhalten erheblich. Klassische <textarea>-Felder erlauben zwar den einfachen Zugriff auf den Text, die genaue Bestimmung der Position von Fehlern in Pixelkoordinaten ist jedoch kompliziert. Harper löst dieses Problem mittels einer Spiegelung des Textelements in eine separate, überschreibbare <div>, die exakt die gleichen Stile besitzt und darüber positioniert ist. Dort kann die Fehlerposition genau ermittelt werden, was die präzise Darstellung von Korrekturhinweisen ermöglicht.
Noch kniffliger wird es bei modernen, auf <div contenteditable="true"> basierenden Editoren, die etwa in WordPress Gutenberg oder beliebten Webdiensten verwendet werden. Hier existieren die Textelemente direkt im DOM, wodurch die Positionserkennung über die JavaScript Range API erleichtert wird. Allerdings gestaltet sich das Einfügen von Korrekturvorschlägen technisch anspruchsvoller. Veraltete Methoden wie document.execCommand sind zwar dokumentiert, funktionieren aber nicht konsistent und sind offiziell veraltet.
Stattdessen nutzt Harper eine moderne Herangehensweise, indem es direkt im DOM arbeitet und nach erfolgter Änderung entsprechende Input-Events auslöst, die den Editor veranlassen, seinen inneren Zustand zu synchronisieren. Das Lesen der sogenannten "Quelle der Wahrheit" ist dabei essenziell – nur so gelingt es, die korrekten DOM-Knoten zu erfassen und zuverlässig zu bearbeiten. Die Aufgabe, Grammatikprüfungen performant, präzise und benutzerfreundlich im Browser anzubieten, spiegelt gesellschaftliche Veränderungen wider. Immer mehr Menschen verbringen ihre Zeit in Webanwendungen, sei es beruflich oder privat. Damit wächst der Bedarf an nahtlos integrierten Tools, die Schreibprozesse verbessern, ohne den Nutzer zu bremsen oder Kompromisse beim Datenschutz einzugehen.
Harper steht für diese Vision: eine zukunftsorientierte Software, die dank moderner Webtechnologien und sorgfältiger technischer Entwicklung Autoren überall bestmöglich unterstützt. Ein weiterer spannender Aspekt ist die Möglichkeit der lokalen Nutzung großer Sprachmodelle mit Harper. Durch den Einsatz von LLM-Assisted Fuzzing, einer Methode zur Fehlerminimierung und Verbesserung der Korrekturqualität, stehen zukunftsweisende Funktionen bereit, die das Nutzererlebnis noch weiter steigern. Die Entwicklung von Harper zeigt eindrucksvoll, wie technische Innovationen und konsequenter Fokus auf Nutzerbedürfnisse Hand in Hand gehen können, um komplexe Herausforderungen wie die Echtzeit-Grammatikprüfung im Browser zu meistern. Wer viel schreibt oder professionell mit Texten arbeitet, kann von Harper erheblich profitieren.