Game developers have many choices. You can throw a game up on your websites and sell it yourself.
You can sell it through GOG
Humble Bundle
Steam
I'm sure there are others. With UWP you have no choice, it goes through Windows. The concern is that Microsoft is making it so certain features won't be available to your program if you aren't sold through the store. There won't be any competition. If you sell a non UWP app through some other market, you will not be able to use those features.
The day that Win32 executables don't run on Windows is the day that Windows irretrievably jumps the shark. This is a company that has gone to sometimes absurd lengths to ensure compatibility with out-dated third-party software. There's too much legacy code out there, and too much legacy code still in active, important code bases.
I'll start worrying about the future of locked-down UWP applications once I start seeing anybody build some that are more than gimped versions or toys. Wake me up when Visual Studio or SQL Management Studio is rewritten as a UWP app.
Keeping in mind that I don't know much about Win32 and even less about UWP. It seems people are less worried about Win32 becoming unsupported and more worried about some new technology only being available to UWP apps (maybe something like the next version of DirectX?), which will force everyone to move away from Win32.
Microsoft absolutely wants everyone to leave Win32 behind going forward. Because Win32 is old and holds their platform back. UWP apps work on multiple architectures, hardware formats, etc. But since UWP isn't a walled garden, this is okay, it's just... the new way for apps to be built on Windows. And obviously, Microsoft being Microsoft, legacy Win32 support will be around for a ridiculously long time.
This is the company that still provides monthly updates for Windows Vista.
Because Win32 is old and holds their platform back.
That's one way of looking at it. Another would be that for most practical purposes, Win32 is their platform.
We've heard this mantra from Microsoft many times before, switching out things like database APIs, dev tools, interop protocols, the entire history of .Net, and so on. These things have come and, in many cases, gone, all while Win32 endures in the background supporting the software that makes the real money.
And surely, as long as Win32 is still making the real money, it'll still be supported. But UWP, while nascent, is at the very least, far more secure than Win32, which is something any platform should strive to aspire to.
In almost any other topic on HN, if we were discussing moving to running things in secure containers, people would agree it makes sense to move that way and that the additional layer of security is worthwhile. But because it's Microsoft doing it, and Microsoft is changing their software from like... the same way they've been doing it for the last twenty years, people are upset about it? I'm confused.
When we talk about UWP, it shouldn't be "UWP is inherently evil", we should comment on and criticize issues Microsoft may have with the development of UWP. Initially, UWP was very hard to use outside of the Windows Store, and so it's fair to criticize there. And arguably, they've been working on improving this. They demonstrated Steamworks running on a UWP app at Build this year.
We should definitely criticize if Microsoft does something specifically to lock down UWP. But we should not inherently decide UWP is evil because it's new.
I don't think we're necessarily disagreeing here. Certainly we agree that there is plenty of room for more secure execution environments than traditional open desktop OSes and the APIs that go with them.
That doesn't nullify the concerns that started this whole discussion, though: Microsoft could be pushing people towards UWP for less benevolent reasons, and surely has the technical and commercial capabilities to try to make Sweeney's hypothetical scenario the new reality.
Maybe this is just a mistaken perception, but I suspect Microsoft may have burned a lot more bridges with their recent actions than they have realised so far, particularly among enthusiast and "professional geek" communities that have remained generally positive about MS and its products for longer than most. Viewing anything they do with suspicion is a natural consequence of the way they've been treating their customers lately, and I don't see anything they do that has any hint of lock-in getting an easy ride from here on out.
I suppose they COULD be, but there's no current reason to believe they are. And Sweeney ran this story previously right before Build, and Microsoft's response was to show Steamworks running in UWP. Microsoft people directly responded to Tim then on Twitter too. And I actually tweeted with Tim Sweeney after the announcement as well, I'm pretty sure he knew what they announced at Build: https://twitter.com/TimSweeneyEpic/status/715240126897590272
So it's weird this post is becoming a thing now, after he demonstrably knows they're not (currently, at least) trying to do that.
Reading the parent post: "The risk here is that, if Microsoft convinces everybody to use UWP, then they phase out Win32 apps. If they can succeed in doing that then it’s a small leap to forcing all apps and games to be distributed through the Windows Store."
That's not a small leap, it's a huge leap. And this is an inherently fallacious statement. It's equating a technical one, swapping an insecure app format for a secure app format, with a policy one, blocking third party apps. When, as a closed platform, they could block third party Win32 apps if they wanted to just as similarly. They could make Win32 apps ship through the Windows store, and I believe they discussed it at one point. It's silly that he's particularly equating UWP, a security feature, with a platform lockdown, when the platform lockdown could easily come with or without that security feature.
And even if this imaginary reality of Tim's became real, we currently have two viable OSes that Steam works great on that aren't Windows. So Microsoft would have to weigh their perceived gain of a lock-in against the potential loss of the gaming community. Ubuntu wouldn't have a hard time attracting gamers if Steam support was solid, and was kinda broken on Windows.
I won't make any bones about it, Win32 is an awful, outdated API. Something better without having to fight with all the awkward legacy C-isms, WPARAMs, LPARAMs, awful Hungarian notation and "overloaded" functions would be nice.
But I've mostly learned to take a wait and see attitude with new silver bullet APIs from Microsoft. Sometimes they take off and really do became the way forward, but far, far too often, after some initial hype, there is a lack of uptake, they wither on the vine, and then are abandoned for the new shiny, leaving behind the developers that did invest in them.
Yes, they will never drop Win32 for enterprise for that reason.
But I think they could limit Win32 it for the Windows 10 consumer editions without the common user being affected much, if they port IE and Office to UWP and can also convince major game publishers to release their next AAA games as UWP applications in the windows store.
>With UWP you have no choice, it goes through Windows.
False. With Windows 10, sideloading is permitted by default. The caveat being, of course, that you're on your own for making sure the app is safe if you choose to use a sideloaded app.
How odd. I just re-checked two freshly installed Windows 10 Pro systems I have next to me and that setting is configured to allow sideloading by default. Perhaps it's a recent change?