The Sphere App team aimed to update the Android version of their app to be compatible with the latest Android SDKs and Qt while also addressing other dependencies. However, they encountered several challenges during the update process, including compatibility issues with the first version of the app's Firebase released in 2019, differences in compilation parameters and dependencies between IOS and Android versions, and uncertainty regarding the need to update a few sections, among others. The team also considered migrating both IOS and Android versions to Qt 6.0, which could resolve issues in both versions. However, the migration was hindered since the QtPurchase library responsible for in-app purchases in newer versions of Qt was discontinuided.
After extensive research and analysis, the team concluded that porting the Android version of the Sphere App to Qt 5.15.2 and addressing the various dependencies is not feasible under the current circumstances due to the encountered challenges. Future efforts may focus on finding alternative solutions or libraries to overcome these challenges. In the meantime, the Android version of the Sphere App will remain compiled with Qt 5.13 and released through an apk. Additionally, we implemented a series of bug fixes to the latest version of the app that improves its functionality and usability, including fixes for the timer for frequency selection, code-mixing variables, audio stream generation, background audio, saving frequencies, unsupported QT version, upgrade crashes, "Create my Plan" questionnaire crashes, password confirmation, frequencies after session, and session completion crashes. These bug fixes will ensure users have a smoother and more reliable experience using the app.
Our team significantly improved the functionality and usability of the Sphere App by implementing several bug fixes to the latest version. However, during the update process of the Android version of the app, we encountered several challenges that hindered porting it to Qt 5.15.2 and addressing the dependencies. Thus, we concluded that this approach is not feasible under current circumstances. On the bright side, the client has agreed to a future project in which we will rewrite the app using Dart and Flutter, providing an effective and efficient solution for addressing the app's current issues and enhancing its performance. We will pursue this exciting new challenge in the near future.
Check out some of the related projects