This is a rough concept for using web technologies for the local user interface, replacing the Swing-based user interface. The basic idea is this:
- The user downloads the software
- They start languagetool-standalone.jar
- A local webserver is started on port 8080 (other ports are tried automatically if 8080 is used already)
- The user's default web browser is started, showing http://localhost:8080, which looks a lot like languagetool.org today but with more features (set mother tongue, activate/deactivate rules, …)
- When the user checks a text, the API running at http://localhost:8080 is used
What's good about this?
- We'd be using the same technology for the stand-alone client and the web interface
- By doing so, the interface at languagetool.org would become complete, features like rule configuration would be added
- We'd be using technologies that are more widespread among developers than Swing is
- It's easy to add a "remote" mode, where a different LT server is used instead of the local one (e.g. to take advantage of the ngram data which is available on languagetool.org, but usually not locally)
What's bad about this?
- It's a lot of work
There's an incomplete prototype implementation, see page attachments. The main class to start is LocalWebAppConcept.