Moving away from Java, hello Electron!
It's been fun, if not chaotic and frustrating wrestling with low-level UI features on Linux, Windows, and OSX simultaneously from within the JVM. While Java is a great choice for many cross-platform app deployments, it has been nothing but a nightmare for us because of the level of OS integration expected by end users from something as intimate as an encrypted cloud storage client. And that's not even mentioning the horrors of JWrapper.
With Java, Our engineers had to spend countless hours wrestling with the JVM just to get basic features we take for granted in single-platform development, such as run-on-startup, desktop icons, system tray icons, etc., to work on all of our supported OSes. Even though the current version of the DuroCloud client is fully functional, eventually we had to throw in the towel and say enough is enough.
Our leadership has made the executive decision to migrate all existing development efforts on the DuroCloud client to Atom.io's venerable Electron app framework. Based on the Chromium Embedded framework, and used by the likes of Atom, Spotify, GitHub Client, and many others, Electron will allow us to create a seamless and cohesive user experience that is sleek and consistent across Linux, Windows, and OSX. Check them out here.