Readit News logoReadit News
paavohtl · 7 months ago
I am worried about the future of native UI technologies on Windows. Traditionally at least the developers of operating systems have eaten their own dogfood and have at least tried to implement well-performing & visually consistent native applications to serve as an example to others. Windows 11 has largely done the opposite. Windows has had minimal but perfectly functional native email and calendar apps at least since Windows 10 (could have been in 8, never used that). Windows 11 originally shipped with those apps, but they were removed in a later update and replaced with laggy webview wrappers that take seconds to start.
pjmlp · 7 months ago
From the WinUI community calls, I would assert all new employees have zero Windows experience and management doesn't care to give them proper skills.

Too many questions that any Windows developer would know why the question was being asked, where they either couldn't answer or had puzzled looks on why the questions were being asked in first place.

That is also a reason why now there are Webview2 instances all over the place on Windows 11.

LexiMax · 7 months ago
> That is also a reason why now there are Webview2 instances all over the place on Windows 11.

I can't help but feel like there is a happy median between Native UI and WebUI that we haven't quite figured out yet.

In the gaming space there is this library called RMLUI that I have used in anger quite a bit. It gives you something that is shaped a lot like HTML and CSS, but with a built-in data binding layer, and a scripting layer that supports Lua by default but gives you the flexability to roll your own language and API. It also is a much lighter dependency than Chromium and V8.

It's missing a couple of features from vanilla HTML and CSS, but also has a bunch of unique featurea that make it far more useful in other ways. For example, it doesn't have CSS background images, but image decorators are so much more useful. And don't get me started on sprite sheets and theme media queries.

I can't help but think that something similarly shaped and designed more for general desktop use would blow the doors off of electron. My workstation has 32 gigs of RAM and yet it's often a half to three quarters full mostly because of Firefox, Discord, and Visual Studio Code instead of more lightweight apps like Visual Studio 2022.....which sounds crazy when you say it out loud.

tough · 7 months ago
so microsoft gave up and the web won?

swift ui apps have some webkit views like the app store, music app etc

curt15 · 7 months ago
Do Windows developers use Windows or Mac at work?
_fat_santa · 7 months ago
The issue I see with Windows 11's UI is they seem to focus too much on pushing new apps / features and not enough focus on catching up some of the older tools within Windows. Take for example the Control Panel which is a reskinned version of the same one that shipped with Windows 7. And I'm sure there are tools buried within the OS that probably date back to the 2000/XP days.

Windows 11 looks great if you just look at the press photos and stay a "very happy path" while using it but as soon as you start digging deeper you realize it's like that meme of Homer Simpson with clips on his back.

rs186 · 7 months ago
You forgot our favourite windows 3.1 file dialog:

https://youtu.be/r549Zn74Xg8

aprilnya · 7 months ago
Control Panel is definitely a bad example, I do see them working little by little, update by update, to integrate everything into Settings
tonyhart7 · 7 months ago
I mean business or corpo world literally force microsoft to support backward compability

in fairness rewrite it from scratch is literally easier than supporting compability since dawn of times but they forced to do it

Quarrelsome · 7 months ago
last time I used Sql Server Management studio the "add database dialog" still had that poorly placed button that its had since its release.
nine_k · 7 months ago
I won't be surprised if there is an effort to rewrite MSO in something like Dart and WASM, and make it independent from any native toolkits altogether. Yes, to reproduce all of the Excel power, and make it available everywhere as a premium plan of O365.

Then Windows could pull a ChromeOS. The only place where a native UI is really needed is the lock / login screen; a tiny subset of any current UI toolkit would suffice.

p_ing · 7 months ago
Office is a completely separate team divorced from Windows proper. Unless Office deemed it wise to rewrite their UI, they're not going to do so (and it's a frankenstein of a Win32 UI).

Office on Windows relies heavily on COM and other Win32-only libraries to function.

I can't think of a valid reason to rewrite Office to that extent. They already have Office for the web and Mac Office; while not identical in features, they're often good enough outside of BI scenarios or highly complex Excel work.

Outlook is the lone exception where that team decided to have Outlook for the web, Windows Outlook, and Mac Outlook be identical, so those are getting their rewrites with removal of Win32-specific features where applicable.

reactordev · 7 months ago
If you understood the power struggles within Microsoft and the cut throat office politics, you’d understand. Orgs are fighting orgs trying to over throw one another.
FirmwareBurner · 7 months ago
>the power struggles within Microsoft and the cut throat office politics

That's most old large orgs who have been around for ~5 decades. Nothing special about Microsoft.

whalesalad · 7 months ago
Doesn't windows have like 10 different UI frameworks? Using windows 11 is like going to the natural history museum. Certain apps like MSC still look and feel like windows 2000, then you've got some of the metro influence stuff that is big and bold and blocky colors, and then you have the win11 stuff that is more modern but honestly just looks like lipstick on a pig (right click context menu is a perfect example, it looks modern but has limited functionality and so you do the show more button and yep you guessed it just shows the older style and more functional menu)

What a cluster.

oniony · 7 months ago
I do not think that has ever been true. Features in Office and other Microsoft products were always more advanced than what was possible in the SDKs. Third party UI toolkits would often fill the gaps until MS decided to allow everyone to use those features, often years later. I guess they did it to make Office feel fresh.
arunc · 7 months ago
> Alignment with Microsoft Goals

> We are being thoughtful about resourcing. This effort is happening alongside other critical responsibilities like security, platform stability, and support for existing products. Our current focus is on foundational work that unlocks value for contributors and increase transparency. We are aligning this work with Microsoft’s broader business priorities to ensure long-term support and impact.

I don't sense any benevolence in their words. They are just pulling off their resources and dumping the framework on the public, hoping passionate losers will contribute.

michaelcampbell · 7 months ago
> passionate losers

This is unduly meanspirited. Your passion projects are not even considered to probably the vast majority of the world; that doesn't make you a loser.

I have zero interest in the Win11 UI, and am even on board with the cynical view that this is purely a bean counter cost savings for MS rather than some benevolent outreach.

But I respect the people that take this on and want to keep it going.

bialpio · 7 months ago
> Your passion projects are not even considered to probably the vast majority of the world; that doesn't make you a loser.

Not OP but I understood this as "contributing for free to a project owned by a corporation worth more money than you could realistically spend in a lifetime is what makes you a loser".

chrisandchris · 7 months ago
> I have zero interest in the Win11 UI [...]

As has the rest of the world, and we will just put it on the list of UI frameworks Microsoft did not completly implement, fully support or considering "the default".

So we stay stuck with the status quo: There's no official UI for Windows, still.

sheepscreek · 7 months ago
Thanks for calling it out. I get OPs passionate disdain for Microsoft but one must remember that the world is built on contributions from such people. Take the whole Linux and GNU ecosystem for example. We’d be lost without them.

Maybe the biggest beneficiary will be AI/LLMs - which will become way better at creating Windows UX after this.

whoknowsidont · 7 months ago
>This is unduly meanspirited.

No it's not? It's accurate.

>Your passion projects are not even considered to probably the vast majority of the world; that doesn't make you a loser.

A Windows UI project is not a "passion project" and the only """person""" that really benefits here is Microsoft.

>But I respect the people that take this on and want to keep it going.

Contribute to something else that doesn't only help the bottom line of a mega global corp?

Why are you defending this?

paavohtl · 7 months ago
This is definitely corporate speak for "no guaranteed support, no planned further updates beyond critical security bugs, you are on your own".
nine_k · 7 months ago
Apache Windows when?

More seriously, a desktop UI toolkit is hardly a moat by now, especially a Windows toolkit, Windows having 3-4 very different look-and-feels mixed and shipped with the official distribution.

OTOH security and stability are things that Windows critically depend on to stay on the laptops and desktops in medical, governmental, and financial institutions, and on devices of executives.

echelon · 7 months ago
This feels like Windows itself is no longer producing enough growth for Microsoft relative to its other efforts. Even the enterprise sales lock-in isn't compelling enough for the cloud/AI-centric future Microsoft envisions. So Microsoft is slowly pulling resources that it can instead invest into Azure and AI and other high-growth business units.

I don't watch Windows too closely. Have there been any other signals of waning investment into Windows? Has Nadella or the other leadership admitted to this?

Hasn't Microsoft also been pulling back from Xbox? IIRC, haven't they been trying to consolidate and use gaming to lionize Windows as a platform? After spending billions on multiple AAA studios? That would seem counter to a Windows pullback strategy. Is this a case of the left hand not talking to the right hand?

_fat_santa · 7 months ago
Usually I get why companies release their UI frameworks. I've strongly considered using Atlassian's and AWS's frameworks in the past to build web apps because if it's good enough for Jira/AWS, it's probably good enough for my B2B saas app.

But I personally don't know why anyone would reach for this framework. Maybe if you're building a Windows app and you want a very consistent look and for your app to feel "native", but aren't there better options out there for doing this already?

pjmlp · 7 months ago
Yeah, WinUI has been a disaster.
tempodox · 7 months ago
> hoping passionate losers will contribute.

Offloading the work to their victims. Maybe they will even make it usable again.

pjmlp · 7 months ago
No one in Windows development community cares about WinUI, other than those with sunken costs that bought into the WinRT/UWP dream and now are stuck with a dead technology.

Too many burned bridges since Windows 8 came out.

If anything, this is Microsoft confirmation that they are unwilling to fix all the broken issues, and hoping the community will somehow still care.

bytefish · 7 months ago
This. Also DevExpress and Progress Telerik do not invest into their WinUI Controls at all, and that’s a sign they don’t buy into WinUI neither.

WinForms and WPF are currently the only viable frameworks for Line of Business application. I have yet to see a WinUI3 application in the wild.

MrZander · 7 months ago
Very true. We just developed a brand new LOB desktop app and settled on sticking with WPF. WinUI has been dead for years imo.

On a side note, I still love WPF after working in it for 10 years. Maybe it's just familiarity, and it's a little verbose at times, but man it's a great framework when you know that you're doing.

danzk · 7 months ago
DevExpress supported WinUI for a little while but decided to abandon support.

One of the biggest problems with WinUI compared to WPF is that DependencyProroperty is implemented as native code, so for .NET developers, there is a huge performance penalty getting or setting any property on control.

https://github.com/microsoft/microsoft-ui-xaml/issues/1633#i...

Deleted Comment

appease7727 · 7 months ago
Honestly at this point who would seriously use any Microsoft UI framework? They've abandoned 100% of their previous UI frameworks unfinished when they get distracted by a new, shinier framework.

Why use a busted incomplete framework missing basic features when there's entire ecosystems of open source cross-platform frameworks being actively maintained and which actually have all the features you need?

Really this is just another UWP destined to be forgotten and scorned.

pjmlp · 7 months ago
Forms and WPF are still reasonable options.
9cb14c1ec0 · 7 months ago
I dunno, they are still doing doing bug fixes to Winforms.
muhehe · 7 months ago
I already lost count how many UI frameworks are in windows. It looks like complete chaos and mess.

I really wonder what they expect from open-sourcing it. Just to pretend how open they are? Or is there any real benefit to developers who target windows?

cheschire · 7 months ago
WinUI is an evolution of UWP which is an evolution of WinRT. WinUI has been around for years.

MAUI is not exactly a competing product and is more about enabling cross platform UI development. Different intent.

WinUI is actually ok tech. It’s evolved over the years through a few iterations, now on WinUI 3.

Im mostly with you though. Until they rebuild the entire OS in it, including all of the administrative controls and tools, I don’t trust the longevity.

DiabloD3 · 7 months ago
They already do, though. The big UI refresh in Win10 is all XAML, and the new Win11 taskbar (the one we all hate) is now a totally normal XAML app.

WinUI 3's big changes (to get a 3.0 version number) is not with the XAML stack itself, but its new ability to be called by unmanaged apps as a normal UI toolkit, so it can finally be used by all apps. No more using Shell UI like we're writing Win 3.1 apps.

And yes, some stuff in Win11 still isn't WinUI, which is kind of annoying, but some of those dialogs hidden away in Windows are at least 20 years old, and probably would need to be entirely rewritten, not merely have their UI's updated.

Also, fun fact: The Win8/10 taskbar's code predates Avalon (the prototype/codename for WPF), and trying to change/fix it at all usually ended up breaking it. It's one of the few binaries on Windows that would not be recompiled to build a new release image in fear of breaking it. Rewriting the taskbar made sense, GETTING RID OF SMALL MODE DID NOT, GODDAMNIT MICROSOFT.

crinkly · 7 months ago
Still writing win32 stuff like it’s 1995 here. We have bits of ATL/MFC hanging out which are throughly abandoned.

I don’t trust WinUI at all.

I was surprised, when I spoke to a former colleague, to find that an internal tool I wrote 25 years ago is still being maintained. Win32 as well.

tcfhgj · 7 months ago
I think only WinUI2 (deprecated) is an evolution of UWP (uses WinRT APIs). WinUI3 is something different.
pjmlp · 7 months ago
Hardly an evolution, that is how it is sold, reality is something else, trailing behind UWP with half the tooling.
qcnguy · 7 months ago
WinRT came out of UWP I think. UWP was their first attempt to move beyond .NET
flohofwoe · 7 months ago
They probably started something new and shiny (Now with AI!) and want to get rid of the old baggage without causing too much of a user revolt (all dozens of them) ;)
octo888 · 7 months ago
I genuinely thought a lot of these sibling comments were satire at first! The acronyms, the lengthy and confused explanations of versions, frameworks etc:

> WinUI is an evolution of UWP which is an evolution of WinRT

> WinUI 3

> WinUI 3 still supports WinRT

> XAML

> Shell UI

> Avalon

> WPF

> WPF = WinUI 1.0

> Project Reunion

> UWP

> Win2D

> ATL/MFC

> Just go for MFC FTW

> wxWidgets as it is kinda MFC-y

> Or go with Qt

> MFC/Win32 + XAML Islands

pjmlp · 7 months ago
I can produce similar lists on other domains in the industry, it is a matter of being part of the ecosystem.
deaddodo · 7 months ago
There are three UI frameworks in Windows, and only two actively used/developed.

All the other "countless" frameworks are iterations of one of two lines: Win32/Native (WinAPI, MFC, WinRT, WinUI3, etc) and WPF/Managed (Avalon, WinUI2-3, etc). WinUI3 exists to bridge the gap.

madduci · 7 months ago
Just go for MFC FTW, it is in feature freeze but I will last probably for the next 20 years yet.
badsectoracula · 7 months ago
You could also go for wxWidgets as it is kinda MFC-y but better and cross-platform, though like MFC you can combine it with Win32 API code (almost) seamlessly.

Or go with Qt, though that doesn't use native controls.

criddell · 7 months ago
MFC/Win32 + XAML Islands (through the Windows App SDK) is a pretty nice combination for stability and access to new features.
shortrounddev2 · 7 months ago
Maybe people can cannibalize some of the rendering code and extrapolate the controls to a better class library than they already have. Like a kind of winforms but using modern rendering APIs. I know you already can create such controls but they often end up being very verbose and just look like xaml but in C#
bobmcnamara · 7 months ago
> Maybe people can cannibalize some of the rendering code and extrapolate the controls to a better class library than they already have.

This just sounds like another Microsoft UI stack

tekdude · 7 months ago
I kind of wish Microsoft would just continue development of WPF. I've used it for years for various projects, and there is a learning curve but I've since enjoyed working with it. XAML, data bindings, ViewModels... all of it I actually like. But, WPF needs a few improvements to really make it perfect. I tried several of Microsoft's newer frameworks and the open source ones (Avalonia, Uno), but I either couldn't get the sample projects to even build successfully on my machine, or I never got comfortable with development workflow, and went back to what I know.

My big idea to fix WPF is to rebuild the data binding system to use the .NET compile-time code generation feature instead of run-time reflection. I think that would solve a lot of problems. For one, projects could do an actual AOT build of their applications (right now, you either need to rely on an installed .NET runtime or "publish" the project with a lot of .NET libraries included for self-extract, bloating the final file size). Code generation would probably improve performance quite a bit too, maybe open up the possibility to compile for cross-platform, introduce type safety for XAML bindings (rather than getting vague runtime binding errors), remove the need for so much class scaffolding, etc... I've thought about starting an open source project to do it myself, but seems like a pretty big task and I would essentially be starting a project to help with my other project which I already don't have enough time to work on...

S04dKHzrKT · 7 months ago
Your second paragraph sounds like you're describing Avalonia. Avalonia has AOT, compile-time binding errors and cross-platform support. Maybe there have been some updates since you last tried it? I'm not very familiar with Avalonia or WPF though so maybe there's more to it than that.

[0]: https://docs.avaloniaui.net/docs/basics/data/data-binding/co...

[1]: https://github.com/kekekeks/XamlX

tekdude · 7 months ago
Thanks, yes I'll probably have to give it another try some day. I might be confusing Avalonia and Uno, but I think I first attempted it a couple years ago, and then again last year. I remember spending a whole weekend trying to get it running but wasn't having success. Also, I was a bit turned off by how heavy the development environment was. I had to download and install a tool, then that installed more build tools and packages, and then there was also a "recommended" VS Code extension. With WPF, I've gotten used to writing XAML without a designer, so I can get by with just VSCode, the C# extension, and the .NET CLI.
MrZander · 7 months ago
It would also allow for assembly trimming, which would be a huge boon if you are trying to do a self contained deployment. Right now you either do framework dependant or have like a 200MB+ deployment.
daemin · 7 months ago
Last I evaluated it WinUI3 was a terrible developer experience. The application had to be literally installed on the system to even debug it, which means you end up with a large number of useless start menu entries, not to mention registry entries and such. Another thing was that the example programs crashed when I clicked on a button.

All I want is something simple to work with to make applications for Windows, and so far I'm still using Win32 with WTL.

bloomca · 7 months ago
> The application had to be literally installed on the system to even debug it

I think that's because you chose "packaged" application, these apps need to be installed so that capabilities are handled correctly.

To be fair, macOS has the same issue, although they won't show in Launchpad, they still can be indexed by Spotlight.

zigzag312 · 7 months ago
I want to be able to create self-contained GUI application that are relatively small and can be just copied and run on another computer. Installation should be an option, not a requirement. From my evaluation, WinUI3 doesn't offer that.
daemin · 7 months ago
I did try to develop an unpackaged test application but I gave up trying to implement it and just went with Win32 instead as I wanted make something rather than messing around with a UI framework.

These days if I were to switch from Win32 I might try some custom rendered framework which a lot of apps seem to use, or Qt.

Springtime · 7 months ago
I hope this leads to having a native vertical taskbar, which has been absent in W11 despite being a taskbar feature dating back as early as Windows 98.

Third-party tools have tried to reimplement it but it's either been by bastardizing the native W11 horizontal taskbar to be vertical (eg: Windhawk) or just restoring the old W10 taskbar code (eg: StartAllBack).

wild_pointer · 7 months ago
How will making the UI framework open source lead to taskbar changes? For third party contributions in this area, they need to open source the taskbar, not the UI framework.
Timwi · 7 months ago
Nit-pick: Windows 95, actually. The vertical taskbar was an option in its very first version.
hulitu · 7 months ago
> Nit-pick: Windows 95, actually. The vertical taskbar was an option in its very first version.

Yes, but this was when computer were less capable. Now, you are not able to choose colors or fonts, the taskbar is fixed and the programs need at least 2 seconds to start. Terrific evolution.

0points · 7 months ago
The taskbar is a feature of explorer.exe.

The news being discussed is not about explorer being open sourced.

flohofwoe · 7 months ago
Is the Windows team even using WinUI for the native Win11 desktop UI? ;)
perching_aix · 7 months ago
The Start Menu is apparently a React Native app, so I'm going to hazard a guess and just assume WinUI is built on top of React, and that the Start Menu at least is thus indeed built with WinUI. But it's also clear that some other parts aren't, so who knows what's what. I'm sure there are folks who spent time reverse engineering it all though who do.
madeofpalk · 7 months ago
It's confusing what exactly 'WinUI' is, but does Explorer looks WinUI-ish. Parts of it at least.
bob1029 · 7 months ago
For Windows UIs I've been getting into Win32/GDI/DirectDraw/etc.

Tools like CsWin32 and modern C# (ref returns) make working with these APIs a lot more approachable today. It used to be the case that you had to create a nasty C++ project to do any of this. Now you can just list the methods you need access to in your nativemethods.txt file and the codegen takes care of the rest.

Win32 is a lot lower level than other things you'd typically consider to be a "UI framework", but the important tradeoff is that it is also a lot harder for Microsoft to remove or screw with in any meaningful way. I cannot come up with something that has been more stable than these APIs. The web doesn't even come close if we are looking at the same timescales.

pjmlp · 7 months ago
You still need C++ in many places, because of the COM rulez attitude within Windows team.

Windows Runtime Components was a lost opportunity to level up the play field for .NET.

As such, if you want to do something like a shell extension, or context menu extension, it is C++ as always, or having your little C++ stub that calls out into a .NET process.

hulitu · 7 months ago
> Win32 is a lot lower level than other things you'd typically consider to be a "UI framework",

From a user's perspective, Win32 is high level. No other Windows toolkit is able to draw buttons or scrollbars properly.

CrimsonCape · 7 months ago
Yeah this entire discussion about these high level framework would be cooler to discuss the lower level APIs. As far as I know, the entirety of Windows rendering stack is built on either GDI or DirectX? With Win32 even being built on GDI?

It would be much cooler to discuss building a ground-up Windows UI stack as close to metal as possible which I guess would necessarily be using DirectX...

shortrounddev2 · 7 months ago
I think windows needs a community effort to create an actually good framework for native development on windows. Unfortunately I just dont think such a community is big enough.