2 things Microsoft failed to do in the last 15 years are:
1) They abandoned their mobile phone, tablet, and wearable strategy. So, today if you develop a native Windows application, it will only work on desktops and laptops. That is it. It is not attractive for a developer to learn a whole new UI framework just to target a single form factor. And I don't know if there is any solution for this at this point, they shouldn't have completely abandoned those markets.
2) They did not back 1 UI framework for a long time (I mean 10 years+), instead they did significant changes to their UI framework strategy every 3-4 years. It takes a huge time for developers to trust, learn and develop complex and polished apps in a UI framework. Also it takes a long time for a UI framework to become mature. If you change your UI strategy every few years, you will never have complex and polished apps written with it.
To be honest I am not sure if Windows will ever be able to recover in the long term and keep its market share. The only reason it seems to be alive is because enterprise runs on Windows and it is hard to change that.
I feel like an Apple + Google dominance will be more likely in the long term for desktop operating systems. I am not sure if Google will be able to avoid the first mistake I wrote above but they are working on bringing Android to desktop. It is a good idea but it requires at least 10 years of supporting and polishing it despite not getting much traction. But if Google persists, we might be all using MacOS and Android on desktop 20 years from now.
Yeah, a striking difference between windows and linux at this point is that the linux UI frameworks are hyper stable. If I want to make a linux desktop app, I'll choose QT or GTK. Heck, if I want to make a windows and macOS app, I'll probably choose QT or GTK.
What do I chose with Windows? Who knows. It literally changes every time I look into it.
That's just insane.
It's gotten so bad that probably the right way to do a modern windows desktop app is react native. At least you could predict that it will stay up to date with the ever shifting decisions at MS to create and abandon UI frameworks.
Windows Forms is the answer you seek. It still receives updates to this day. I've been writing and shipping Windows Forms apps for 25 years. High DPI, dark mode, Edge web views, Blazor integration, we've got it all. Users don't even need to install .NET these days with self-contained deployment.
I will boldly claim Windows Forms is more stable than Gtk and Qt. Don't let random teams at Microsoft confuse you because they released yet another unrelated framework that you don't have to use. They are engineer-sirens trying to lure you from the true path. Let them pursue their promotions in peace while we rely on a stable workhorse.
On Windows, I would chose WinForms. Even today, even over WPF. It's as stable as QT and GTK, still supported, and has a large community of contributors and 3rd party vendors.
All the various windows UI frameworks are stable, but not supported and not receiving new updates.
That's the problem.
And what makes matters worse is because of all the shifts, the documentation throughout MS is in just varying states of outdated. For example, this document which recommends using UWP [1] to handle high dpi problems. But of course, UWP (which was the right way to do gui in Win 10) is now defunct for win ui.
WPF is also stable. Microsoft's UI strategy is similar to keeping all of Motif, GTK2, Qt5 alive while engineering new stuff into Qt6 without deprecating anything.
Btw Linux UI is not by any measure stable. It is the furthest thing from stable.
I'm still using Win32 (via WTL) to write a developer focused application, but I know that someday I will need to switch to Qt, dear ImGui, or develop my own UI abstraction layer.
The biggest disappointment has been that all new OS features require a new runtime and are not accessible from just pure Win32 any more. Heck the pipeline for developing UWP/WinUI3 apps requires extra steps to register and install the application just to run it inside a debugger.
Various versions of GTK which introduced breaks but didn't really change the core philosophy of how you build a GTK app. IMO, this is the preferable way to evolve an ecosystem.
The problem microsoft has is instead of making "Win32, but with these extentions or these APIs removed", heck even as a separate "framework". What they did instead was "You know what's hot right now? XML. So let's make an XML based UI framework. Actually, it's javascript and css, so let's do that. Actually, people really like electron so let's do that."
That is to say, it is possible and I dare say easy to migrate an application from GTK 3 to GTK 4. It's basically impossible to migrate a WPF app to UWP. You have to rewrite the whole thing.
They had great devices before iOS/Android and then again after. That Lumia phone was awesome. They had one of the best cameras. Their live tiles they had on the phone & desktop OS were really good. Even Windows 8 had a cool CRM app in its infancy that tried to link all your social media & email accounts together.
They killed all of that even with multiple chances to win people over. It seemed they wanted to win the new markets in less than a year.
For as much flack as Google gets for short lived awesome products, Microsoft is right up there. Which is why when they've announced new things like Blazor, MAUI, etc., no one expects them to live long enough to trust their apps on.
I also strongly question their enterprise MOAT when most kids are growing up on Apple & Google devices the past decade. Microsoft seems to lack long term strategy.
> They abandoned their mobile phone, tablet, and wearable strategy
They were way too late to make a dent. Ballmer made the mistake when the iPhone came out to not get their ass in gear to compete. Microsoft's first potential real competitor to the iPhone came with Windows Phone 7 at the very end of 2010. The iPhone was announced in January 2007 and they didn't have anything to compete until almost 4 years later. I'm not sure how they could have recovered from that by the time they gave up on Windows Phone/Mobile in 2017. Anyone who worked in mobile sales at that time knew most people who did buy a Windows Phone ended up returning it when they realized none of their apps were there. They could have had apps if they recognized the iPhone's threat earlier and reacted appropriately.
Also worth mentioning that in their time competing for mobile they did a fairly hard reset of the platform 2 more times for Windows Phone 8 and Windows 10 Mobile. Go find what developers who tried to keep up have to say
Yeah, especially funny since they had the early lead with their iPaq PDAs and Windows CE. Which they completely squandered by ignoring them.
Then they acquired Nokia that already had an almost-ready ecosystem of apps, with good snappy UI. And then spent two years building a (shitty) framework on top of the long-neglected Windows CE kernel. Which was known from the start to be a stopgap solution before they port the full WinNT kernel.
MS ended up where it was at because there was basically NO upgrade path between the few different GUI frameworks they had. They broke the whole thing in 2002 when they decided .NET was the way.
You had to basically retool your whole GUI for whatever they were pushing at the time. Then they basically abandoned win32 GUI items and put them in mothballs. Then change their minds every other year.
No sane person is going to pick that model of building an application. So the applications kinda stagnated at whatever GUI level they came into being with. No one wanted to touch it. If I am doing that why am I sticking with windows? I can get the same terrible effect on the web/mobile and have a better reach.
Even their flagship application windows is all over the place. If you click on the right thing you can get GUI's that date back to windows95. Or maybe you might get a whitespaced out latest design. It is all over the place. It has been 10 years at this point. They should have that dialed in years ago.
I do not think Google will be able to pay attention long enough to have a stable GUI. Apple maybe. As for MS you can see it from the outside there are several different competing groups all failing at it.
MS needs another 'service pack 2' moment. Where they focus on cleaning up the mess they have. Clean up the GUI. Fix the speed items. Fixup the out of the box experience (should not take 4gig of used memory just to start up). Clean up the mountain of weird bug quirks.
Isn't it a bit exaggerating to say that users cannot use Snapdragon laptops except for running LLMs? Qualcomm and Microsoft already has a translation layer named Prism (not as good as Rosetta but pretty good nevertheless): https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x8...
>Isn't it a bit exaggerating to say that users cannot use Snapdragon laptops except for running LLMs?
I think maybe what OP meant was that the memory occupied by the model meant you couldn't do anything alongside inferecing, e.g. have a compile job or whatever running (unless you unload the model once you've done asking it questions.)
to be honest, we could really do with RAM abundance. Imagine if 128GB ram became like 8GB ram is today - now that would normalize local LLM inferencing (or atleast, make a decent attempt.)
Apparently 3M was a serious player back in the day on magnetic tapes and floppy diskettes. But today they are not present in a similar market (digital storage) at all.
I wonder what was it like to go through that timeframe, as the management and the employees, where the floppy disks were becoming obsolete. Did they purposefully took the decision to not pursue CD, flash memory market? Or was it just a shortsightedness of the management where they fell behind and eventually had to exit that market?
Of course 3M still managed to be successful and today it is one of the big market cap companies...
We call those “specialty chemicals” and it’s smaller volumes but much higher profit margins. Evonik (Germany) is another example.
Things like- not the asphalt shingle, not the granules on the asphalt shingles, but a COATING ON the granule on the asphalt shingle that provides weather protection.
Or, not the memory foam mattress, and not the liquid precursors that are combined to create the foam in the mattress, but an ADDITIVE to the precursors to the foam in the mattress which regulates/ensures a consistent size of foam bubbles during manufacture.
Decent example of a basic (vs specialty) chemicals company, although they are huge of course and quite diversified, they make a crap ton (millions of tons) of basic stuff like propylene, ethylene, ammonia, methanol, etc
3M was indeed a big player in those markets. I purchased both 5.25" and 3.5" 3M floppies and they were good quality and reliable.
I expect they left the market because of declining use and the entrance of much cheaper foreign manufacturers. I expect they didn't enter the flash memory market as they had no existing manufacturing base for them to build on. They would have had to rebrand another firm's chips and circuit boards.
They were not in the storage market. They were in the tape market. It just so happens tape was used for storage at the time (floppy is essentially tape in a circular shape).
No, there were quite a few Symbian models which used capacitive touch, combined with a modern Qt based Symbian OS. Check out "Symbian Belle" and the phone models released with that OS version. I loved my Nokia 603 :)
But I think they only released such models with Symbian for a couple of years, before switching to Meego and then later Windows Mobile OS.
They were in parallel, due to the whole Symbian vs Linux politics at Nokia between teams, both platforms got ramped down to Windows Phone 7 introduction and burning platforms memo.
The N900 was released more for a question of honour than anything.
Looks like M5 Macbooks will still have an edge over PC equivalents, but I am glad that with the new Qualcomm CPUs, PCs are at least getting close. Unfortunately Intel and AMD are falling so much behind that they cannot compete on laptop form factor anymore. The best Intel and AMD laptop CPUs, regardless of their TDP, are still around 3000 score on Geekbench single core.
The idea behind modern stanby is a good one, when it is implemented correctly (like how Macbooks do it). Unfortunately most PCs have a terrible implementation and instead get hot and drain the battery overnight.
1) They abandoned their mobile phone, tablet, and wearable strategy. So, today if you develop a native Windows application, it will only work on desktops and laptops. That is it. It is not attractive for a developer to learn a whole new UI framework just to target a single form factor. And I don't know if there is any solution for this at this point, they shouldn't have completely abandoned those markets.
2) They did not back 1 UI framework for a long time (I mean 10 years+), instead they did significant changes to their UI framework strategy every 3-4 years. It takes a huge time for developers to trust, learn and develop complex and polished apps in a UI framework. Also it takes a long time for a UI framework to become mature. If you change your UI strategy every few years, you will never have complex and polished apps written with it.
To be honest I am not sure if Windows will ever be able to recover in the long term and keep its market share. The only reason it seems to be alive is because enterprise runs on Windows and it is hard to change that.
I feel like an Apple + Google dominance will be more likely in the long term for desktop operating systems. I am not sure if Google will be able to avoid the first mistake I wrote above but they are working on bringing Android to desktop. It is a good idea but it requires at least 10 years of supporting and polishing it despite not getting much traction. But if Google persists, we might be all using MacOS and Android on desktop 20 years from now.
reply