As you all know from our previous release, we worked very hard at getting Android to perform at the same level as iOS, and I believe we succeeded in doing so but we failed in some features that were critical to the release. After shipping that last version, we noticed that even though we had improved Android performance on the device, we had not succeeded (dare I say “failed miserably?”) at Android build performance on our cloud. And yes, we knew that, but as the usual trade-off of development cycle goes, we decided to ship what we had.
Then, as we started integrating monetization features and working on the performance features, we ran into several integration walls that made it very difficult to manage the integration of the different options we offer for monetization. So, a decision had to be made — we could ship what we had been working on and play the lottery game and expect the integration to go really smooth and succeeded in building an app, or we could fail completely. The odds of failing builds were pretty high.
Yes, it would have been easy to blame someone else for the integration woes. “It’s Google fault!” or “It’s Android!” Nevertheless, we decided to bite the bullet and make the decision that will make it easier across the board for you, us, and our third-party vendors to integrate with Corona.
Here is a perfect example (and a true work example) in trying to build a specific app on Android: It took over 8 minutes to produce an app’s APK. If in each one of the builds, a new test was done and a bug fix was introduced — so, doing that 10 times would yield 80 minutes wasted just on waiting for the build server to return the app’s APK. Grrrr!!!
The good news about this is that the new build process that we have now implemented internally is yielding a 30-second build time. Phew! (remember: this is internal and we still have some optimizations to do and while this is great, build times may be reduced even further or increase depending on load time, we are even optimizing our load balancer and that even shows great performance improvements).
So, given our grief with Android, hopefully, this will be the last build improvement we will need to do for a while. Because of this detour, we had to delay other work. We decided to push out the graphics performance and focus on getting the monetization features in ASAP now that we have blazing builds speeds on Android.
We have continued to fix bugs for both Android and iOS versions of Corona, and a lot of you have e-mailed me directly thanking me for fixing “your” bug. But this time round, we had a bug inside, and I ask for your patience as we fix it. Once we roll this out, you will see dramatic build performances, and continued flawless integration of new features into Corona.
Posted by Carlos Icaza. Thanks for reading...