Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

“start menus made with React Native, control-alt-delete menus that are actually just webviews”

Haven’t used windows in five years or so but I’ve kept hearing bad things. This really is the icing on the cake though. Yea the AI stuff is dumb but if a OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs something has gone horribly wrong.





Microsoft has a history of creating new UI frameworks. IMHO it's the result of Ballmer's "Developers, developers, developers!" attitude, which I think is a good thing at core (court the developers that add value to your platform!)

But this results in chasing a new paradigm every few years to elicit new excitement from the developers. It'll always be more newsworthy to bring in a new framework than add incremental fixes to the old one.

React has had tremendous success in the web world, so why not try and get those developers more comfortable producing apps for your platform?

(Tangentially, see also the mixed reaction to Mac native apps switching from AppKit to SwiftUI)


The software biz in general has a major "out with the old, in with the new" attitude, which paired with the attitude of, "We're going to build what we know, instead of learning the old stuff which is new to us".

I've seen time and again, things like apps rewritten from scratch because nobody knew C++, and they only had C# devs. Or a massive runaround because the last guy on the team who knew C++ wrote a bunch of stuff and left a couple years back, and now nobody really knew how any of that stuff worked.

> React has had tremendous success in the web world, so why not try and get those developers more comfortable producing apps for your platform?

IMO - this is worth talking about. Zune, Windows Phone, and some others died when they did not, in fact, suck, and were pretty good products which while late to the game, could have competed if there had just been a decent app ecosystem.


Out with the old, in with the new, doesn't have to be bad, but it depends on what your old and new are. I'd be a lot less skeptical about migrating OS-level sttuff from C to Rust than from C to React.

If the motivation is "Because I refuse to learn C", then both approaches will be bad. You can't avoid understanding what you're migrating, but seemingly Microsoft thinks they're above that. Fits with the average mindset of developers within the Windows ecosystem, at least from my experience.

Totally agreed, I have learned a lot of technologies to understand legacy systems. Either you run them or to migrate away from them. If you do not learn and respect the legacy system your migration is bound to fail.

I maintain to this day that the Zune was one of the best designed hardware and software platforms I've ever used. Probably the only truly design forward product that MS ever produced.

The Zune hardware was slick, particularly the solid state players. The music store worked great and their music licensing was so much better than Apple - $10 a month for unlimited streaming, unlimited downloads (rentals) to Zune devices and 10 free mo3 downloads to own.

Their only misstep was making one of their colorways poop brown! That and being too late to market with a phone that used the same design language


There was also the fact that Microsoft introduced it 3 months before Apple announced the product that would kill the iPod, leading with the HDD model (a direct competitor to what would become known as the iPod Classic line) when Apple’s real flagship was the iPod nano.

There was also the crap that was Windows Media Player 11 which I tried to like for about a month.

There was also the incompatibility with Microsoft’s own DRM ecosystem in PlaysForSure which was full of these subscription music services, some of which were quite popular with the kind of people that were inclined to buy a Zune: folks in Microsoft’s ecosystem that had passed up on using an iPod and used something from SanDisk, Creative, Toshiba or iRiver instead. This is because they wanted to replicate the entire iPod+iTunes model entirely.

The 2006 lineup of iPods was also particularly strong, and included the first aluminum iPod nano’s. When Microsoft announced and released the Zune, they were counter-programming against that, right into the Holiday season with a new brand that had no name ID, with a product that was just like the iPod, couldn’t play any of your music from iTunes or Rhapsody, but with… HD radio.

More than a few missteps were made.


  > Their only misstep was making one of their colorways poop brown
i think the other big issue was calling it a 'zune' but thats just me...

“…you’re absurd, what’s a Zune?!”

https://youtube.com/watch?v=Jkrn6ecxthM


Name or color had nothing to do with it imho (I like the brown personally). It was all timing. They were entering a market with a well estaablished leader (iPod) that was nearly as good, as good, or better depending on who you ask. On top of it phones themselves were taking over the music player market at the same time, which is where Microsoft really dropped the ball.

I mean, iPhone is a really ridiculous name as well if you stop to think about it.


You think having a dumb name would be a negative, but one of the biggest bands in the world is called Metallica.

The Zune software 2.0 remains the pinnacle of Microsoft design

Windows Phone was actually doing well and adoption was taking off when Nadella came in and killed it. It didn't help that they changed the app framework and then blamed lack of apps. Such a brain-dead decision.

Windows Phone was dead in the water because many services did not have first party support, and the third party clients kept getting killed / people banned from said services.

Google was extremely aggressive in muscling Microsoft out. They refused to release a Gmail, YouTube or Maps client for Windows Phone but made sure those services did not work (properly).

And indeed on top of that, Microsoft switched UI frameworks 3 or 4 times. And they left phones behind on the old OS releases repeatedly, that then couldn't run the new frameworks.

Still, Windows Phone its UI concept was really great, and I sorely miss the durability of polycarbonate bodies versus the glass, metal and standard plastic bodies of today.


What burned me was that there was no updating from WP7 to WP8 - After playing around with one and genuinely enjoying the experience, I convinced myself to buy a Lumia 900 in April of 2012, just for Nokia/Microsoft to effectively say "that was stupid, wasn't it?" when the Lumia 920 and WP8 launched just 7 months later. Releasing a so-called flagship device that they knew would be incompatible with their upcoming OS, effectively killing software support before the year was even finished, really doesn't inspire confidence in the longevity of a product.

It was always going to be difficult, but classic Microsoft blunders and extreme arrogance set back Windows Phone dramatically.

They basically couldn't stick to a strategy and alienated every potential audience one by one. I was trying to make a Windows Phone app back then and for developers they forced them to go through an extremely difficult series of migrations where some APIs were supported on some versions and others on other versions and they were extremely unhelpful in the process.

They had a great opportunity with low-end phones because Nokia managed to make a very good ~$50 Windows Phone. Microsoft decided there was no money in that after they bought Nokia they immediately wanted to hard pivot to compete head-to-head with Apple with Apple-like prices. They then proceeded to churn through 'flagships' that suffered updates that broke and undermined those flagships shortly after they released thus alienating high end users as well.

Having worked at Microsoft I think the greatest problem with the culture there is that everyone is trying to appeal to a higher up rather than customers, and higher ups don't care because they're doing the same. I think that works out OK when defending incumbency but when battling in a competitive landscape Microsoft has no follow through because most shot callers are focused on their career trajectory over a <5 year time frame.


Oh, this was like the windows 11 before windows 11. I didn't realize Microsoft made the same mistake twice.

Windows Phone 7 was doing well; for some reason they did a breaking change with Windows Phone 8 and broke app compatibility. I will never understand that, they kneecapped themselves despite being multiple laps behind Apple and Google already…

The reason was moving from the CE kernel to the NT kernel between WP7 and WP8. This was supposed to make developers’ lives much easier when porting Windows 8 apps. The minimum hardware requirement had to be bumped and old WP7 devices could never meet them.

At the very least they could've created some kind of translation / compatibility layer, to ease the transition

The decisions reg UI frameworks are largely due to internal political conflicts, mostly between DevDiv and Windows.

They have a lot of staff turnover too, and each generation of new SDE has less of a clue how the old stuff worked. So when they're tasked with replacing the old stuff, they don't understand what it does, and the rewrite ends up doing less.

That was my impression of one of the major problems when I worked there 2008-2011. But I don't think it's just one problem.


I think that because their total compensation is lower than FAANG, especially at senior levels, and they are seen as uncool, they sometimes have issues retaining top-notch talent. It's paradoxical, because MS Research is probably the best PLT organization in the world. But they have failed to move a lot of that know-how into production.

Besides, because it's an older company, it might have more organizational entropy, i.e. dysfunctional middle-management. As you say it's probably several other causes too. But still, hard to understand how they can create F#, F*, and Dafny, just to name a few, and fail with their mainstream products.


> dysfunctional middle-management

I thought about this a lot while working at a high-growth company recently.

Decided that regular (quarterly) manager rankings (HR-supported, anonymous) by 2-3 levels of subordinates is the only way to solve this at scale.

The central problem is: assuming a CEO accidentally promoted a bad middle manager, then how do they ever find out?

Most companies (top-down rankings-only) use project success as their primary manager performance signal.

Unfortunately, this has 3 problems: (1) project success doesn't prove a manager isn't bad, (2) above-managers only hear from managers, and (3) it incentivizes managers to hack project success metrics / definitions.

Adding a servant/leader skip-level metric is a critical piece of information on "On, this person is toxic and everyone thinks poorly of them, despite the fact that they say everyone loves them."


Sounds a like a great solution, adding random skip connections so that information flows from the bottom to the top of the hierarchy.

Certainly, few companies have managed to avoid this trap. It's largely an unsolved problem.

I've often met managers and execs two levels above me that had a completely delusional view of what was going on below them due to lies spread by middle-management.


> completely delusional view of what was going on below them due to lies spread by middle-management

Corporate dysfunction made more sense to me when I realized higher execs, because of span of control, are too busy to dig into any issue themselves.

Consequently, it's trivial in most orgs for the only information path to be through managers.

Also why I think more effective execs tend to have parallel investigation resources. E.g. their do-anything assistant who they task with fact finding


You also probably couldn't pay me enough to work in the kind of environment that produces such buggy software as Microsoft teams. A message based app which can't even guarantee delivery of messages, or synchronization across devices isn't a good sign for management and delivery.

I was a unix head at the time and ran OpenBSD on my personal Thinkpad. I figured a stint on the Windows team would broaden my horizons and expose me to differences. It did that. I don't regret it. I did in the end feel that the company was not my vibe, but I respect and appreciate some of what came out of there.

Back when I was there, part of my calculus was that cost of living in Seattle was cheaper than the bay. It was about 35% cheaper back then, according to regional CPI data I looked at at the time. Not sure what the difference is today. I believe housing is still substantially cheaper.

I think a few years after I left when more Big Tech opened offices in Seattle, competing companies started paying Bay Area salaries for Seattle living, removing this argument. I haven't watched this closely in recent years.

But fwiw, I was able to save and invest a lot in my Seattle days, despite a salary that was lower than in the bay.


Seattle cost of living is still significantly cheaper than the Bay Area. A lower salary goes even farther given the lack of state income tax, too.

But in a world where Amazon prices are the same, car and gas are the same, cost of living is just rent?

Housing makes a huge difference, but there is also the cost of groceries, dining out, etc.

Basically the housing price difference can mean buying a nice house close to your job vs renting a room in a share-apartment.

Best of both worlds is to save in a high-cost area then move to a cheaper area.


Not sure what you're getting at. Housing is the main cost, and is drastically cheaper in Seattle. Food in Seattle is a bit more pricey.

Housing is just one component, there is a lot of other stuff that has equal price: if you order stuff from Amazon the price is the same, if you buy a new car the price is the same.

State and local taxes can make a significant difference for general goods, and especially car purchases.

Amazon also isn't a restaurant, and while they do sort of sell groceries through Whole Foods and Amazon Fresh, those are again priced locally.


Because those languages were created at Microsoft Research, not DevDiv nor Windows.

All different business units.


Is compensation really the issue? Like, people earning 160k simply can’t take a dive into the OS source code and make proper fixes, but people earning 250k magically can?

I don't know. I know there are a lot of people who want to work on the OS source code, given the chance, but need some hand holding in the beginning. Companies in general are not willing to give them the chance, because they don't want to hand hold them.


I think uncompetitive compensation is the dominant factor in Microsoft’s decline. Up there with stack ranking. They claim that it’s 30% cheaper to live there but then they go and capture most of that 30% for themselves.

It is my opinion that developer ability is on a Pareto distribution, like the 80 20 rule when 80% of the work is done by 20% of the people. The job market is more liquid for those that are extremely productive so it’s pretty easy to for them to get a pay rise of 30% by switching companies. In the worst case you can often come back with a promotion because, like many companies, Microsoft is more likely to promote you when trying to poach you back. Doing a 2 year stint at Amazon was quite common. The other problem is that when your best people leave is that the process is iterative, not only are you getting paid less but you are now working with people who couldn’t easily switch jobs. You start being surrounded by incompetence. Stack ranking, which I hear is still being done unofficially, also means that you put your promotion and career in danger by joining a highly productive team. So it is rather difficult to get highly productive people to work on the same team.

Being paid less, being surrounded by incompetence, and being forced to engage in constant high stakes politicking really sucks.


I still think there are ways to hand hold people a bit and grow an ordinary engineer to a better one who is fit for system programming in maybe 12 months.

Otherwise as you said the only way is to offer the best compensation so that people don't leave. But again those people probably would leave for different reasons (culture e.g.).


Compensation is the easiest way and probably the most essential. It is hard to maintain a good culture when your best keep getting poached away with large sums of money. If Microsoft was the only game in town then sure they could get away with paying less, but they're not so they cannot.

Yeah you have a point. I wonder what the NT kernel team looks like nowadays.

Compensation can be the issue if the cost of living is creating problems. If you need 150k to just live in an area, 160k is not motivating while 250k gives you the peace of mind to focus on the work, not just on surviving. If you live in Bangladesh, the difference between 160k and 250k is almost meaningless.

Also compensation is a sign of respect and influences motivation. If you position yourself lower in the market, there is no reason to deliver top results for less money, correct? This attracts mediocrity, especially in management, and slowly kills companies. Usually there is no way back, no large company can replace the entire management and once and the mediocre ones will reject new, better ones.


It's not about the amount, but the type of people who stay when they could move to a higher paying job.

And the fact that it's impossible to poach people from companies offering a higher salary than you do. Unless you give them something more, like better conditions, or "mission", or the idea to work on something cool, but I don't think any of those apply to Microsoft.


If you could earn $250k why would you settle for $160? There are reasons people do but still money is a powful signal

A kernel engineering job is much more fun than yet another backend web gig. A large part because when working with typical web coding people do not want you to do actual software engineering.

But the actual issue is that if you underpay people they will not feel respected and valued so they will either not be motivated or leave. So you cannot pay below market, but you do not need to pay FB salaries either.


Theoretically (never happened to me), I'd definitely do a $100K Windows kernel, or whatever kernel work, over a $150K DE job that I currently have (I used to have a $220K DE job too and I won't hesitate to switch).

I can confirm, the guys still around for WinUI team and related frameworks, always appear clueless when posed questions about Windows features they were supposed to know about.

Just go watch a few recordings on their YouTube channel.


Raymond Chen tries to document it, but he's just one person.

https://devblogs.microsoft.com/oldnewthing


From the outside looking in one wonders why this is allowed to continue. Microsoft’s old school “developer tools for money” business is slowly dying (because Visual Studio proper is less popular than its ever been since so much is targeting web), you would think they’d reorganize and move .net and GitHub and stuff into their cloud team and yeet whatever toxic leadership is preventing Windows from using Microsoft’s own frameworks.

IIRC .NET was banned from core Windows components after longhorn died, but its been 20 years. .NET is fast now, and C++ is faster still. Externally developed web frameworks shouldn’t be required for Windows.


It’s a largely dysfunctional org creating largely dysfunctional software, I.e. Conway law. Dysfunctional orgs tend not to be capable of fixing themselves, especially without external threat. Satya Nadella, like many CEOs, seems mostly interested in impressing his peers and these days that means fancy AI, before that it was Quantum chips.

Microsoft has produced some great technology and when I was last there I was definitely focusing on getting as much of the good stuff out into open source as possible.

Back in the early V8 days the execs imagined JavaScript would keep getting exponentially faster, I tired to explain with a similar investment anything V8 could do dotnet could do better as we had more information available for optimization.


Yeah, .NET is actually an impressive piece of tech. They have F# too which is a really solid programming language. And then they chose React of all things to build core OS UI.

Because .NET is under DevDiv, F# came from Microsoft Research, and the OS is under Windows team.

Windows team even refuses to have managed bindings for DirectX, like Apple and Google do on their platforms.

Managed DirectX and XNA were pushed by highly motivated individuals, and lasted only as long as they stayed at Microsoft.


Longhorn was politics, then Google ate their lunch on mobile with Java and JavaScript userspace, across two platforms.

DevDiv is a "here C++ rules!" silo, even the Rust adoption is being widely embraced at Azure, less so on Windows team.


Yeah, as far as I understand it, that politics is: Sinofsky entrenched NIH on every team that he touched.

Just curious what is DevDiv? Tools division?

As I understand it, .NET, developer tools, and VS.

Basically you have tight OS integration vs developer friendly cross platform.


I think it also includes GitHub now.

I believe GitHub is under a different group (CoreAI), not DevDiv.

Thank you!

> the result of Ballmer's "Developers, developers, developers!" attitude

I think Microsoft’s framework chasing has been a betrayal of that philosophy. Internal divisional politics have been major drivers behind fracturing and refusing to unify the stack and its UI approach, and without clear guidance from the Office team the direction of the entire platforms UI is opaque. Short term resume and divisional wins at the expense of the whole ecosystem.

A developer centric platform would let developers easily create platform specific UIs that look modern and normal. As-is the answer to how to ‘hello world’ a windows desktop app is a five hour “well, akshully…” debate that can reasonably resolve to using Meta’s stack. “VB6 for the buttons, C++ for the hard stuff” is a short conversation, at least.


I think it's more of result of "okay we made it and it works, how we now can excuse still being employed in same head-count" development. And the answer is of course "rewrite, rewrite, rewrite". UI works well, no major bugs ? TIME TO CHANGE IT TO BE "MODERN"

I think the reason they keep trying new UI frameworks is that no one really adopts them. Developers know that Microsoft won’t kill off backward compatibility and break all the enterprise apps, so why rewrite? When one framework fails, they start working on the next one. I question if they understand the corner they’ve painted themselves into.

I stopped writing Windows applications back in the early 00s

my Windows API knowledge (essentially: just Win32) is still exactly as useful as it was then, having missed the 7 or 8 different UI frameworks in the interim


Win32 is basically frozen on Windows XP.

Since Vista most newer APIs are done in COM, or WinRT nowadays.


I remember a thin book describing changes to the API in Vista and 7 compared to XP and it was really thin. Just a few extra APIs to be able to show controls in the taskbar preview and things like that. Win32 is a stable API and I hope they don't let anyone from the Windows 11 modernization team touch it.

>Win32 is a stable API and I hope they don't let anyone from the Windows 11 modernization team touch it.

I've heard a Microsoft executive talk about win32 as legacy that they want to replace. I don't think that's realistic though, it's probably the last piece of technology keeping people on the platform.


It was the goal with UAP and UWP, but they clearly messed up the execution.

https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-an...

Win32, the C API, is stagnant since Windows XP, other than some ...Ex and ...ExN kind of additions.

As mentioned above, the new APIs are mostly delivered as COM, occasionally with some .NET bindings.

There is still a silo trying to push WinRT now on Win32 side, although given how they made a mess of the developer experience only those with Microsoft salaries care about it.

This oldie shows some of the background,

https://arstechnica.com/features/2012/10/windows-8-and-winrt...


Last year I ran into the issue of .NET network bindings not returning all NICs. [0] This issue has been present in the .NET since the genesis and only resolved in .NET 9. I had to create my own Win32 wrapper so everything works properly in .NET 4 frameworks ... still need to maintain Windows 7 pre-SP1 support in some applications.

Smells like Microsoft was trying to create APIs based on assumptions versus a 1:1 method that exposes managed code and hides unmanaged.

[0] https://github.com/dotnet/runtime/pull/100824


Except for anything that came after XP, you need to at least make use of COM.

WinRT can be avoided if you don't do any modern stuff like the new context menu, WinUI, or Windows ML.


And those new APIs (at least the context menu API) apparently require a "package identity", which requires a signed MSIX installer, which requires paying for a code-signing certificate, unless I'm missing something in the docs.

That is because of what people claiming UWP is dead, haven't gotten the whole picture.

UWP as separate subsystem, yes it is deprecated, and no one should be using it, although Microsoft was forced to introduce .NET 9 support on UWP, because many refuse to move away from UWP into WinUI 3.0, given the lack of feature parity.

Now, when WinRT was made to also work on Win32 side, it also brought with it the concept of package identity, which forms a part of the whole app isolation from UWP similar to Android, now on Win32 as well, hence the MSIX.

https://learn.microsoft.com/en-us/windows/win32/secauthz/app...

On the specific case of the context menu, it depends on what is being done,

https://blogs.windows.com/windowsdeveloper/2021/07/19/extend...

You can work around app identity when using the suggested alternative of unpackaged Win32 apps with sparse manifests.


Me too, back then I wrote applications either using the raw Win32 API (GetMessage, TranslateMessage, DispatchMessage, etc), or using MFC.

I think MFC is now long-time dead and buried, but at the time I liked it despite the ugly macros.


MFC is actually still supported by MS, works in the most recent MSVS, and even occasionally receives updates.

Operating systems should always use C/C++ UI frameworks, and as little costly abstraction as possible, period. Anything else is wasting resources.

It’s not so much about wasting resources as it is about the added latency, jankiness, and inconsistency in look & feel hurting usability.

And how about reliability? Having to start a web browser and a web framework to display core OS functionality adds a lot of moving parts that can break.

Latency is literally wasting resources

The point was that users mostly don’t care about wasting resources, but about usability. If usability wasn’t impacted, few people would care about resources being wasted. But since usability is very much impacted, people (rightfully) complain.

Wasting resources affects usability, and not just through latency.

It doesn’t necessarily. A lot of resources are being wasted without impacting usability. Users only start noticing and complaining about it when it does.

It does, period. Less things can run in parallel, fans get louder, batteries live shorter and devices feel old years before they should, all of which directly affects usability. The user not noticing the direct cause or having enough resources to waste to at least perform some tasks acceptably doesn't change anything.

Changing UI framework all the times is fine, so is not changing anything for decades. Different strategies that both have value. Reasonably you want to be somewhere in the middle, depending on the use case. In an industrial setting, production infrastructure, etc... you generally want to change as little as possible "if it isn't broken, don't fix it". On emerging, consumer-facing technology such as mobile in the 2000s, "move fast and break things" makes sense.

But anyways, it is not the problem. The problem is just that Microsoft today is doing a terrible job.

The best example, I think, is the control panel. Starting from Windows 8, they changed it. Ok fine, you may like it or hate it, but to be honest, it is not a big deal. The problem is that they never finished their job, more than a decade later! Not all options are available in the new UI, so sometimes the old control panel pops up in a completely different style with many overlaps in features. And every now and then, they shuffle things around in hope that one day, the old control panel won't be needed anymore.

If you make a change, commit to it! If you decide to replace the old control panel, I don't want to see it anymore. It is certainly easier said than done, but if you are a many-billion dollar company and that's your flagship product, you can afford to do hard things!

Using a web engine to build UIs is fine too. As an OS-wide component, a web engine is not that big in terms of resource use, if properly optimized. The problem with Electron is that every app ships with its own engine, so if you have 10 apps, you have 10 engines loaded. But everything uses the same engine, and apps don't abuse it, then the overhead is, I think, almost negligible. It is rare not to have a browser loaded nowadays, so system components can take advantage of this. But again, you need to do it right and it takes skills, effort and resources.


> React has had tremendous success in the web world, so why not try and get those developers more comfortable producing apps for your platform?

Because web stuff utterly sucks for making UIs on the desktop. Microsoft either doesn't know this (bad sign), or is choosing to use the trendy thing even though it'll make their software worse for customers (a worse sign). Either way it's a very bad look from MS.


probably trying to repro the crazy success of vscode, surely electron is the magic sauce and not the dream team of devs. azure data studio should've proved that you can't just sprinkle electron dust and get a winner.

sadly I loved azure data studio despite its being afflicted with electron, but it became so bug infested they had to completely abandon it.


vscode is successful despite electron, not thanks to electron. The electron part is the worst of it.

No, it does not suck.

I attempted to use WinUI 3, and could not even get PNGs to render the colors correctly, no matter what setting I tried.

Then I gave Tauri a try, and everything worked out of the box, with the PNGs rendering even better than in the Windows Photos app.

Building the UI was much easier, it looked better, and you get to build the "backend" in Rust.

Nothing about this sucked.


WinUI 3 is basically utterly pathetic bul_sh_t attempting to pretend that it is a UI framework. A wet paper plane passing itself off as a passenger aircraft. Please compare with a real desktop UI framework like GTK or Qt. Or just a more modern one like Rust Iced or gpui/slint

Blaming this on Ballmer is a serious stretch, I can't see how you would come to that conclusion. Developers Developers Developers was for the launch of .NET and it brought us a platform that is still considered cutting edge 25 years later.

UX was fine in the Windows Forms days, and WPF was a large step forward (responsive layouts, etc...). The problem was after that it all fell apart with Windows 8 and the attempt to switch to Metro, followed by the Windows Store fiasco and attempting to move to a sandboxed application model.

It all comes down to Microsoft's failure to adapt to mobile/tablets in so many ways. Which is kind of hilarious, because they had some really cool tech for the time (the PocketPCs were pretty fun back in the day, before touch came along).


Remember when Silverlight was _the_ future?

How long did it last. Ironically it still gives me the shits because you can't select text on Netflix's front end.


Problem with SwiftUI is that it only works well on macOS 26, maybe one version prior. AppKit works well on all macOS versions.

Building a macOS 26 only app in SwiftUI today is a great UX, just as fast as AppKit.

But it takes quite some effort to turn an iOS SwiftUI app into a real macOS experience. Though most macOS optimizations help for iPadOS as well.


When I was a developer I was not amused at all with constantly changing APIs to be honest. And UWP was really sucky. Way too aligned with mobile and tablet which nobody actually uses on windows. Even as a user I'm glad it didn't take off.

>Tangentially, see also the mixed reaction to Mac native apps switching from AppKit to SwiftUI

I'll take AppKit -> SwiftUI over Win32-> windowsx.h -> VB6 -> MFC -> ATL -> WTL -> WFC -> WinForms -> WPF -> WinRT -> UWP -> WinUI3 -> MAUI.

Even with all that Microsoft still went outside and used React Native for the start menu and Electron for the Visual Studio installer and Visual Studio Code.


AFAIK the Start Menu itself is still C++ and XAML however only the Recommended section is build with React Native [1]. Funnily or rather sadly, they seem to be quite proud of using it as seen in the video.

1: https://youtu.be/kMJNEFHj8b8?t=4m47s


Still in some cases you have to wait a few minutes to get working Start menu search or menu itself on a new not low-end device.

My work computer takes a full five minutes to become usable on the first login after a cold boot, and that’s not even counting the time from boot to entering my password. Before the upgrade from Windows 10, it only took three. Teams, of course, takes another five minutes to become functional. Meanwhile I have a 13 year old low end Asus laptop at home that boots to a fully usable Linux desktop in well under a minute.

It’s been this way for over a decade. The year of the Linux desktop was 2009; the world is only just catching up.


> My work computer takes a full five minutes to become usable on the first login after a cold boot, and that’s not even counting the time from boot to entering my password.

Yeah, that’s a misconfigured system. I bet you can fuck up Linux enough to get a similar experience.

I’ve always been using Windows and the only time I ever had to wait that long was around the Win98 times on slow hardware.

After login, I can instantly use everything on Win 11, and the only delay is a bunch of apps starting (that I chose to start on boot).


A lot of it is probably the shoveled-on layers of enterprise endpoint security bloatware.

I bet stuff like Crowdstrike has a major influence into this. I used my work computer before and after Crowdstrike and the difference in boot time and general behavior is huge.

In the challenges section, they list a few challenges with React Native that they had to overcome. Interesting thing is that MS already has XAML, WinUI etc., that they built and control and don't havr those "challenges". I don't understand what the team got by using React Native compared to using XAML. Anyone from MS here who could provide some technical benefits for this decision?

Maybe being not laid off along with other long-term staff and being part of easy-to-hire easily expendable army of JavaScript / TypeScript developers? XAML etc. are specific skills the developers are rarer and usually paid better than JS/TS devs.

Microsoft dropped the ball with Universal Windows Platform framework, I worked on one project using this framework and it was one the best. Our codebase run on both phone and desktop Windows 8. This was 2014-ish if I remember, and then Windows phone got killed.

I still have my Nokia Lumia around. Best phone I ever had.

And I say this hating everything about Microsoft and Windows. That phone clicked just right with the tile design and overall usability. Of course, MS having pulled the plug, it's basically a DRM brick now.


Truly an underrated phone, this was my wife's phone when we met. Developing for Windows 8 was one of the best imo, I don't know any C# prior to it but it was just so easy, native and fast.

I agree but that's because both iOS and Android are pretty bad in several ways.

MeeGo from Nokia was pretty amazing as well and I'm sure it could have launched Linux phones into actual competitors to iOS and Android - if only Microsoft and Elop didn't manage to kill Linux at Nokia.


If Microsoft didn't kill it, lack of YouTube and other Google services would. That was the primary difference. With iPhone you had access to Google-owned stuff, Google never allowed other platforms like Symbian/MeeGo/Windows Phone to ever use its online services.

The game was broken from the start. Microsoft had no chance.


I had a cheap $25 Lumia (520?) that was the most delightful phone I used.

If it wasn’t for 3rd parties sunsetting their apps, there would have been no reason to give it up.

Despite being a highly underpowered dirt cheap phone it was incredibly smooth and fast to use.


Spot on, .NET Native and C++/CX on top of COM is what .NET 1.0 should have been all about.

Unfortunately it was a big ball of mud in mismanagement.


You would really like Uno Platform. It is the same API.

https://platform.uno/platform/


The Win11 start menu used to have a fun bug where pressing Ctrl-Minus would open search with the phrase "zoom out". No other shortcut did this. Just Zoom Out. No idea how a bug like that happens.

wait till you see the bugs introduced by their AI rewrite!

Pretty standard for Microsoft lately. The old stuff is still there, we're adding a completely new stack adjacent to it so now you can live with the worst of both! The Windows 8 tablet interface and the Win11 wtfever that is still sometimes kick out a dialogue box unchanged since Windows XP.

One can only imagine what the product managers of like .NET think of all this.


> Pretty standard for Microsoft lately. The old stuff is still there, we're adding a completely new stack adjacent to it so now you can live with the worst of both! The Windows 8 tablet interface and the Win11 wtfever that is still sometimes kick out a dialogue box unchanged since Windows XP.

At least in Windows 10, there was even still the occasional Windows 3.1 file picker hanging around in the really dusty locations


When Windows 11 first dropped, a Win3.x file picker buried deep in the OS was memed around (I believe it was the picker for a .dso file for ODBC).

The windows problem is every other OS release has included new UI libraries. Over the last 10 years they've made something like 5 different new ways to make native windows UIs. And, of course, they support all of them. You can use the classic Win32 API or you can use the newest WinUI 3

Typing "Visual Studio" into the new start menu may randomly trigger a Bing search for "Visual Studio" instead of running it, but on the other hand that makes Bings KPIs go up so it's impossible to say if it's bad or not.

It's been a while since I used Windows regularly or seriously, but I remember start menu search actually being good - maybe around Win7 days? You would just press <Win>, type a few letters of the software you wanted and hit enter, and it would work every time with minimal latency.

You know, like KDE Plasma in 2026.


I hate that so much. When blind people are trying to start JAWS (the screen reader) by typing "jaws" into the start menu and pressing Enter, it will sometimes pull up a Bing page on Jaws the movie instead. And the blind person is just sitting there waiting for the screen reader to start. I tell people to use the run dialog for that reason. Sucks but that's what you have to do in the age of inshittisoft.

They are apparently replacing the run dialog with a new "Modern Run" dialog, so we can look forward to that also not working properly:

https://www.windowscentral.com/microsoft/windows-11/after-30...


the only sane tool remaining in windows is the RUN :( I wont even touch this shitty OS without RUN

This is purely insane. Doesn’t Microsoft violate accessibility laws in some jurisdiction due to this?

"rules for thee not for me"

'Randomly' here likely corresponds to a typo in the search term.

If I type "Visual Std" instead of "Visual Stu" it goes to the Bing results.

Alternatively it shows No results if you disable Bing in the Search settings found in the top right meatballs menu.

I also would expect fuzzy search by default instead of typos sending users to Bing.


It also orrelates with missing the first letter off search terms, such as when you start typing immediately after opening the start menu

I can only reproduce this by hovering the Windows icon with the mouse and having the finger on a character, in order to press it immediately after clicking. In that case most of the time the Start menu does not open at all, and sometimes it opens but does not have the letter.

When I use the Windows key to open the Start menu I cannot reproduce this, as eg. Win + E opens the Explorer instead of the Start menu.

It does not appear on my machine as if this could possibly happen when opening the Start menu during regular use. Can you reproduce this on your machine?


This rarely (but not never) happened on my gaming desktop when I had windows on that. On the other hand, on my surface go, if it only eats the first character, that’s a good showing, so it’s likely device performance specific

  > orrelates with missing the first letter off
Intended?

Still, that shows an issue of using fuzzy search for Bing but not programs. There should be a precedent on local items. A typo is far more likely than a web search, especially when the web search is resulting in the intended application.

Did no one think of that feedback loop? That if the web search is suggesting an installed app that that installed app should be prioritized?


Objectively it wastes developer time making the OS in a non linear way more expensive for companies. Its like a minthly subscription for ever more minutes.

If your opinion mattered, you would work at Microsoft setting the targets that the Start Menu team need to meet to hit their bonuses/not get fired.

But you don't. So it doesn't.

(I've pinned Visual Studio to the start menu.)


It takes literally a click to deactivate it though. One could argue about Bing Search being the default, but I didn’t run the user surveys to see, which is best for the average user.

The best is none. I have no idea why anyone would want a web search there.

Either I am stupid or you're being dishonest. There is no one click way to disable it. Only on pro versions of windows, with a group policy otherwise a couple of obscure registry keys no regular users know.

I stand corrected. I didn’t know the Home Version has no option to disable it. You are right for calling me out.

No group policy is needed on Windows 11 Pro, it's in the settings:

---

Type something in the Start menu

Top right meatballs menu button

'Search settings'

'Let search apps show results' -> Off (or disable only Bing)

---

I don't know about the Home edition.


That doesn't appear for me. Win 11 Pro 25H2.

After you typed a Search term, there is no menu button at the right on the same vertical row as the 'All / Apps / Documents' bar?

You can also launch that Settings page by running in powershell:

  Start-Process "ms-settings:cortana-windowssearch"
Or just 'Settings' and in the left navigation 'Privacy & Security' -> 'Search'

Long time ago, I read a blog about how the user must absolutely trust the dialog boxes for Ctrl+Alt+Delete and Adminstrator passwords and why they were tricky to get right..

Then I hear that now ctrl alt delete is a webview. Its difficult to believe. Do you have a reference?


the thing you need to trust is that pressing that combination shows the legit OS stuff, that it can't be intercepted (Secure Attention Key).

how the OS implements what is displayed is irrelevant

windows has all kinds of virtualizations today, it can literally run web views in separate (invisible) VMs for security purposes


On the new Windows 365 Link thin client I think it is, not sure about normal builds of Windows though?

https://www.youtube.com/watch?v=IAKg-Z6m8nM - 6:50


bump, tbh I think this is hyperbole as on my w11 pc the ctrl alt delete menu hasn't changed since 2021's RC (which was just a reskinned version of w10's, which was just a reskinned version of w8.1's... going all the way back to vista)

It takes over five seconds for task manager to open on my Windows 11 work laptop.

What’s worse, the list of tasks/apps in Task Manager for some reason populates gradually over a couple of seconds, so when you right-click on some task to perform an action, it might switch to a different task under the mouse cursor while you’re clicking because it’s still populating.

Holding the control key down stops the task list from updating. Release the key to resume updates. Works on Windows 10 and 11.

For me at least "details" tab populates in one step (there is a slight delay and then all processes appear). You can set it as the default tab as it's the most useful anyway.

I actually need the Processes tab more frequently, which shows the process hierarchy and relates to the visible windows. For example to restart Explorer.

It takes ~5 seconds for activity monitor on my macbook pro to populate data, although the window for it opens right away.

Yep, Windows performance on my work laptop reminds me of computing in the 90s: waiting and resource management.

I'm not maining windows, but i dual-boot it on my gaming pc (no BF6 on Linux). In all fairness, Windows is no better or worse now than it was 5 years ago. Its not like its suddenly become completely unusable (or more unusable, depending on your perspective). Copilot fluff is being injected a lot of places, but you can largely ignore it and use windows as before. I do feel like Windows is on some sort of life support, that its not the main focus of Microsoft. Again, this is not really new.

I have to use a Windows laptop for work; it was migrated to Windows 11 a few months ago. Win 11 is definitely, measurably worse than Win 10, at least in the configuration that my employer's IT forces on the machine. One example is that its UI is much slower (typing in the search box at normal speed often misses keystrokes, for instance -- never happened on Win 10).

I'm not a regular user of Windows, so I don't know if the changes I've seen were within the past 5 years or over five years ago. But ...

I've noticed Microsoft has introduced things like programs hijacking the screen (e.g. first launch of Edge, even if the launch was unintentional) and they have been making it increasingly difficult to make a local account on installation (even in the Pro version). Things like promotions for Xbox whatever popping up while I'm at work also tweak me the wrong way. Of course they don't know I'm at work, which is all the more reason not to do it!

As an operating system, I would rate it as fine. Compared to Linux, it appears to have performance issues in some areas, with file access being the main one I notice. They have made some progress in some areas (improved terminal, winget for software management). Compared to Windows of 20 years ago, the base operating system appears to be much better. But none of that means little when your main goal is for the "operating system" to get out of your way and let you use what matters.


I am forced to use Windows 11 at work on my laptop (produced in 2023). When resuming after hibernation - from the time I press the power key and I see the the release-lock prompt screen with the password/PIN box - that's maybe 5 to 10 seconds; but from that point, until the OS actually responds to key presses and shows characters typed into the text box - well, that takes between 2 and 3 _minutes_.

And that's just one example. I curse Microsoft every day.


On my work laptop, the only Windows 11 OS I use bare metal, the UAC prompt can take 30 seconds to one minute to show after requesting _Task Manager_ to start. IT decided to hide a number of applications behind UAC.

Newer version of Windows seem to add latency were there was none before.


Yeah. Crazy when the two most significant desktop OS's (Windows and MacOS) have native UIs where something has gone horribly wrong.

I can’t speak to windows since it’s been at least a decade since I have had to use it, but I really don’t understand the hate on the new Apple OSs. I haven’t found them to be a measurably different user experience than their respective prior versions. So when you say “horribly wrong” it makes me wonder exactly what you mean, specifically.

I didn't say that.

From the parent:

> if a OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs something has gone horribly wrong.


You certainly repeated it and didn’t dispute it. I ask again—What is horribly wrong where you agree enough to repeat the claim?

You can dislike the visual approach of modern macOS but on a framework level the UI ecosystem is generally very powerful and feature rich.

With SwiftUI you’ve been able to pick and choose where to integrate it over the years, it’s not like you had to go whole-hog.


Don't put words in my mouth. The parent said:

> if a OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs something has gone horribly wrong.

I was merely extrapolating their conditions and their words.


It's almost like the rush to ship new features year after year without ever pausing to fix and optimize things has taken its toll.

Both are absolutely fine. I don't get it.

I use both os daily and neither is remotely laggy, looks nice, supports all the hardware and software and I don't have to be surprised or spend hours downloading drivers to make it work.


macOS is fine on all officially supported machines. Windows 11 is fine on high-end machines, and sucks on everything else. I have to use Windows 11 for work unfortunately, an almost bare install with just the two programs we use added, no background stuff or other extra resource hogs, and it just. sucks. shit!

I'm honestly not sure Microsoft even cares about Windows anymore, to me it's felt like they burned everything internally during Windows8 and the ValueAct battles sealed it .. hell they even entirely removed the Taskbar back then

I've always wondered what things would be like the Microsoft break up went though, I really do think personal computing would be better off and the people involved would probably have even more money to boot


I am forced to use windows at work. Last week my web searches looked strange ... not getting the ussual results. Bing! Some windows update reset my default search from google to bing. Again! Microsoft's dirty tricks will never stop.

I am considering writing software specifically to feed random junk jnto Microsoft's telemetry cloud. I will call it "fusk-MS" and it will send random searches to Bing and fake screenshots of a linux desktop to copilot ten times a second until Microsoft stops acting like such a jerk.


"update" lol

what has gone horribly wrong is the native UIs. they are completely worthless, across all OSes - difficult to use, limited, and in general suck compared to HTML/CSS.

I've worked with all major GUI frameworks, from MFC to Qt, they all suck compared with React/Vue


Sucks a whole lot less for users though.

I remember when people argued that because the time spent running an app was so much greater than the time spent developing it that one should be more conscientious about a user's time than a developer's.

After all, wasting a minute of time from 20 million users is 38 man-years of lost life. Doing that just to save a developer a week or a month is ethically troubling.

Of course, people also upgraded their computers a lot less frequently and you'd publish minimum machine requirements for software which probably made it easier to make such arguments as you'd also lose customers if software was slow or had minimum hardware requirements a lot of people didn't have.

That largely went out the window with web developers where users were just as likely to blame browser makers or their ISP for poor performance. Now with app developers and OS makers doing it, I guess there's just so many users at this point that losing a few with older hardware just doesn't matter.


For whom?

Every single web or mobile app does his own custom thing nowadays. As a user I couldn't care less how it's implemented, what I want consistency in behavior and style across the board.

It feels like this has been completely lost, even on platforms like mac where consistency used to be important.

I'd take MFC everything over random behavior if I could.


> It feels like this has been completely lost, even on platforms like mac where consistency used to be important.

There are two kinds of consistency: across apps within a platform and across platforms within the same app. As someone who uses multiple platforms regularly, I have forever been annoyed when eg keyboard shortcuts change when I switch to a different computer, especially when I’m using the same app.

Apps like Discord, Spotify and VSCode are consistently the most pleasurable to use because they are largely the same.

For a unique piece of hardware like the old iPod, it made more sense to do your special custom UX as a unified product. But we’re talking about general purpose computers. The ”platform” shouldn’t be special imo, it should simply be predictable and stay out of the way. They mostly provide the same thing, like copy paste and maximizing a window, yet have different controls. This differentiation adds no value, at least to me.


You forget you’re a minority. Most users use one platform, or at most one work one private (probably with different software). So most software should be optimized for the platform, not consistency across them.

I don’t agree with this at all. I’ll take AppKit (preferably with Swift, but Obj-C is fine too) over anything web. There’s a number of reasons, but the biggest is that AppKit has an expansive set of well implemented, accessible, flexible, efficient, and ready to use widgets that are all designed to work together, and the truth is that this isn’t something you can get on the web.

Even the most complete “UI frameworks” on the web are full of holes, leaving you to build a patchwork monster out of a laundry list of third party widgets (all of which themselves are full of shortcomings and concessions) or build your own.

As an aside, this gripe isn’t exclusive to the web. It’s a problem with many others such as Windows App SDK (aka WinUI) and Flutter, among others. At least for the things I build, they’re unsuitable at best.


There's one problem: If you're competent with non-web UI technologies, it's probably time to schedule your colonoscopy.

Late millennials and gen Z have been spoiled by declarative, reactive frameworks that work identically whether you're doing a local UI or the Web, and the tools (for example Figma) that have grown up around these frameworks. Using C++, Objective-C, or even Swift will be just fine for a personal project, but if you're talking something that needs to be maintained and refined over the long term by a team, you will have a much worse time finding people competent in those languages than in JavaScript+React+Electron.

This is also one of the reasons behind rewriting everything in Rust: C is so dangerous, people who don't already know it inside and out are unwilling to touch it. Virtually all of the younger system developers are already working in Rust, and would vastly prefer it over working in C given the choice, so keeping a C project maintained has gotten a whole lot harder.


> Virtually all of the younger system developers are already working in Rust

I'd love to know where you get your statistics from.

FYI, as an anecdote, I am 'younger', in the sense of 'only recently joined the workforce', and I write 100+ lines of C and C++ a day, both at work and in side projects. Haven't touched Rust once, although I would like to get into it.

And funnily, the one UI framework I did use at work is Avalonia, which is strongly inspired by Windows Presentation Foundation.


I write plenty of declarative UI too in the form of SwiftUI (where it makes sense; often on Apple platforms the imperative frameworks are better suited) and Jetpack Compose.

Declarative UI has its upsides, but it’s hardly a panacea. There are places where it’s a straightforward dramatic improvement and then others where it’s an awkward contortion at best. Reactivity can be great but works in imperative setups too.

The explosion of popularity of front end web frameworks comes down almost entirely to two things: accessibility and commodity talent. It has a low bar to entry and JS+React is the closest the industry has come yet to achieving its undying dream of cheap, easily replaceable, interchangeable developers. In most other aspects it’s objectively worse than alternatives.


I would hard disagree. Give me QT to make cross-platform applications that properly manage resources, have low latency, and barely register in memory usage.

There was a cross-platform QT tool, running on macOS, Windows, and Linux, for debugging and updating the firmware for an embedded platform solution. macOS & Linux both were quick and fast to code. Windows needed more work and also an abstracted write management system because the application was bringing the OS to screeching halt while writing the debug messages to a SQLite database. The write issue was only on Windows. HTML pages / reports were being saved into the SQLite database and viewable with-in the application. This was all packed into a single file executable so nothing and to be installed, just copied to the computer and ran.

Often low-end hardware is sold in product solutions and frameworks like QT are better suited to make the end user happy with load and response time than HTML5. The only reason I find bloated frameworks being used on such hardware is because the developer only understood one programing language and one UI framework. The former developer who's job I took over jumped ship because he did not want to learn WPF and only knew WinForms.

QT, HTML5, React, WinForms, Gtk ... are all tools in a tool box and each has a proper usage. Hell, if I ever make an iPhone based application I will be learning Swift and the Apple frameworks for such a task.


I generally agree with you, but it does entirely depend on the type of application you want to make.

If you need a lot of graphical elements and customization to get a look and feel that matches what you want, then yeah, nothing really beats html/css/js for both it's flexibility and available ecosystem.

But if what you need is an application with a button that does magic things when you push it, or a text box or table that allows for customization of the text color, then all the other types of UX frameworks work just fine. You just can't expect to do something like make a pretty chart.


SwiftUI on macOS 26 still has issues but it’s finally starting to evolve into something usable. In particular it seems like the long standing performance problems are being addressed.

and yet the Telegram Desktop App, written in Qt/C++ is the only goddamn desktop messenger app that actually feels smooth and feature rich rather than the webclient wrapper abominations of everyone else that eat half a gig of ram on startup and randomly hang on searches

I’ve recently downgraded my 10 year old used-only-for-obscure-firmware-updaters laptop to Windows 7 and enabled the “Classic” design. The snappiness of that GUI is unmatched even with Win 10/11 on much better hardware. Makes you wonder about the rest of Windows when Microsoft can’t even optimise the most basic things in modern Windows anymore.

Same here. I developed desktop applications for 15+ years and was really frustrated with Microsoft's direction for the UI around the time of Windows Phone. While Windows Forms may not be the best, it worked for decades until then. Now even if someone wants to build a desktop application using native UI, it's next to no resource at all because it's all about cross platform nowadays.

macOS has two separate Telegram apps, technically speaking. The one (most) everyone uses is AppKit based.

Ugh, opposite. CSS is the fucking worst way of laying out a UI. How many human lives have been lost to div class layout nonsense that a better system could handle directly.

Not for the user, unless I forgot that today is opposite day.

Am I missing something, or hasn't Microsoft done this since Windows 9x with apps like Explorer and Control Panel heavily using web views internally rather than "native" WinAPI GUIs?

But those weren't entirely done with a webview. They were just embedding views where it made sense, like rendering a section that looks like a document (with fancy hyperlinks woooo) or render a preview of the file you selected in the main (native) view of explorer.

Now we are talking about entire apps being built with that stuff, down to the window border (or lack of it). It's impossible to have a consistent looking and working OS with this approach. It's impossible to share code between these things and the actual native apps, and often things have to be written from scratch and end up using 10x memory than the native solution.


Remember when Active Desktop! Was the shiny new thing?

That was actually fun if not very useful (I had a dynamic school timetable programmed as my "wallpaper" as I was in high school at the time).

Not very useful because you quickly realize you mostly obscure your desktop with actual applications you want to use on your computer.


They tried fixing that by creating widgets, but effectively had the same problem. Then they tried fixing that by making them always present, but then you just lose desktop space. I guess it makes sense if you have two monitors, but at that point, why not just have the full apps open in those same spots? Widgets are a great idea that I wish we could make useful somehow.

A loI of people don't know about this and I don't know if they really went ahead with it (been away from everything Microsoft professionally just about three years now) but at the time they were pretty serious about the idea to build all Office apps in React, so (according to them) they could more easily build "great multi platform experiences" from the same codebase.

Why they thought it couldn't be done with the .NET stack they already had (this was after the purchase of Xamarin and Blazor becoming a thing, mind you) still baffles me.


>OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs something has gone horribly wrong.

I honestly think that has way less to do with Microsoft, more of a representation of "software engineering" practices these days.

For example, Gnome shell has bunch of javascript in it, GTK has layout and styling defined in some flavour of CSS, etc.

I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

Most technical decisions aren't really driven by what makes a better end-user experience or a better product, it's mostly defined by convenience and familiarity of substandard software developers - with mostly and primarily web-slop background.


Cosmic (from the PopOS folks) is getting rid of the crappy javascript from GNOME Shell. And the CSS in GTK+ themes is just for the sake of syntactic convenience.

Cosmic is quite nice. There's some polishing left to do, but it's already pretty solid. The app store is a bit of a turd, but I bet that's just because it's by nature connected to the internet. More could surely be done with caching and pre-loading, but not sure if I want my computer to pre-load app store content all the time just in case I open it.

Compared to Windows it's of course absolutely unreal.


But the difference is that none of the CSS or Javascript usage in gnome is tied to a webview. They are all binding in some way to GTK and much simpler rendering routines.

> I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

KDE Plasma, which is in my opinion the most advanced desktop environment is written in Qt QML which is JavaScript. There are advantages to that over C++, namely your session won't simply crash.


QML is not JavaScript.

(While you can use some JavaScript from QML, the application still have a C++ core. QML applications can still crash. There is no DOM with QML, no browser overhead)


QML is absolutely not JavaScript. It's a markup language to describe user interfaces, spiced with JS for certain interactions. All heavy lifting behind the scenes is done in C++ - the QML runtime as well as the application logic and data models.

The last point is very astute.

The software industry has always had more juniors than seniors so this issue of juniors calling the shots is not a new one but it does feel like it's been getting worse and worse... Now it's basically AI slop vibe coders calling the shots about coding best-practices.


When I read comments like this, I honestly think that people are only complaining about this because the "bad people" are doing this (in this case Microsoft/Gnome Team).

Neglecting the fact that almost everyone else is doing similar things.

> For example, Gnome shell has bunch of javascript in it, GTK has layout and styling defined in some flavour of CSS, etc.

What GTK is doing isn't really any different than how many UI framework work and have done so for quite a while now.

Almost every desktop UI toolkit/library/framework in the past 15-20 years has the following:

- Markup interface for defining the layout. If they don't have that they have a declarative way of defining the UI.

- Some sort of bindings for popular scripting language that hook into native code.

- Some of styling language that isn't that different from CSS.

This has been the norm for quite some time now. It works reasonably well.

Futhermore there isn't much difference between what desktop developers are doing and what web developers are doing.

> I'm of opinion if you start writing OS userland in either javascript or python (or both), you should be fired on the spot, but I don't make the shots.

Why? I find Gnome works really well on Linux. I have a pretty nice desktop environment after adding two extensions (Dash To Dock and App Indicators). Gnome runs well on relatively ancient hardware I own (2011 Dell E6410) with a garbage GPU (it isn't OpenGL 3.3 compliant). It actually performs a lot better than some other DEs that are 100% native.

JavaScript is indeed a slow language. However in Gnome that isn't the bottleneck. People have been making UIs with JScript (basically JavaScript) using WSH back in the 90s on Windows 98.

> Most technical decisions aren't really driven by what makes a better end-user experience or a better product, it's mostly defined by convenience and familiarity of substandard software developers - with mostly and primarily web-slop background.

What makes a better end user experience has nothing to do with any of this. There has to be an incentive to create a good end user experience and there simply isn't in the vast majority of cases.

In many cases it doesn't matter really what the tech behind something is. Most popular programmings and associated frameworks all work reasonably well on machines that are over a decade old. I am running Discord on a 15 year machine dual core laptop processor and it works "ok".

So this sort of complaining about "modern devs" I've been hearing about for almost 20 years now. The issues I've faced with doing quality work has been almost always to do with how projects are (mis)-managed.


Whenever web dev comes up, we got people saying it's fad-driven development where a new framework comes out every week. Those people have never done real native development. React and Angular have been the solid stable bedrock of web frontend for ten years, and the churn is nothing compared to Windows, OSX, Android, and iOS UI dev.

  > OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs
i wonder if they ever thought about using copilot to fix that (insert thinking-face)

> but if a OS manufacturer can’t be bothered to interact with their own UI libraries to build native UIs

But if they don’t use web tech it would be too expensive to build the start menu in a way that works cross platform!

Oh wait


Not a developer, what's the issue with React Native?

React native will always be more resource intensive than a native framework because it relies on a whole javascript runtime to work. Don’t know about others, but I personally don’t want a system tool that I cannot disable easily to be designed like this - it ultimately be less responsive and take up more of my resources from other apps.

Yet somehow I am OK with gnome shell.


> their own UI libraries

It doesn't help that their own UI libraries are unfinished, unpolished, hot garbage.

I commend on using React, though. Like it or hate it, React is the closest to one true framework for everything.


WPF is pretty complete and used widely in various engineering, finance and corporate applications. It is HiDPI compliant. It is mature (developed since pre-Vista). It supports modern look too (can even look like Win-11, they officially support it!). Some of the beloved Microsoft late programs like Windows Terminal are written in it. If they use it and keep improving it, it has a huge potential.

But no. We cannot have nice things. Microsoft has lost the ability and management capability to release nice things. For some reason, Microsoft is trying to reinvent the wheel with UWP (aka WinUI2) and WinUI3. They are trying to replace everything with these half-arsed libraries when very complete and well-thought, future proof stuff already exists in Windows' DNA. They are shitting on the work of their earlier engineering.


How the start menu is programmed is of zero consequence to me.

> is of zero consequence to me

It is inconsequential, until it isn't. In front of me I've got a 2017 lenovo thinkpad running the latest Fedora+KDE, as well as a 2025 HP elitebook running "last corporate-friendly-stable version of W11". I can pop open the lenovo, key in my session password and hit enter, and I'm instantly productive, with shortcuts like meta+E giving me a working file explorer within milliseconds. On the Windows' side, there are several seconds of delay between typing my password and the on-screen feedback. Once finally unlocked, I've got a laggy environment where OS-essentials like the start menu and file explorers take whole seconds to render and respond.

It's a shame, if you ask me, that a dozen-or-so CPU and "general hardware" generations between those two devices got to waste due to poor software engineering and practices. And I'm not even talking about quality/reliability which is another sore point for Windowses of late.


Same. 2017 thinkpad, latest KDE, snappier than my 2025 Dell with Win11 and a processor that should be about 60% faster for single thread tasks.

Windows 11 has zero lag on the start menu so I don't care if it is hand coded assembler or some bloated web crap.

I even ran Windows 10 on Thinkpad x240 a couple of years ago, it also ran fine.


Performance isn’t a consequence?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: