Why was 3C All-in-One Toolbox created?
There are many reasons for the creation of this app, but I simply didn't have much choice. It's not about increasing profits otherwise I would have instead created new apps, like "Network Monitor Widget", "App Crystallizer", "App SD-Linker", "System Seeder", etc.
3C All-in-One Toolbox is a technical choice to benefit all users: more features, better integration, faster to add new features, higher performance, more linked features, etc... It's not about profits because integrated apps sell much cheaper than multiple apps. That's the choice I made to be able to implement all features requested by end-users in the most efficient way possible.
1) Users having BMW and ST and MTW often requests a merged app.
2) Users of either apps often requested features from my other apps.
3) Users requested a network monitoring which could have been achieved using yet another app (a much more profitable option)
4) Many features requested could not be efficient with 2 or 3 apps:
a) "CPU Profile"-like features required both BMW and ST apps to read battery data, making the whole process very inefficient.
b) Battery saver controlling system components during screen-off would have required ST and MTW to communicate with each other or implement duplicate system monitoring.
5) Many features requested could not be implemented in existing apps because they require new permissions (3C Toolbox requests 30+ permissions), which increases the rating and support spam. *
a) Calllog backup/restore
b) SMS backup/restore
c) Component (wifi, bt, etc) control
d) More component state recording (tethering, etc)
6) Many features requested required large modifications of the app, potentially causing much instability and unhappy users. Beta testing those features in another app provides a much better user experience on the long run. *
a) Multi-backup, would have caused a lot of instability in all app management screens, beta testing will definitely avoid this.
b) Battery calibration is currently too complicated, but changing it can cause even more support queries.
7) Many UI change requests, with one requirement: the app must continue to work as before, or existing users get very angry, this over time increases development time dramatically, having to maintain old and new behaviors, and if further changes are required, that's even more behavior to maintain, which in turn increases the risk of instability.
8) Maintaining 3+ apps with similar widgets, settings and common features is cumbersome and consumes a lot of time that could be used for actual new features.