Ideas for Google Summer of Code/Desktop GUI

From Apertium
Jump to navigation Jump to search

We have several User interfaces, but many of them are either unmaintained, or only work on Android, or require a net connection, or only work with pairs that use only Java-ported modules, or require a lot of terminal work to set up.

The point of this project is to create a desktop GUI that works with any of the pairs that you can use through the terminal, and that offers at least the features of apertium-html-tools. We want users to be able to just click an icon, and have an app come up with a UI similar to https://apertium.org (at least as user-friendly). Document translation should be included (currently turned off on apertium.org).

The backend should probably use a locally running apertium-apy (since this already handles pipeline management quite well), starting it up along with the app and shutting it down when the app exits. APY is not used on Windows/Mac - but you can just reuse the Simpleton code for those two.

The app should work cross-platform - Windows, Mac OS X, Linux, etc. While Qt gives you that for free on the GUI side, the package and process handling is not as portable. We'll need 5-6 different systems: Windows, OS X, apt-get, yum, zypper, and dnf - we've got the repositories, so just need to use them. On Linux, this means asking for sudo priviledges to execute the correct install commands, probably via PolicyKit / polkit.


Features and tasks

  • Should "just work" for the user
  • Work with package-installed as well as self-compiled pairs
  • Handle startup and management of apertium-apy
    • We might need some minor enhancements to apy, to ensure not too many pipelines are running at once and using up all the RAM
  • Nice and functional GUI :)
  • Be easy to package (for making .deb/.rpm's)
  • Translate-as-you-type
  • Document translation
  • Spelling (could just use locally installed myspell/enchant here) on both input and output
  • Possibly a button to do OCR if tesseract is installed (low priority)

Coding challenge

  • Install apy and some language pair(s), and make a simple desktop GUI with an in-box and and out-box, which translates as you type using the server on localhost.

Frequently asked questions

  • none yet, ask us something! :)

See also