The Fix is In

On the way to updating the Xamarin app that has been available since 2017 a bug crept in on the current users which I didn’t see in that release. It effected only users of a less used feature in it if the user was running the app on an Android 14 phone. It did not effect iOS and Windows users.

It was also hard for me to see the bug since Microsoft fixed it last October and the app had been updated since then and didn’t show in an Android 14 emulator. One of the problems again is that back in the day when I started using Xamarin Microsoft had a free-wheeling forum where it was actually easier to find reported bugs than their current setup. To find it required the right search terms.

The bug was in the DateTime API for Android where it was returning a zero as the timezone offset rather than the time zone for the device. I had to do nothing but release the build that I had for Android which included Android 14 in the manifest as the maximum targeted SDK. There is no Android 14 SDK for Xamarin (there is for MAUI) but Android 13 is okay for the build SDK. This allowed developers to release a Xamarin update beyond May 1st and my update is on Google Play.

In the meantime anyway I attempted using MAUI to update the app at least for Android. As I recently mentioned I don’t like to change the UI on users for an update but for an upgrade (or new edition) is okay. One improvement if the Flyout menu that I use in the Xamarin version since MAUI has the real deal. The one Xamarin was a third party hack.

Most all of the app action takes place on the backend so that doesn’t need to change much except that for the main page is on Android and iOS it uses a CarouselPage. Seems that Xamarin (quietly) replaced (or added) a CarouselView back in the day. News to me. It’s also the replacement for CarouselPage in MAUI.

While the CarouselPage worked fine in Xamarin it the CarouselView in MAUI does not. When such drastic changes take place with frameworks pitchforks and torches break out from the app developers. Such action breaks things. The problem? I think a lot of the staff that Microsoft hires it fresh out of college and ill prepared how the real world works. So you need to support both features which they seem to hate.

For the moment it’s a “showstopper” and I don’t want to replace the “gallery” look of the carousel with tabs.

Trying to work on this also showed me why so many of Microsoft’s MAUI and Xamarin developers use Macs instead of Windows. I tried switching development on my MacBook Air which has only 8 GB of memory using Visual Studio 2022 for the Mac (which goes away in August) and while my Windows PC struggled with building and testing an app no problem on the Mac. However noting that the emulator comes up smaller and dimly remember that Google at some point not only mentioned using the Hyper-V it also mentioned a high power graphics card would suffice which I have on the development PC. Making the emulator screen smaller got rid of performance problems on the PC.