VPN Apps for Windows, macOS, Linux, and Android Devices
Client
The Client is a US software development company that owns a number of consumer VPN service brands.
Challenge
The Client had a desktop VPN solution for Windows, macOS, and Linux but wanted to have all three versions revamped and upgraded. Also, the Client planned to introduce a mobile version of the same VPN client so as to cater to the users of Android devices. In April 2018, they turned to ScienceSoft requesting desktop software upgrade and Android development services.
Solution
C++/Qt and Java/Kotlin ScienceSoft teams worked on the desktop and mobile solutions simultaneously. The upgrade of the desktop versions involved adding the OpenVPN service to the list of supported VPN services, change of tunneling protocols, and implementation of a new authentication method. A team of UI designers also joined the mobile team and created a design for the future Android app in accordance with the existing style of desktop applications.
In August 2018, ScienceSoft completed the upgrade of desktop and development of Android solutions that were all officially released by the Client in the same month. After the release, the Client wanted ScienceSoft to stay on the project and provide maintenance and support.
In September 2018, the Client requested an update for the Android app: they wanted the app to show a revamped login window on launch. ScienceSoft delivered the requested update by the end of October 2018.
Results
The Client is fully satisfied with the upgrade of desktop apps, mobile VPN client development, and collaboration with ScienceSoft in general. Maintenance and support services are still ongoing.
Technologies and Tools
Desktop: C++, Qt, QML, Qt Installer Framework, OpenVPN3, LibUV, Qt Test, Google Test, Visual Studio, CMake, Vagrant.
Android: Java, Kotlin, Android SDK, Android NDK, Gradle, RxJava, Dagger, EventBus, GreenDao, ButterKnife, Mockito, Junit.