Difference between revisions of "Ideas for Google Summer of Code/Desktop GUI"

From Apertium
Jump to navigation Jump to search
 
(2 intermediate revisions by one other user not shown)
Line 5: Line 5:
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 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
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.

along with the app and shutting it down when the app exits.
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.




Line 16: Line 17:
** We might need some minor enhancements to apy, to ensure not too many pipelines are running at once and using up all the RAM
** 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 :)
* Nice and functional GUI :)
* Be easy to package (for making .deb/.rpm's)
* Translate-as-you-type
* Translate-as-you-type
* Document translation
* Document translation
Line 32: Line 34:
==See also==
==See also==
* [[Interfaces]]
* [[Interfaces]]
** [[Apertium_Simpleton_UI]]
* http://wiki.apertium.org/wiki/Category:Using_Apertium
* http://wiki.apertium.org/wiki/Category:Using_Apertium



Latest revision as of 19:21, 17 March 2016

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[edit]

  • 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[edit]

  • 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[edit]

  • none yet, ask us something! :)

See also[edit]