Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite the application with Java / OpenJDK 10 #9

Closed
pinhead84 opened this issue Oct 8, 2018 · 1 comment
Closed

Rewrite the application with Java / OpenJDK 10 #9

pinhead84 opened this issue Oct 8, 2018 · 1 comment
Milestone

Comments

@pinhead84
Copy link
Contributor

Using Tcl/Tk offers a lot of advantages for this project. But unfortunately it also has some negative aspects:

  • The environment is not very well supported. There aren't any good IDE's for Tcl development available, which makes contributions quite difficult.
  • Due to the lack of native implementations we have to rely on external applications (OpenSSH, VNC servers), which are quite difficult to handle (especially in case of errors).
  • It is not possible to sign the created binary on modern macOS systems. Therefore it's basically impossible to start the application bundle on macOS in a straightforward way (without bypassing the security mechanics of the operating system).
  • On different platforms we use different VNC servers. Their feature set is quite different. Therefore it's not easily possible to provide a wider range of features on all platforms (e.g. file transfers).

Our goal is to provide a solution, that works reliably on all operating systems with a common set of features. After some investigation we came to the conclusion, that Java with its multi platform approach might solve these issues quite well - especially since they provide a way to create a stripped down version of their runtime environment since Java 9 (via Jigsaw / jlink).

After some experiments we can confirm, that our tests with java.awt.Robot offered comparable performance to the established VNC solutions. But of course there should be space for optimization left. ;)

Bundling the application with OpenJDK 10 leads to an uncompressed application folder with about 50MB. A compressed download has a size of about 25MB - 30MB. This of course is a lot bigger then most other VNC solutions. But these are still acceptable values for our use case. Considering the advantages of a consistent environment for all supported platforms outweigh the bigger download sizes from our point of view.

To make a long story short: We're planning to rework RemoteSupportTool entirely in Java. As far as we know, there are some similar projects in the Java world. But either they are not completely open source or they are not actively maintained anymore. Hopefully we can fill that gap and provide a solution, that is also helpful for other users / companies.

@pinhead84
Copy link
Contributor Author

fixed with the release of version 1.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant