2024 Mar 29 12:07 AM - edited 2024 Apr 02 9:12 AM
Firstly I'd like to thank the team for constantly working on the Build apps platform, I'm sure there is a lot more that goes on behind the scenes when it comes to keeping a framework as complex as this running. I only say this because there has been some 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 difference on the newer runtimes after being able to add the required Siri 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 second delays 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. To the left of the image is always from older runtimes (4.9.121) and images to the right are built with runtime 4.9.218 running natively. The screenshot comparisons are only of untouched properties which have somehow changed state. 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 (Pre 4.9.201 Build on TestFlight)
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
"By Fernando" has unexpectedly changed colour from white to black
The text color property
(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 in the button is also set to the same variable but with a not operator 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 which is very unusual .
iOS Preview app vs compiled app
Left is iOS preview. Middle is the compiled app build and right is the text property in composer pro
App is performing differently once compiled compared to the preview app. In this screenshot I made some changes to an image uploading page. In preview it performs as expected however afterwards, Text 8 unexpectedly changes font and colour despite its properties being set. Text on the button that indicates "done" has randomly assigned itself an opposite value of its Boolean state. These specific properties assigned to these texts have been untouched for 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. There is a significant effort retracing all these 'broken' features and even if I somehow correct them, it would be counter productive to see the features break again if the issues were ever addressed on the runtime build process. Furthermore with the degraded quality of my iOS apps from this runtime, I simply cannot rollout any updates due to below standard performance and must wait even longer. Perhaps it is just me and therefore I'd also like to find out from the community if anyone else has experienced these performance issues or perhaps anyone can point out anything I have done inefficiently or could do better/improve on
VG
2024 Mar 30 1:10 PM - edited 2024 Mar 31 10:44 PM
Causes for some bugs and workarounds I've discovered so far
2024 Apr 09 7:49 PM - edited 2024 Apr 09 7:51 PM
Has anyone from the team acknowledged some of these bugs ?
Especially the text and keyboard issues I left here on a comment