Firstly I’d like to thank the team for constantly working on the Build apps platform, I’m sure there is a lot more than we cannot see that goes into keeping a complex operation like Build apps running. I only say this because there has been a lot of recent backlash towards the platform but I’d like to clarify that I only create this discussion post out of good faith to hopefully address some performance issues I have faced so that we as developers can release overall better quality products.
Runtime version 4.9.218 has addressed the issue with missing Siri usage string (hooray 🎉 ), however the celebration is only short-lived as I have noticed a severe reduction in native app performance and responsiveness since runtime 4.9.201. Perhaps It’s only on my end so I would be curious to know if anyone else has also noticed poor iOS performance recently. I started noticing this ever since I’ve been adding the required missing usage string myself thanks to this workaround. Drawing a comparison between natively running and iOS preview, certain unchanged components are running significantly slower and sometimes unexpected anomalies happen. There is anywhere between 5 to 10 seconds with component taps and sometimes the app freezes entirely meanwhile the device is heating up significantly. Texts are changing to unassigned colours/alignment and images are setting themselves to different resize modes. Some Boolean variables have assigned themselves the opposite of their original state and Lottie animations seem to have resized themselves.
Here are some screenshots of these weird anomalies. Both screenshots are natively running builds. Screenshots to the left are always from older runtimes (4.9.121) and images to the right are built with runtime 4.9.218 running natively. If you wish to recreate these scenarios and draw a comparison in performance, here’s some information:
How the app is intended to run, look and perform (4.9.121 build on the App Store )
How the app is running now (4.9.218 build through TestFlight)
App ID: 48782
Here’s an example of text randomly assigning itself a different colour, the property has not been changed in both versions
(Custom font SF Pro Rounded in both cases)
Images randomly changing resize modes
(Here I use a formula to achieve the same look on both iOS and Android builds as sometimes images behave differently on both platform. This property has been unchanged since 4.9.121)
Unexpected gaps and components resizing. Also unchanged properties in both versions
This page has become a nightmare. What was once a smooth simple process of posting an image has become extremely glitchy while the device lags and overheats. Problems arise when the keyboard is pulled up. First difference is that the keyboard changes colour. The contents seem to get compressed as a massive blank white space unexpectedly appears
The Background image is in between two absolutely positioned containers so they should not interact with the image. The image itself is set to a relative position. Perhaps pulling up the keyboard when typing is causing this weird behaviour, however this was not an issue in previous builds
Boolean variables assigning themselves an opposite initial state
For context, when you click on “Change picture” or “Account verification”, a process initiates which is indicated by a spinner. The spinner visibility is bound to a boolean pageVars with an initial value false. When the process starts, a formula changes this to true making the spinner visible. The text is also set to the same variable but with a notoperator so that neither the text nor spinner are in the same visible state at any given point. However In this runtime they seem to have unexpectedly switched roles. I have not made any changes to the page in months.
In conclusion
I’m not sure if I want to go ahead and make changes to my apps after this runtime to correct these anomalies without understanding what’s causing them to happen in the first place as there is a significant effort only to see features break again. Furthermore with the degraded quality of my iOS apps from this runtime, I simply cannot rollout any updates due to below standard performance. Perhaps it is just me and therefore I’d also like to find out if anyone else has experienced this or perhaps anyone can point out anything I have done inefficiently or could do better/improve on
VG