This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Adequate team size and financial commitment from Microsoft to fix the >2500 bugs (& growing) in MAUI (or at least get the most basic core functions like Border/Editor/Image/Layout working) #17910
Labels
Description
Advantages of MAUI
I am new to MAUI (only been here 3 weeks) but I already think it is a fantastic system. I was previously working in systems that are completely disconnected from the underlying OS. The advantages of having a system like MAUI where you are directly interfacing with the underlying OS to use native elements are immense and don't need to be repeated. That is why we are all here. It is truly game changing for someone like me coming into it. I am already having a blast with it.
The basic design is also really well written - for example, Behaviors are really fun and easy ways to code rather than inheriting all the time to make new classes. It is also easy to create new systems that interact with the base native code.
Problems With MAUI
If I am understanding correctly, there seem to be an avalanche of bugs and not adequate team members to resolve them. This seems to be an underlying problem that has been going on for some time from what I see from people who were here before me.
For example, I read comments like this: https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-1/#comment-18844 and this https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-1/#comment-18944 with terror.
That user is upset because it sounds like he has been trying to transfer from Xamarin to using MAUI since 2022 (now forced because Xamarin is phasing out) and still has severe bug reports from 2022 going unfixed. This is not unique. The entire comment thread is people upset with bugs present >1 year and not enough resources from Microsoft to fix them. Then the poor Microsoft dev writing the blog trying to answer them when it is obviously not his fault.
To quote that one user linked:
Severity of Existing Bugs
In just the past 3 weeks I have been trying to replicate core basic necessary functions in MAUI that I would need for any app, I have encountered and submitted the following Bug Reports:
Image causes a catastrophic glitch in Android after 1-5 loads of any embedded image in the project (I solved this for myself by re-writing a new image loading method, but how will others survive this?): [Android] Image.Source = ImageSource.FromResource() & ImageSource.FromStream() are not reliably integrating back with the MainThread #17857
Android ignores requests for heights/widths of AbsoluteLayout/VerticalStackLayout (which are core objects everyone must use): Android not allowing AbsoluteLayout/VerticalStackLayout Height and Width to be set properly (working on iOS/Windows) #17883
AbsoluteLayout/VerticalStackLayout render 1 pixel padding around them causing objects to overlap and show through around the edges of the screen on all platforms (again, core classes everyone needs): Border cannot render to the requested size and instead renders a 1-2 px margin around itself each time (Windows/iOS/Android all affected) #17882
Entire words are going missing from Label display in Android under clearly reproducible conditions (how can anyone build an app where entire words may disappear in the biggest mobile OS on earth?): [Android] Entire words omitted & letters truncated from Label display #17884
Shadow has wrong internal pixel scaling in Android (likely a 1-2 hour at most fix to apply, as I already found the issue and gave a quickfix): MAUI Android Shadow function is missing internal View.Context.ToPixels() function to get proper scaling (simple proof included) #17886
Editor in iOS is completely broken in .NET 7 (doesn't scroll at all) and in .NET 8 exhibits bizarre unusable function in its scrolling, going entirely off the screen if you keep typing (how can you build an app with any significant user input for iPhone users without working Editor function?): [iOS] Editor autoscrolls its text view completely off the screen if you press 'return' too many times, has no constraint against scrolling the text view off screen. Objects lag in resizing around it. #17757
Border is truncating the top left corner of anything nested into it (Border is meant to be our primary 'drawn element' on screen - it is the primary display workhorse of MAUI along with the Layout elements & Label): Nested Border renders top left corner bizarrely wrong with truncation in iOS/Windows (okay in Android) #17761
MediaElement cannot load any embedded videos at all (this is "Community Toolkit" but it is also the suggested video player for the project, and it is totally unusable as it can't even load videos): [BUG] Setting MediaElement.Source to an embedded video does not work? No matter how it is set? CommunityToolkit/Maui#1433
The AppWindow.TitleBar in Windows is completely broken, not allowing you to set its text or get its height, and the AppWindow.Position function associated with it is broken too: AppWindow.Position, AppWindow.Move, and AppWindow.TitleBar.Height all are faulty and give wrong results. AppWindow.TitleBar.Title does not show up in Window (simple repro project included) #17679
Shadows on Labels disappear in Windows and don't return when Label opacity is tweened between 0 and 1: Shadow on Label disappears permanently and won't come back if Label opacity is ever tweened down to zero #17916
The Big Issue
What is disturbing to me is none of these are high level functions. They are all also possible to reproduce with 40-180 lines of code. They are not using any complex systems. They are basic things like Layout, Label, Shadow, and Border. I did not go looking for any of them either. I just started trying to build very basic displays to test simple functions I need and issue after issue came up causing bizarre problems I had to track down.
I post the list of what I have seen in just the past 3 weeks to illustrate: What do you see when you read this list? Are these esoteric or complex reproduction conditions?
They are not. They are very core and basic functions. With the exception of the last few perhaps (which some people could survive without), all will potentially cripple anyone developing any app no matter who is building it or what their design is at all. They are all using just the most basic functions of MAUI that we all will need like Border/Layout/Editor/Image.
How can anyone build an effective app when these (the most basic fundamental tools like Border, Editor, Image, and Layout) are not working correctly in simple easily reproduced conditions?
I presume perhaps looking optimistically no one simply highlighted these issues in a clear way. But I also see the loads of people complaining that MAUI has had major reported bugs since 2022 that remain unfixed and that Microsoft is not allocating resources to fix them, and it makes me genuinely concerned in the bigger sense. More and more issues are posted each day but no one is assigned to fix them and the list keeps growing. I only see 2-3 guys on this page from Microsoft replying or looking at things.
Questions
I am sincerely not writing this to troll or abuse or put down anyone involved in the project or at Microsoft. I am incredibly grateful for the project as I need it very much. I already love the system. When I found the Image loading bug above, I was able to solve it in just a few hours by writing my own image loading code because the basic system is highly versatile. This is a vote of confidence to how well designed it generally is. It is a far better design than anything else on the market even in its damaged state.
Perhaps people in the trenches at Microsoft are not in a position to comment. But is there anyone that can comment on the seriousness that MAUI is being developed with? Maybe the people up high don't realize what's happening in the trenches? Is there any reasonable plan for correcting the >2000 reported active bugs? Or at least getting the basic core functions working like Border/Layout/Label/Editor to a production level? If so, on what timeline?
Thanks for any thoughts and all your continued efforts.
Public API Changes
Intended Use-Case
Have a beautiful working MAUI ecosystem everyone can enjoy for years to come, replacing all the other garbage multi-platform systems. :)
The text was updated successfully, but these errors were encountered: