This is something that has long been feared. It's also rather like the Y2K problem in that as long as people make a noise about it, it can be prevented - but preventing it leaves all the complainers looking alarmist.
It's also why Valve have invested in the Steam Machine. At the moment it's not a serious competitive prospect, but it's there ready as an escape valve.
After all, only one company can get a 10-30% cut of games sold to run on Windows, and Microsoft don't see why it shouldn't be them.
Microsoft do phase things out, but only slowly, with long migration times for business users.
Steam is just as bad as the Microsoft store is what it boils down too. Centralized control over games you've paid for. It doesn't matter who it is, it's not good.
Former Softie, worked in Windows for 9 years from Vista to Win8, mostly on the Shell and UI platform teams. For Vista and half of Win7 development, I was the PM owner for our UI platform (comctl32, DirectUI, Visual Styling, and High DPI). This is my opinion, I don't speak for the company -
During my time there, I did not see any anti-competitive practices the author is speaking of. Those days are long gone. I know first hand we were committed to compatibility and growth of the platform, new and old. That being said, it's clear that building on Win32 is painful and not cheap. Win32 is great if you want direct system access and complete control over everything, up and down the stack. This works well for large enterprise applications and games. The tradeoff here is that you must roll your own everything and work hard not to do stupid shit.
During the Vista days, we saw that the Windows app ecosystem was struggling because we didn't have a good platform story. You had to choose between Win32 and .NET. If you're a native developer, it was Win32. Win32 didn't provide a great app and UI framework (have you ever tried to owner draw a control or do fluid layout?). This is why many app developers during that time built their own app and UI framework, used MFC or leveraged a 3rd party framework. I was only familiar with the app platform so I can't speak to the options for building a game. I'm sure it was limited as well.
Microsoft introduced many platforms since Vista - WPF, Silverlight, XNA, Win8 Apps (Windows XAML and WinJS), and UWP. I'm sure there are more :) Even with all of those new platforms in the mix, Win32 is still alive and well.
I believe UWP is a huge win for developers. You don't need to roll your own everything. For the companies that want complete control, Win32 is still there. It is true that certain things are only available to UWP developers. There is no malicious intent, it's really only about priorities. The new thing comes first. The developer community needs to speak up if they want something. Microsoft will listen.
While i don't believe a word Sweeney says until he sources his claims, your post has a few self delusions as well.
> Microsoft introduced many platforms since Vista - WPF, Silverlight, XNA, Win8 Apps (Windows XAML and WinJS), and UWP. I'm sure there are more :) Even with all of those new platforms in the mix, Win32 is still alive and well.
Not "Even with". More like "thanks to this chaos and the uselessness of those platforms".
> I believe UWP is a huge win for developers.
Without specifying which developers, that is meaningless. Last i heard a game dev can't even control vsync.
> The developer community needs to speak up if they want something. Microsoft will listen.
This is the worst part. Speak up WHERE? Speak up HOW?
"Listening" is not "reacting when a blogpost gets reposted everywhere". Listening is taking the time and place out of your day to make sure that the person has your undivided attention.
Yeah, that's a good point. UWP could go the same way as Silverlight- especially if everyone one decides to just ignore it. Already, two of the technologies related UWP are almost dead (WinRT and Windows mobile 10)
This is nonsense on stilts. There aren't UWP versions of half of Office, and the ones with UWP versions aren't as full-featured as the Win32 versions. There's no UWP version of Visual Studio. Look at the revenue from those two things, look at Microsoft's gaming revenue, look at Valve's revenue... what is the evidence that Microsoft is willing to sabotage their Windows, Office and Visual Studio product lines all to get a rounding error's worth of additional profit?
It's a very long term thing. It'll probably happen because new APIs will be on UWP and not on Win32. I think VR might be the "next thing" that'll only get in-OS support in UWP.
Windows' thing has always been backwards compatibility (not counting programs with questionable code in the first place), and the entire OS is win32 as well.
They'd practically be telling all their casual, professional, and enterprise userbase to not update. Their prior support for win32 has locked them into it, even if they want to leave it
> Windows' thing has always been backwards compatibility
I think they are realizing that it's holding them back and I suspect they will be less afraid of breaking things in the name of progress.
When I updated my laptop from Windows 7 to Windows 10, it just uninstalled the things it thought was incompatible (a Cisco VPN client was the big problem).
In fact, the sneaky and slimy strategy that they used to get people to update to Windows 10 feels almost like contempt for customers that don't want the things Microsoft is pushing.
Is the PC gaming market a big one? Is there an opportunity here for Linux to become a gaming contender?
There certainly is an opportunity, it's just still very questionable how things will play out.
Current state is that 25% of the Steam library is Linux-compatible. That's about 2500 games, so definitely enough to keep you entertained, unless you're the type of gamer who always has to play the newest AAA titles.
With Vulkan slowly picking up adoption, this will probably increase even more rapidly in the future, too.
Next thing is that Vulkan as well as DX12 make it so that drivers for graphics cards will be much smaller and therefore the resulting drivers will be much less likely to be broken, which has been a big problem on Linux in the past.
But Nvidia has now pretty good Linux drivers anyways and AMD has recently started investing more resources into it. Among other things, AMD open-sourced their drivers, so now the Linux-community can help to fix up their drivers instead of maintaining an own driver.
I also figure that the growing machine learning market gives a good incentive for Nvidia and AMD to have good support for Linux, so that should translate back to the desktop, too.
The only problem is that all of this can serve as reason to not avoid Linux, but unless Microsoft really does continue making such great arguments against using Windows, we won't really see many people change operating system...
It means that the developers marked it as Linux-compatible on Steam.
I don't know, if Valve requires anything for that, but it's specifically not the percentage of titles which you can get to work through any combination of black magic. It's the percentage of titles where the developers offer you support, if it doesn't work on your system.
And I know that some of those games do use WINE internally for the port, but it's properly pre-configured in a wrapper and should work just as well as a native Linux-game. So, you don't need WINE installed separately on your system for those.
I would love to see them bring containers to the consumer OS. It would be possible to launch a base container that has it's own win32k and csrss, and another that only does UWP or .net native apps. The containers themselves might only speak NTAPIs and see a small segment of the full NT filesystem. Windows would be displayed through a shared-memory version of rootless RDP. DirectX and GL/Vulkan would support direct rendering. When running a game non essential processes could be checkpointed and suspended.
If the UWP-only APIs are "too interesting", a way will be found around this. For example, you could funnel API calls from a Win32 app into a UWP-app receiver via a local TCP connection.
So I currently work at Microsoft as a researcher and I was recently forced into doing a UWP app/prototype because it has the best inking support that hasn't been back ported to WPF. I had to give up a lot to use it however: the DLR doesn't JIT in UWP, which I was using heavily, while compile times are slow when debugging (seconds rather than the typical tens/hundreds of milliseconds), atrocious when deploying (an hour for a small app). But as a benefit, I can deploy to UWP-only devices like SurfaceHub, which was pretty sweet!
Sad that we have to make gut wrenching choices these days, even within Microsoft's own platforms. But elsewhere as well, e.g. go with JavaScript to accept third party code and deploy on web or go iOS native to get access multiple shared memory threads (which I know how to use) for an app I've been thinking about.
And aren't UWP apps a walled garden (apps need to be signed unless you enable developer mode, which has all kinds of side effects, requires a Microsoft account and can be revoked?)?
Apps can be sideloaded by default since last November. It takes a one-line PowerShell command and that's it (no Settings changes, nothing). They do need to be signed, but the signatures aren't much different than any prior "Authenticode" signing options: find a CA that sells code signing certificates and buy a certificate. (Certificates can be revoked by your CA, yes, but your CA doesn't have to be Microsoft.) If you are selling games on PC outside of Steam (MSI/NSIS/et al installers), you should already have code signing certificates and there's nothing really new there on that front.
At some point (I don't recall if it will make it into the Anniversary Update or not), the install process for a UWP app won't even need the one line of PowerShell and will support just double-clicking the .appx package, and will have suitable UAC-like install prompts.
Microsoft has already told Steam they should encourage UWP app installs, and supposedly the Play Anywhere stream of games from Microsoft in the next few months will also be sold via Steam as UWP installs under the hood as an option to game buyers that prefer Steam (but the expectation is that buying from Steam will not count for multi-platform cross-buy, as opposed to buying from the Windows Store).
(Microsoft does provide to verified developer Microsoft accounts short term keys for developer testing, but you wouldn't want to use those for sideloading simply because they are so short term. The Windows Store also handles long term code signing for you at no additional cost ["in the cloud"], and yes that can be revoked if they kick your app out of the Store, but that shouldn't be surprising.)
(Developer Mode doesn't really have "side effects" and I don't think you need a Microsoft Account to switch to Developer Mode, but I still wouldn't recommend it to non-technical friends.)
But, this is predicated on the suggestion that UWP will kill Steam or is meant to be a walled garden. Even though, people including Tim Sweeney are WELL AWARE (he was notified about it, and responded) that the new version of Windows 10 on August 2nd (literally in less than a week) specifically adds more features to make third party install of UWP apps easier. You'll be able to just double click APPX files to install them, they'll have icons and properties visible in the UI. Microsoft has stated multiple times they intend UWP to be the safer, more secure, way to write apps going forwards, but that they will be workable with third party stores and installation methods.
The point seemed to be that killing existing Win32 APIs would hurt Microsoft more than it helps the UWP, but for gaming the only thing that needs to happen is a new graphics or peripheral API that's UWP only and is substantial enough for developers to drop Win32 support.
But that's not what Tim said. What Tim said was is that Microsoft, over time, is going to start damaging Steam's current functionality by locking down the Win32 API. Which, given how many Win32 API apps are cash cows for Microsoft or Microsoft's major partners (Adobe, for instance), it's ridiculous to think that Microsoft is going to start tampering with those APIs just to cut off Steam. Even if you believe Microsoft is evil, they're not cartoon villains from Captain Planet, they're not evil for evil's sake, they act according to what they believe is their self-interest. They're not about to start tampering with things their core business relies upon in order to benefit their barely-break-even games business.
Oddly enough Steam isn't that great for developers either.
It takes a huge cut, it takes cut of all microtransactions, it bullies developers into price fixing and sales, and it abuses it's de facto monopoly to ransom developers that want to publish on Steam.
For consumers it ain't that great either, the curation process on steam is non existent, it does not force developers to maintain compatibility, the search option is very bad and you can not filter games based on release year (you can only see the year they released on steam and I've seen people buying 15 year old games by mistake).
Steam ties you into their DRM (you can also use a 3rd party DRM if you want) and their API's.
Saying that Steam is somehow the champion of open gaming on Windows is silly, it's a monolithic monopoly that does pretty much my way or the highway moves all the time.
So far I haven't seen any evidence that MSFT has any interest in killing Win32, but maybe it should, if UWP can become a better platform at the end I don't see any reason to stick to Win32 when developing applications.
All our mobile platforms have a single store, Apple has it's own store, based on the few UWP games that have been pirated you can install UWP applications without using the store, MSFT can in the end support 3rd party distributors.
And if it doesn't well TBH considering that Steam hasn't been a champion for consumers for a long time, I don't really see it as being a "bad" thing, and if Microsoft makes them worry maybe they'll get their shit together again.
Sweeney provides this as Microsoft's alleged strategy to get rid of Steam:
"Slowly, over the next five years, they will force-patch Windows 10 to make Steam progressively worse and more broken. They’ll never completely break it, but will continue to break it until, in five years, people are so fed up that Steam is buggy that the Windows Store seems like an ideal alternative. That’s exactly what they did to their previous competitors in other areas. Now they’re doing it to Steam. It’s only just starting to become visible. Microsoft might not be competent enough to succeed with their plan, but they’re certainly trying."
There used to be a saying "DOS ain't done 'til Lotus won't run" (although that's now largely regarded as apocryphal/inaccurate), and the memos around the "AARD code" [1] are fairly damning.
That happened 25 years ago, and even the guy who wrote the code has been dead for eight. I don't think it's a solid data point for predicting what Microsoft is going to do tomorrow.
QuickTime didn't need Microsoft's help. Apple didn't update it aside from security fixes for almost eight years.
As an aside do you have any actual evidence that Microsoft made QuickTime more unstable on Windows? Or is that just supposition?
PS - OS 9, like Windows 9x, lacked protected memory. So I have no doubt that a leak or other error in IE for Mac could cause the OS to crash. I hardly think that's really solid proof, just more proof that operating systems without memory protection are inherently a bad idea.
I don't really understand why it bothers game makers? Either it's Steam that takes a 30% cut or it's Microsoft?
Sure you can sell your games standalone and I doubt that will never change but most games benefit on being on a platform like Steam or Microsoft Store. For me as a consumer, I like that there is competition.
The thing is that if one day Microsoft decides to phase out the Win32 platform and leave only UWP, right now the only official way to get UWP apps is through the Microsoft's Windows Store. So the competition you're talking about would disappear because there would be only one way to get Windows software, the Microsoft way. It would be impossible to have competing App Stores, similar to the situation right now on iOS.
Seems far-fetched but I can see Microsoft slowly deprecating Win32. It would be similar to when Apple deprecated Carbon, only slower: they'll stop adding new features, they'll tell developers to avoid it for any new development, etc. Won't happen overnight though as they're too much legacy software out there, but it could happen in the span of several years, a decade or so. Right now what I'm saying is fiction but it's a possibility any store developer like Valve and customers too should have in mind.
Seems far-fetched but I can see Microsoft slowly deprecating Win32. It would be similar to when Apple deprecated Carbon, only slower: they'll stop adding new features, they'll tell developers to avoid it for any new development, etc.
They'd have to be really, really careful going down that path, though. Microsoft's biggest advantage in the OS landscape, aside from preinstallation deals, has long been the broad range of established software that is exclusive to Windows. It's tough to migrate your business to Apple laptops or Linux servers or tablets in the mobile workforce if several key applications that 1,000 of your staff have been using every working day for a decade don't run on those other platforms. It's a closed loop for software developers as well, because as long as your customers are almost all on Windows, there's little benefit to developing for other platforms concurrently.
With so many business applications now offering web-based access, that exclusivity has already been eroded, and that process shows no sign of slowing down. If Microsoft were to nerf the long-established Windows APIs that "heavyweight" software like graphics and CAD packages rely on, that would force the redevelopment issue for those software developers, and I'm not sure Microsoft would like the long term results. They might wind up with exclusive control of the main delivery channel on Windows, but that only matters if the developers and users are still on Windows at all. With gaming in particular, we've seen in the past that one or two smash hits can be all it takes to establish a new platform, whether it's one of the consoles or mobile or just puzzle games via Facebook. With the resources available to Steam, that has to be a scary prospect for Microsoft.
If Microsoft ever deprecates Win32, they won't sneak it overnight. Anyone can integrate UWP into their store today if they want, and they would have plenty of time to do it. This is a company that still supports Windows XP from 2001 with special contracts. It seems strange to compare this theoretical point in the future where Win32 is deprecated with who supports it right now. It's a good point that it's important to have platforms that no one company controls, but this fear of UWP seems unjustified when it's open to anyone.
They may not ever deprecate W32 apis (I bet they won't) but they also don't need to support it for new development. Hypothetically if DX13 required using UWP and given they want all xbox games to also work on windows, they I believe are doing this through UWP so devs are going to use it for cross platform games etc... Then you get to a point where you can use w32 but are at a serious disadvantage.
We're comparing it to this theoretical point in the future because that's literally what the article says.
> "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. Once we reach that point, the PC has become a closed platform. It won’t be that one day they flip a switch that will break your Steam library – what they’re trying to do is a series of sneaky manoeuvres. They make it more and more inconvenient to use the old apps, and, simultaneously, they try to become the only source for the new ones."
What I'm responding to is "if one day Microsoft decides to phase out... right now the only official way..." If they ever decide to phase it out, it won't matter what support UWP had mid-2016, it will matter what support it has when the phase out happens. Also, it's officially sanctioned right now to sideload downloaded programs not installed from the Microsoft store. Microsoft has publicly promised never to close the platform, and they aren't so powerful that they can afford to go against their development community like that. There's nothing at all indicating that Microsoft is going to shut out competing app stores and sideloading. The only evidence is that some people feel that Microsoft wants to do that.
This will be the day I abandon Windows completeley. Right now, I only use it for games anyhow. But as you said, it will probably be a long way, with enough time to make alternative arrangements
So if I want to develop let's say, python applications, I would have to download the python runtime from Windows Store? This seems unbelievable and would make a lot of people leave the OS simply because it's getting too locked down.
I like windows today but I have no real loyalty. I would have no issues with leaving it for Linux the day it's too locked down.
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?
I think it boils down to Windows store being a bad marketplace implementation to start with and the fact that only universal apps are allowed which can be limiting to some developers. To be fair though Microsoft fixed many of the shortcomings already.
Most other comments sort of hinted at it, but I feel like no one really said it:
If Microsoft makes the Windows Store the only place for users to get applications, then they can abuse that position like you can abuse any monopoly. They could start charging developers more or make life harder for developers who offer a product that competes with one of Microsoft's products or push through any policies they want etc.
Competition is fine, but if one competitor can use it's ownership of part of the stack to chronically degrade the other's product, it's a problem.
Nobody minds Microsoft setting up a Windows store and trying to attract game devs to it. The problem is when they try to lock out their competitors out, somehow, using operating system functionality.
There are so many "what ifs" to get to his feared state. It's hard for me to imagine Microsoft phasing out win32 (especially after the disastrous results on WinRT).
While Win32 is hard to phase out, DirectX is more flexible and crucially not critical to business users of Windows. There was already a mini-version of this fiasco when DX11 launched for 7 but not Vista. Microsoft could quite easily say that e.g. DX16 would require UWP, distribution through the Windows store, telemetry, ad insertion, whatever.
(Let's not also forget the disaster that was Games For Windows Live)
In any case, surely no game developer is going to make DX12 a hard requirement to run their PC games any time soon.
Even today, Steam's hardware and software survey puts DX12-capable hardware at around 70% of their users but nearly half of those aren't running on Win10. That's after a year of Microsoft literally giving it away and it being the default OS you get preinstalled on most new PCs in stores. The pattern of adoption hasn't been entirely surprising either: a fairly rapid shift over the first six months or so after 10 came out, but then a much slower shift since then.
It's going to be a long time before anyone running a modern GPU on Windows 7 can't run the latest PC games with decent results.
I'm confused, can't Steam just release as a free Universal App?
Also, with Steam's push towards Linux support this would be a dangerous strategy for Microsoft. Gaming is what drives a lot of people to Windows over other platforms. If Microsoft actively makes Steam unusable on Windows there's no reason to think people won't just seek out a better platform for Steam.
I don't think MS will allow a Univeral App that installs other Universal Apps. Just like Apple, they'll have a list of restrictions on what these apps can do. After all, a sandbox app that can arbitrarily install any other app is not very sandboxy.
There's nothing wrong with allowing one app to install another, but the key is, if you can't leave the sandbox, you request the OS do it for you. Android apps are sandboxed, and can install other apps, but you get an OS interstitial asking if you want to do it.
Similarly, a UWP app could conceivably be allowed to trigger the install of another UWP app, but it would pop-up a Windows box, not unlike a UAC elevation prompt, showing the app name, publisher if properly signed, and requesting the user permission to go forward with the install.
You make a good point, in the Android world you can manually install the Amazon Underground application and grant it the ability to install it's own apps. I don't believe there's a similar side-loading method on iOS, however: Apple has take steps to prevent this.
IMHO, I expect Microsoft to release a solution more like Apple's App Store and less like Google. Clearly, Epic Games' founder has the same concerns. He's also expressed concern with Microsoft only allowing something like Steam to be installed via side-loading, which he thinks provides a barrier to entry that is too high. I tend to agree, it's easy to slowly make side-loading more and more difficult as time goes on, or to make more and more critical APIs unavailable to non-UWP applications.
Steam is only available via sideloading now. You have to go to a website and download the installer and run it manually. This is how Windows has always worked. UWP will allow the same, but is simply a more secure application format which can't easily contain malware. The only difference is Microsoft now also offers an app store.
MS isn't doing any of the open sourcing from the goodness of their heart. They see that to stay competitive in the development tools space and cloud development space they need to open up their tech and make it work everywhere so they can sell services and tools to you. "I see you like linux? no problem here is our cool .net core platform you can use to build for linux. Btw you can run it on our azure linux instances and use all our easily integrated azure services to go with it. And with our new cross platform editor, a lot of this will be a couple clicks away."
Note that at the last Build conference, Microsoft made a specific point to demonstrate a UWP app with SteamWorks compatibility on stage. But, you know, clearly they're actively using UWP to kill Steam.
I'm rate-limited, so to respond to the person who commented here:
"Embrace, Extend, Extinguish": You might notice if you read the linked Wikipedia article, this is from 1995. Also known as 20 years ago, when almost everyone involved has since retired. Or died. I was in elementary school when this strategy was used by Microsoft. The person who said the phrase in a meeting, Paul Maritz, left Microsoft 16 years ago. Babies born during that meeting are legal adults today.
The most recent examples on that page are nearly ten years old. I was a "Micro$oft" hater in school, too, but I don't see any other indication that they're relapsing apart from the accusations made in this news article -- certainly not any more than Google or Apple.
over the next five years, they will force-patch Windows 10 to make Steam progressively worse and more broken.
Linkedin lists Valve as having between 200 and 500 employees. Putting a team of engineers to work on removing the dependency on Windows32 seems like a reasonable alternative to a course of inaction dedicated to letting Steam full into suck.
My intuition is that Microsoft is even likely to work with a partial potential competitor like Valve when it comes to something like this because anyone who is using Steam on Windows...well they're using Windows and Microsoft has an substantial interest in not having Windows suck for the people who use it.
To me, this kinda' sounds like Valve announcing that it's not really going to spend any more money on evolving the Steam code base.
> Putting a team of engineers to work on removing the dependency on Windows32
Except that Steam houses thousands of games by various developers, not a small set of games built and designed by Valve. It would be pretty difficult, but not impossible, to remove that dependency.
The non-Win32 apps are signed and distributed by MS through their own store. All apps delivered that way pay a toll to MAS. That's what Steam wishes to avoid, since they collect the toll right now.
Universal apps can be sideloaded. [1] There may be a market for a service that skins the process in an end user friendly way. That market is probably larger than just games. An analog might be Github over Git.
Whether Valve should invest in developing technologies to keep Steam relevant is a business decision. This appears to be announcement of Valve's intent. I would not be surprised if paying off the technical debt incurred by Steam does not meet the investment model of Valve's controlling interests. The Windows ecosystem is littered with technically obsolescent cash-cows: e.g. Laplink.
Because Microsoft is primarily a B2B company and makes a lot of enterprise sales, I suspect that from a practical perspective removing it would require an impractically radical shift in its business model and sales channels.
Before Bring Your Own Device, there was bring your work home. Windows is to a meaningful degree a business class product sold to consumers. Removing sideloading from normal Windows would make Windows less attractive as a standard platform for enterprise if people cannot use line of business apps on any old device.
Of course, that doesn't make it irrevocable. But revocation seems unlikely to me.
This is completely unfounded and tinfoil hat levels of conspiracy.
If they stripped Win32 out of Windows, it wouldn't only impact Steam, but Microsoft Office, Visual Studio, Photoshop Suite, Chrome/Firefox, iTunes, their shiny new Linux tools, etc would also be out.
This goes against the ethos of Microsoft. Criticise them all you wish, but they're absolutely obsessed with backwards compatibility and always have been. They know the ONLY reason Windows is popular is because you can throw in a piece of software you purchased in 1999 and it will "likely" still work. If they dropped Win32 entirely, then Windows is interchangeable with a Chromebook.
Heck up until 64x one of their test cases was if Doom (released in 1993) still ran. They only stopped because 64x doesn't support 16 bit.
Hell even the windows explorer shell still uses Win32 even in windows 10. Win32 ain't going anywhere anytime soon. And with windows 10 they just expanded the amount of Win32 APIs that available for UWP apps. Now people are using them even in the UWP apps and now microsoft would somehow remove it?
Also they just made side loading UWP apps easier by defaulting to the option to allow it (previously you had to go to control panel to enable it). Also stuff like this https://github.com/aL3891/AppxInstaller exist which make .msi installer for an .appx package.
In that video they also say that sideloading can be done via double-click (no PowerShell cmdlets or whatever necessary like in Win8; not sure how certification/signing will play into this), and they also state that it'll be fine to monetize an UWP app on other stores than the Windows one. If they're actually honest with this and I haven't missed anything, UWP might well be the best thing that's ever happened to Windows.
But on the other hand Microsoft is quite a large company. The one development side is pulling heavily toward open source and freedom, but some of the other angles such as the store seem to be constricting.
I imagine it all depends which side (internally) will come out on top.
> That’s exactly what they did to their previous competitors in other areas.
Are we to take this to mean that Tim Sweeney is admitting that Steam uses undocumented Windows APIs? Because that's the only way Windows patches have broken existing software before.
I rarely hear complaints about the closed-platform monopolies enjoyed by the App Store and Google Play, on their respective iOS/Android platforms. Can someone make a case for why a similar app-store monopoly on Windows is any worse?
Well, you are looking in the wrong places then, there's plenty of complaints about apple/google walled gardens and people don't want windows to be the next one.
There exists no obvious monopoly for app stores on Windows. Windows is a somewhat open platform not locked down like phones, and making it one means we've lost something. There's the "official" Microsoft app store, but hardly anyone uses it. There's several ones that aren't run by Microsoft, and they seem OK, and the big ones stand on their own merits.
Not to mention that ~20 years ago, Microsoft got in trouble with the government[0], and was almost forced to break up for forcing their own software on PC manufacturers, and on top of Windows.
Google technically does not have an app-store monopoly on Android. A sizable chunk of apps on my phone are from F-Droid.
Google just makes sure that most Androids have the Play Store, and then it's just the network effect: bigger audience -> more attractive to developers -> more apps -> more users.
They could just add one extra line in their contract with phone manufacturers, forbidding external app-stores. The same thing that people are fearing about Windows.
For most adults/businesses in developed countries, mobile is a secondary device, while PCs run everything from AAA games to filing systems to interfaces for medical equipment.
Similarly, I'm curious that no-one has mentioned the dominance that Steam itself has over the PC gaming market. From Wikipedia:
"The Steam platform is considered to be the largest digital distribution platform for PC gaming; in November 2009, Stardock estimated it at 70% and then later, in October 2013, it was estimated by Screen Digest that 75% of games bought online were downloaded through Steam."
Puts Valve's complaints in a different perspective.
We (with my dev hat on) don't bother complaining about the App Store. Apple's deal is what it is.
But we also don't consider iOS apps an interesting option for the software we develop because of Apple's control and fees, and we build our software with a web front end that runs anywhere instead.
It is hard to get through the speculation here. Does anyone have actual evidence that this is happening? (i.e. not some memo that one person wrote to some other person 20 years ago)
Odd to see an article complaining about MS's "closed" ecosystem after all the work MS is doing to open source things, provide tight Linux integration, etc.
Microsoft has over 100 kiloemployees in a myriad of different business divisions. Not all of them do things the same way. I'm not sure there is any corporation of that size that act completely coherent to the outside.
This is a FUD article based on speculation that's being actively contested by Microsoft. The update to Windows 10 in less than a week makes third party install of UWP even easier... Which wouldn't make sense if Microsoft was trying to wall in Windows.
Apparently Microsoft isn't allowed to evolve Windows with objectively better API's.
Have fun with your GetLastError, fifteen parameter functions, and poorly documented flags. But hey, at least it doesn't have much security, so I can download game mods from some unknown source that have full access to everything on my PC.
Way better security model
Unified error handling
Clean install/uninstall (no rot)
Much faster and more capable version of XAML running on top of DirectComposition with easy DirectX interop
Native support for web apps
Resolution independence with no extra work
Easier to support accessibility tools like screen readers
Saner API design (no flags where only some combinations are valid)
.Net Native
Much better touch support
Cross-platform (xbox, holo lens, IoT, phone...)
Access to devices like camera, mic, sensors with high-level APIs (even accessible through C#/JS)
No P/Invoke required for C#
You completely missed the point of my comment. "Objectively better" means that it's better in all accounts, as otherwise someone with different priorities could perceive it as worse, making it therefore only subjectively better.
And UWP is not better in all accounts. It grants Microsoft more control over the ecosystem, which is seen as negative by pretty much anyone who isn't Microsoft. Therefore someone who doesn't care so much about the advantages that you listed could perceive it as worse.
So, UWP is not objectively better, it's only subjectively better, which is why yes, people can very much justifiably complain about it.
Rule 1 of software development should be: Never blame the user, when the situation could have been avoided through code.
Especially in this case. Isolation has been one of the main drivers of operating systems. Isolation between users, so they can't change each other's files etc. maliciously . Isolation between processes, so they don't accidentally corrupt each other. At least since the first computer virus in the wild in 1982 it should have been clear that software can also potentially be malicious and needs to be isolated from having the same rights as the user executing it.
The only reason why executing arbitrary x86 code in ring 3 is dangerous are the syscall interfaces the operating systems offer.
Sometimes you do have to blame the user though. As an extreme example; if I take a hammer to my computer and when it eventually fails can I blame the faulty hardware?
It's also why Valve have invested in the Steam Machine. At the moment it's not a serious competitive prospect, but it's there ready as an escape valve.
After all, only one company can get a 10-30% cut of games sold to run on Windows, and Microsoft don't see why it shouldn't be them.
Microsoft do phase things out, but only slowly, with long migration times for business users.