Microsoft continues to back off of UWP programs, Win32 re-"elevated to full status"

Delicieuxz

[H]ard|Gawd
Joined
May 11, 2016
Messages
1,667
After seemingly trying to use UWP to turn Microsoft Store into another Apple Store to create Microsoft hegemony of 3rd-party Windows program sales, Microsoft has tacitly conceded, concerning yet another of their features, that what they wanted is not what everybody else wanted or what was good for the Windows platform.

Microsoft Confirms UWP is Not the Future of Windows Apps
Microsoft wants to close the UWP, Win32 divide with 'Windows Apps'

Microsoft is effectively killing UWP by ensuring that all its capabilities are available to once-legacy app development platforms.

“You’ve told us that you would like us to continue to decouple many parts of the Universal Windows Platform so that you can adopt them incrementally,” Microsoft corporate vice president Kevin Gallo writes in a blog post aimed at developers. “Allowing you to use our platform and tools to meet you where your customers are going – empowering you to deliver rich, intelligent experiences that put people at the center.”

To be clear, this is a positive change: Instead of blindly pushing forward with its failed strategy to make Universal Windows Apps (UWPs) the only truly-modern platform for building Windows apps, Microsoft has, over time, opened up more and more UWP functionality to non-UWP platforms. This includes legacy platforms that Microsoft once deprecated, like Win32, WPF, and WinForms. So what’s old is new again.

...

As Foley notes, Microsoft’s new strategy is to make all developers features available to all of the Windows frameworks. Left unsaid, however, is that this is a refutation of the original strategy and that Microsoft only made this change, over time, because most developers rejected UWP.

Put another way, UWP is dead. Not literally—it’s still the only way to create WinCore apps that run across Windows 10, HoloLens, Surface Hub, and IoT—but effectively. And the way we know that’s true is that Win32, WPF, and WinForms have all been “elevated to full status”—Gallo’s words—in Windows 10 all these years later.

Microsoft is doing what developers want. And what developers want is not UWP. Or the Microsoft Store, as it turns out.
 
On the one hand, UWP is a great idea for security, stability, and ease of development. On the other hand, the freedom of Win32 is something that really distinguishes Windows from OSX, and from a practical standpoint, most Linux distributions.
 
Judging by people's comments I'm guessing it is a walled garden distribution model akin to Apple's App store.

I would hate that.

Don't get me wrong. I see great benefit in unified software distribution platforms with updaters that make sure all software system wide is properly patched.

The part I don't like is that this reeks of a Microsoft plot to take over any and all software distribution for Windows operating systems. That is just plain unacceptable.

What I would support is them offering a unified updater service to all developers releasing software for Windows for free as part of the operating system tools, and displaying a warning message if the software a user is trying to install has been messed with (checksum mismatch, improper CA, doesn't use the updater, etc.) to encourage users to install untampered with programs thst are OTA updated.

I would still insist that there be a method for users to override and install anyway.
 
Microsoft recently made a bunch of changes to the Intune suite so I wonder if these changes are in some way related to this, I am not up to date on my MS stuff and I really need to get caught up they have been changing a lot of things back and forth over the last few years and I am starting to get very confused.
 
Judging by people's comments I'm guessing it is a walled garden distribution model akin to Apple's App store.

I would hate that.

Don't get me wrong. I see great benefit in unified software distribution platforms with updaters that make sure all software system wide is properly patched.

The part I don't like is that this reeks of a Microsoft plot to take over any and all software distribution for Windows operating systems. That is just plain unacceptable.

What I would support is them offering a unified updater service to all developers releasing software for Windows for free as part of the operating system tools, and displaying a warning message if the software a user is trying to install has been messed with (checksum mismatch, improper CA, doesn't use the updater, etc.) to encourage users to install untampered with programs thst are OTA updated.

I would still insist that there be a method for users to override and install anyway.

Not really, it is just another option available along with Win32. A walled garden is iOS. UWP was a good idea but unfortunately, as per the new Microsoft, they put no effort into it and it died on the vine. (It also died when they killed the Windows Phone platform.) No biggie, it is not like they had anything much worthwhile other than the AAA games and Play Anywhere AAA games. The store itself is not going anywhere.
 
Netflix and Fitbit disagree.

For giggles I just did install it with out signing in, first thing I have ever done in the windows store directly. I just hit install, when it prompted me for an email address I didn't enter anything just closed the window when I went back to the netflix app page it now says "This product is installed" with a big blue launch button next to it.

Edit*
I just did some quick searching and it is up to the developer to allow downloading with out an account if the app is free.
 
Netflix and Fitbit disagree.

Actually, Netflix and Fitbit disagrees with your disagreement. :) I just tried it on a local account and all I had to do is close the window that came up and ask for a Microsoft account. It then proceeded to download and install the app, all without a Microsoft account.
 
Does this mean Windows Lite is also dead? That was going to use UWP and a container system or virtualization to run Win32 apps.
 
I don't even know what UWP is! :p

An API that is slower than Win32, that is much more restricted than Win32, which AFAIK the programs that are contained within it cannot be modified, tweaked, edited, troubleshooted by the user as much as Win32 programs can be. More info in my response to Staples.

I think UWP has, or had a lock on FPS, too. It apparently was 60 FPS. I think that FPS cap is removed now:

https://www.gamewatcher.com/news/20...ng-g-sync-freesync-support-unlocked-framerate


In my experience, UWP was ok for everything but games.

Maybe until you need to do something with a UWP program that you can't, like troubleshooting a program in some certain way.

I think it's noteworthy that Microsoft decided last year that UWP wasn't the way forward for MS Office, but Win32 was: https://winbuzzer.com/2018/09/28/mi...ending-office-uwp-app-feature-support-xcxwbn/


Here's some info on UWP from forum posts:

If that were true then Microsoft would have been able to produce UWP native versions of Win32 mainstays like Office with full function and feature parity, if not improve upon the Win32 version. But they haven't been able to going on six years now, and in the case of Office finally gave up and resorted to cheating by UWP wrappering the Win32 version with centennial as a perception stopgap.

There's just no getting around the fact that it looks really bad to developers and users when Microsoft can't even manage to build UWP native versions of their own software.

I did say subset. You can't create things like services or create and use COM extensions, which is a big part of why by design UWP versions of Office can't fully replace the Win32 versions. But I was addressing the point made about performance. In general as so much of UWPs are Win32 there shouldn't be much of a performance gap between a well written UWP and Win32 app.

The Store versions of Office actually do quite a lot but lacking things like macros and COM extensions are big deals but many people would be able to use them fine if they didn't rely on those features


Here's an insightful post on LTT about UWP vs Win32:
https://linustechtips.com/main/topi...out-now/?page=3&tab=comments#comment-11288784



Tim Sweeney was against UWP over concerns Microsoft was trying to monopolize all Windows 3rd-party software purchases with it (just like Epic are now doing with paid-for exclusives):

Microsoft wants to monopolise games development on PC. We must fight it
Microsoft's Windows app strategy comes under fire: 'The most aggressive move Microsoft has ever made'
Tim Sweeney blasts Microsoft's "aggressive UWP initiative"
 
Last edited:
Now let us download our Steam games without a Steam account, too.
actually there was a time when you went to the developer an bought the game, they mailed you an activation key and no client was required
 
Win32 is both a good thing and a bad thing. Good in the sense that you can do a lot of things as a developer and make your program do great things but Win32 can also be used to do A LOT of bad things. Your average user here may disagree with the idea that there should be restrictions in place for what programs can and can't do but we've seen that the lack of permissions has resulted in Windows being a virus ridden cesspool.

So the question of course is... How do we fix Windows and make it safe to use for complete n00bs? You know, make it so that they can't hurt themselves.
 
So the question of course is... How do we fix Windows and make it safe to use for complete n00bs? You know, make it so that they can't hurt themselves.

The MS approach has been, in several stages, to take the concept of an improvement and package it as some new named technology tied to a particular version of Windows, to promote upgrading (and purchasing).

When DirectX was new and MS had two operating system lineages (NT was new, became XP later), the idea was to make DirectX only applicable to newer versions.

.NET was another version of this same concept, where the initial technical idea was to kill Java but they packaged it as a new technology.

UWP is just another version of this game. Technically it is a few older ideas wrapped into a name they pushed for marketing value.

So, to more directly answer your question, Win32 being the "original" API for Windows 95 (Win16 was the previous, re-named after Win32 was invented), it was never really built with security in mind. It is more than just a collection of good and band things, it is the entire means by which an application interfaces to the operating system, and as such exposes everything to the application.

As security was of some concern, many of these API's required certain security "levels" to use. Infamously, the security tokens required to do that became the target of viruses, and that toppled the entire house of cards.

UWP was more than security, though. It was supposed to be an API that unified the presentation of Windows OS as packaged on various hardware from consoles to phones. That struck every developer as odd, because while we are focused on making portable software (applicable to various platforms), this was an abstraction over various device categories. The problem is that you really can't build an interface for a phone that works on the desktop (that's the very short version of the problem). It was a solution looking for a problem.

It also makes whatever frameworks developers use for platform independence (usually meaning Linux/MAC/Windows) aren't aimed at UWP, or the concept of Phone/Desktop as a single build. Put another way, other frameworks (typically for C++) allowed applications to target both phones and desktops, but we start knowing these are two completely different targets, with different interface technologies, so we know going in this will not be one application - it will be a core of one application with two completely different detailed builds (again, the simplified version). That capability already existed outside the MS platform. So that concept for UWP was also a "solution" for which solutions already existed.

Put basically, the solution we already used was independent of both operating system and target device, but UWP was only independent of the device, FOCUSED on one particular operating system (Windows). Quite contrary to developer goals.

Developers' reactions can basically be summed up as, "Yet another frickin' thing to deal with we don't ever need).

Now, back to the security issue.

Where Win32 API's are harmless, UWP is really just another name (if it actually is a different name) for the same thing. Where a Win32 API opens potential security issues, you are best served where that application is installed in some virtual machine sandbox. This way all such nefarious acts by the application can be observed, caught, stopped and users can be notified. "Hey, this thing wants to reformat your drive...not cool".

Such a "security shim" or "security prophylactic" was already available, though packaged in such a way that only determined and experienced users could deploy.

No reason existed for not opening that up so that all newly installed software was deployed in such a sandbox.

UWP could be seen as such a sandbox. When building a UWP application for a Windows desktop, the developer can request access to the full Win32 "dangerous" API, but the user is asked if they want to allow this.

If course, users don't really understand such a question, so many just say yes. Android is infamous for this.

Instead of asking, the new software should be operated inside a virtual machine, so it can try to wreck everything, we can see that, and AFTER that fact, remove it WITHOUT ever having the host computer infected.

How else can anyone without expertise even proceed? Humans generally respond to a disaster AFTER it happens. Rarely do we really respond through PREVENTION, on our own. We never choose to "opt out" or even "opt in" intelligently. The computer may ask if we want to let the software access our camera, our microphone, our contact list.....once that list is more than 2 entries, eyes glaze over and the answer is usually "yes".

"Yes", however, doesn't really mean a thoughtful exception to the concept of safety. It usually means, "Yes, I want to get on with my life, and ignore this nonsense that I don't really understand anyway".

Later, of course, they're calling me (if I know them), because everything in their computer/phone/tablet went nuts and they have no idea why.

The only way "noobs" can handle such things is to install the software and let it crash, burn and die.

But, in such a way that this dramatic demonstration is actually harmless to the REAL host computer, only the virtual compartment that application trashed.

Such a technology existed for a long while, just not packaged within the operating system for convenient use. For years (now decades), I've never installed software in my host workstation. I always installed in a virtual machine (of another operating system). It was like installing things in someone else's computer to see what happens, with the knowledge that if it all went to h*ll, all I had to do was trash the VM (which means that in about 30 to 60 seconds, all damage evaporates and I go on as if the problem never happened).

If, after some while, the VM never had a problem, I may then choose to install that software in my main host, IF there is a performance reason to do so.

On my one machine, at any one time I may be running up to 5 operating systems at once. Usually two images of Linux, the host in Windows (usually older than current, but valid - 8.1 at this point on my machine), A Windows 10 VM, and often two (sometimes 3) instances of any of those for experimentation.

Not something your average user will bother to do, or gear up to handle.

Yet, there really isn't a reason what I do manually can't be automated. Some AV/Security software, and part of Windows will do part of this now, but it's not 100%.

Of course, we then discovered "Spectre" and other vulnerabilities which CAN impact virtual machines negatively, so all of this is subject to the limitations of the overall technology.

Beyond all possible mitigations, one must be in a position to just drop everything and restore to a good, known working condition. This, too, seems to much to ask of the average user.

My own system is always fully backed up, and in such a way that I have, at ALL TIMES, backups of the operating system, software and data in separate volumes, going back years.

I can, at any time, choose to restore my system to the beginning (a few years ago), or the machine's state from Jan 2017, Jan 2018, June 2018, Jan 2019...and so on.

I am never in a position of having to start over, from scratch.

My machine can be completely infected, or stolen. I can restore, in fairly short order, to at worst the state of my machine from Monday of the current week (and often with echoes for Wednesday, Friday or any other important point where valuable work has been done).

I can, for example, recover from a massive disaster, have to move to a different city, buy a replacement computer, have no physical devices or storage from my previous office and home, and I will be back up and running with, at most, 48 hours of my machine's content lost, from the operating system to the installed applications.

Not something I can say about nearly everyone I know with a computer. Even where they have membership in some online backup service, they have no idea how to restore their system from absolute catastrophe. They may have backups, but no CRASH RECOVERY PLAN.

THAT should be built into any consumer product, but as of yet I'm not sure that exists in a bullet proof, practiced method.

I must admit, too, it isn't really easy. I worked at it. For years I consulted for businesses (architects, engineers, manufacturers, etc.) to implement crash recovery plans, automated as much as possible. I practice it for myself.
 
  • Like
Reactions: nomu
like this
Assuming UWP is essentially the modern apps, I have no problem with them. They work better on High DPI monitor, but presumably MS could upgrade win32 to do the same. As I recall, one of the reasons for doing UWP was the apps would work on phones, tablets and PCs. Now that the phone platform is dead and I think the tablets (if they still make them) are all win32 capable, so that part isn't that useful. I think another benefit is that the apps auto update. I'm pretty sure Nord VPN is a UWP app and it auto updates.

Bottom line I don't care either way. I use UWP applets and i sometimes use the win32 version. It's all good.
 
UWP would have been fine except there was one major problem they didnt put the store on windows 7. Why would anyone develop for UWP when they can just develop for win32 and cover all windows computers. It is still amazing to this day that MS was never smart enough to understand this. For some reason the clowns up there thought UWP was a feature to sell new windows but developers just saw it as a good way increase costs by forcing dual development or lose 50% market access.
 
The problem is that you really can't build an interface for a phone that works on the desktop (that's the very short version of the problem). It was a solution looking for a problem.

The idea that a desktop has to be different than a mobile device is not even remotely true and never has been. At the end of the day the user interface for any device be it phone or desktop from any vendor is pretty much the same, its a grid of icons. Doesnt matter if its Linux, windows, macos, ios, android, windows phone they are the same, a grid of icons. ios is litterally just the same junk that apple tried years ago with the one button mouse. long hold instead of right click. Swiping down on android to get to notification screen is like no different then pressing the start menu on windows and is nearly the exact same as how apple has their menus laid out.
 
UWP would have been fine except there was one major problem they didnt put the store on windows 7. Why would anyone develop for UWP when they can just develop for win32 and cover all windows computers. It is still amazing to this day that MS was never smart enough to understand this. For some reason the clowns up there thought UWP was a feature to sell new windows but developers just saw it as a good way increase costs by forcing dual development or lose 50% market access.
1. As I recall, they originally thought UWP would be used on both PCs and handheld devices (phones, tablets etc)
2. 7 was going to go away (and will be soon, though if we're talking about doing this back when 8 rolled out, your point is well taken).

As I said earlier, I think it's probably a case of now that it's mostly just supported on Windows 10 (and 8 for those still using it) and phones are gone, that part is gone. The main benefit seems to be that it works better with High DPI devices (though maybe they've put that in win32 now).

Ultimately everything will be 10 (I think that happens next year, but I could be wrong), so 7 isn't really an issue. Whatever. I'm good either way.
 
The idea that a desktop has to be different than a mobile device is not even remotely true and never has been.

I'm quite certain you've not developed applications for both to notice what vast differences there are on these devices.

Try to design an interface for photoshop that works on a phone they way it works on the desktop as an example.

You can't shake a desktop, or tilt it, as part of the input interface. You may have touch, but if you're sitting at a desk it gets awkward for users to hold their arm up for long periods of time to make that the exclusive input method. I have architectural clients that were initially elated to get touch monitors for their CAD use, only to realize it was too uncomfortable, so touch is rarely used in their work.

There are, factually, vast differences in these devices and how users interact with them, and always have been, especially with the early devices that had limited resolution.

Interfaces are much more than icons. Layout is an example. That's why you find web pages designed specifically for mobile devices. Most people don't mount desktop monitors in portrait mode, and most phone users don't orient their phone in landscape mode, even when taking video (which gives use those narrow, tall videos we see all over the Internet).
 
landscape mode, even when taking video (which gives use those narrow, tall videos we see all over the Internet).
Which bothers this living shit out of me!!! TV is landscape, video should be landscape. Get with the program people!

I'm happy to see UWP dying, I just hope that .NET doesn't go with it. .NET is a pretty useful framework.
 
  • Like
Reactions: JVene
like this
Back
Top