5 things you need to know about Windows 10X containers, UWP, and Win32 apps

Windows10x Surface Neo Devday
Windows10x Surface Neo Devday (Image credit: Microsoft)

Microsoft today shared some of the first vital details about how Windows 10X works, including releasing the emulator so developers can get started optimizing apps for the dual-screen experience.

The big takeaway, though, is Windows 10X runs all its apps in containers. Here is what that means, why it's good, and what types of apps you will be able to run on Windows 10X and devices like the Surface Neo.

They just run

1. Three containers, but one experience

Containers 10x

Source: Microsoft (Image credit: Source: Microsoft)

Think of containers as siloed boxes that are abstracted from the operating system, allowing finer control over their behavior.

For Windows 10X all applications run in containers, but there is no configuration, or any high-level changes needed by developers to utilize these; they are just part of the OS architecture.

Specifically, there are three types of containers, one of which is new (Win32)

  1. Win32 Container: Runs "classic" x86 32 and 64-bit Win32 apps, WinForms, WPF, Electron, etc. and is a similar environment to Desktop OS. There is just a single container for all Win32 applications and is "highly compatible" with all existing software.
  2. Full-trust MSIX Container: High compatibility with existing apps. These run in isolation from other Win32 apps and also run as a container within a Win32 Container on Windows 10X.
  3. All UWP apps: Lowest system overhead, best performance, and battery life, and best security and privacy controls of all the systems.

For consumers, there is nothing to know about this experience. Most Win32 apps and all UWP apps should just run as-is on Windows 10X. You click the app, it opens, and it runs. It also doesn't matter where you install it from, whether it is the Microsoft Store, the web, or a USB drive.

Whether developers choose to continue with Win32 "classic" desktop apps, Progressive Web Apps (PWA), or UWP is up to them. For obvious reasons, UWP is the most optimized for Windows 10X, but Microsoft has gone to great lengths to ensure those classic desktop apps run just fine too.

Built for mobility

2. Containers optimize battery life and performance

Windows10x Battery Apps

Source: Microsoft (Image credit: Source: Microsoft)

UWP apps are still the best-optimized app platform for Windows 10X. This shouldn't be a revelation, as they were initially designed with Windows Phone (Windows Mobile) in mind and built for mobility. UWP apps maximize security, battery, performance, and respect OS-level suspend and resume events.

Win32 applications were built primarily for a desktop experience. They lack the mobile optimization of UWP. As a result, while they tend to be more potent than UWP, they tend to be worse for battery life and speed. But Win32 "classic" apps are still very valuable even in 2020 to the modern mobile computing experience.

Microsoft "fixes" this issue with Win32 (and MSIX) apps through the Win32 Container. Here's how:

  1. Win32 + MSIX Containers reduce resources when no windows are visible.
  2. Apps are suspended entirely when no windows are open.

Win32 and MSIX apps, when minimized (and when closed), are entirely cut-off from running in the background. As a result, this saves system resources and battery. Conversely, when the Win32 app is being actively used, it gets devoted more resources to it to ensure performance.

There are two consequences to this behavior change, though. For one, "classic" Win32 apps likely won't be able to run background tasks – at least not for very long – before the container is suspended. The other is Win32 apps can't auto-start with Windows 10X. That latter is mostly due to the fact there is no System Tray in Windows 10X, so "classic" apps can't continuously run in the background.

Interestingly, Microsoft may let users control this behavior so that the Win32 Container (and Win32 apps) can run in the background. This has not yet been decided as of yet.

Finally, due to the design of the Win32 and MSIX containers, anti-malware and anti-virus systems are also either not needed or will have a dramatically reduced overhead, which, again, results in improved system performance and battery life.

Drivers, peripherals and more

3. Everything should work

Windows10x Av Security

Source: Microsoft (Image credit: Source: Microsoft)

Interestingly, just because Win32 apps are containerized on Windows 10X doesn't make them any less powerful. Microsoft states these apps still get full access to things like:

  • Mouse, keyboard, pen, touch.
  • DirectX graphics, audio, media.
  • Networking.
  • Printing.

That means the old "Plug and Play" model is still in effect here, and a PC like the Surface Neo should be able to run anything you plug into it, including external monitors and peripherals.

Security is also enhanced, too, as the user can deny access to all Win32 classic apps for things like the PC's camera, microphone, and even location. UWP apps already do this on an individual app-level permission system, but in Windows 10X, users can shut it all down for all Win32 apps at the container-level if they choose.

Since there is no System Tray in Windows 10X, those "classic" apps can't use it. But even if those apps make calls to things in Windows 10X that don't exist doesn't mean app instability. Microsoft says these apps can operate "as is" (meaning no registry changes), but due to the container, those calls will never touch the OS. Translation: there should be no app crashing due to limits imposed by the Win32 container.

Why you need both

4. Two File Explorers (kind of)

Windows10x File Explorers

Source: MicrosoftOn the left is the Modern File Explorer experience; on the right is the "classic" Win32 file picker. (Image credit: Source: Microsoft)

Reflecting the dual nature of the Windows 10X experience, where UWP and Win32 apps live side by side, is the use of two File Explorers, including the File Save As experience.

This fact sounds confusing, but it's not. Win32 applications can still utilize the "classic" File Explorer and dialog for choosing files system-wide, including accessing system folders. This feature is vital as Win32 apps expect that dialog to exist to pick and save files needed for the program.

Using the file dialog in a UWP app or Windows 10X (the "host operating system"), however, brings up the "modern" File Explorer, which is limited to necessary libraries like Videos, Music, Favorites, Documents, Pictures, and more.

For the user, this means they get basic-level access to the main libraries, but not the OS-level file structure like in the desktop OS (Windows 10). But those Win32 apps still run as they should without any code change.

The big picture

5. Apps run maximized (for now)

Windows10x Apps Max

Source: MicrosoftAll Windows 10X apps are maximized...for now. (Image credit: Source: Microsoft)

In a conversation with Kevin Gallo, CVP of the Microsoft Developer Platform, we were told that, currently, apps on Windows 10X run full screen (i.e. maximized). This experience is like how apps ran on Windows 8 and in the current Windows 10 Tablet Mode experience.

The reason for that choice is screen size: the smaller the display, the more information-dense the experience. Running five small-windowed apps on a single 9-inch display (spanning 13.1 across both displays) is unlikely to be a popular scenario.

This maximized-vs-windowed topic is very debatable, and Microsoft is not inflexible on the issue. Should developers prefer the option to allow smaller windowed apps on Windows 10X, the company may allow that.

UWP is still key

Wrap Up: Windows 10X is complicated yet simple

Surface Neo

Source: Windows Central (Image credit: Source: Windows Central)

Microsoft architected Windows 10X so that it is app neutral. Electron, UWP, Win32, WinForms, WPF — it doesn't matter. All those apps run on Windows 10X, mostly without any significant changes to the code.

I think the easiest way to think of it is about design and priority:

  • Windows 10 Home/Pro: Made on and for running Win32 apps, but can also run UWP
  • Windows 10X: Made on and for running UWP but can also run Win32.

Microsoft would probably not classify it quite that way, but Windows 10X is built to be fast, fluid, mobile, and secure. Indeed, OS updates should take no more than 90 seconds. That's because, like HoloLens, it's built around the siloed and restricted nature of UWP.

The good news for consumers, or anyone buying a dual-screen PC like the Surface Neo, is that none of this matters. You can install any app you want, and the expected behavior is respected. Developers also should not have any significant changes to their apps — even older Win32 ones — to get them to run on Windows 10X.

Moreover, Gallo reminds us that these dual-screen optimized apps should also deliver a better experience on Windows 10 desktop systems too. This feature is a clear example of Windows 10X trickling back up to Windows 10.

Windows10x Container Model

Source: Microsoft (Image credit: Source: Microsoft)

Of course, how it all works remains to be seen, but Microsoft says the performance delta between Win32 and UWP apps on Windows 10X should not be perceptible to the users. That's an exciting prospect as we move into a new era of mobile PC computing where users won't have to make compromises.

Much of this information was gleaned from the Microsoft 365 Developer Day video How Windows 10X runs UWP and Win32 apps (opens in new tab).

Daniel Rubino

Daniel Rubino is the Editor-in-chief of Windows Central, head reviewer, podcast co-host, and analyst. He has been covering Microsoft since 2007 when this site was called WMExperts (and later Windows Phone Central). His interests include Windows, laptops, next-gen computing, and for some reason, watches. Before all this tech stuff, he worked on a Ph.D. in linguistics, watched people sleep (for medical purposes!), and ran the projectors at movie theaters because it was fun.

  • They should get rid of the titlebar, like Apple did with MacOS in Yosemite. The image with the UWP File Explorer looks ridiculous. I know it's unfinished, but I mean they should get rid of it in all Windows versions.
  • I'm pretty excited about this. Windows 10X is looking to be a legit alternative to Windows as we know it today. The fact that they can finally have an Ultra-Secure, Consistent, and Efficient OS that also maintaining compatibility with the past is something I've always wanted. Sadly, I'm guessing I won't be able to put Windows 10X (or what ever flavor Core OS will be for Laptops) on my Surface Book 2. I'd imagine the speed would be incredible, since I'd have a Quad Core Core I-7 running essentially Windows Mobile 10 (very lightweight UWP based OS) and yet, still get WIN32 when I want it.
  • You would want to be limited to a single full screen app on a Surfacebook?
  • "The reason for that choice is screen size: the smaller the display, the more information-dense the experience. Running five small-windowed apps on a single 9-inch display (spanning 13.1 across both displays) is unlikely to be a popular scenario." According to this quote, it is limited to full screen in the Neo since a single display is only 9 inches. I'd guess this would change for laptops and desktop machines (I'd hope). Plus it all comes down to execution. If the performance isn't there or the sacrifices are too much, then of coarse I wouldn't want it. To clarify, I like the direction this is headed since I feel it is the only proper way to make Windows fast, secure and consistent without breaking compatability with Win32.
  • "According to this quote, it is limited to full screen in the Neo since a single display is only 9 inches. I'd guess this would change for laptops and desktop machines (I'd hope)."
    Exactly. And even that is is not written in stone. The reason for this dev emulator/SDK is so Microsoft can get feedback on this topic as they are open to changing the policy. They're trying to figure this out just like everyone else.
  • it doesn't matter. i use my computer in tablet mode all time. who use windows undocked anyway?
  • Website designers, developers and programmers like me.
  • As a website designer and app developer myself, I must side with ShotEm on this one.
  • As a landscape architect I usually have multiple Windows open simultaneously across three 32" screens.
  • You really think they're going to do that for laptops (and docked devices)? I don't. It won't be hard to allow windowed apps on laptops/desktops in W10X. Besides, W10X is about a version of Windows that is more like mobile OSes in more than how it uses screen real estate. It's about how the OS is structured - it's more like GNU/Linux. That's a big change for Windows, a big step in the right direction for speed and security. I think that's what DR was saying when he was going on about containers.
  • "The fact that they can finally have an Ultra-Secure" - It's too early to state that. Ideally, all Windows users would run windows and have two accounts: one FULL admin, but run the system logged in as a standard user. Want to destroy your system? You'd have to enter the admn password. Done.
  • Looks more and more promising. I am definitely interested in getting a Neo for use as my lecture/lab/meeting carry along.
  • This is pretty awesome and exciting. I've always wondered why Windows up to now hasn't had the ability to suspend Win32 app processes the way that UWP apps do when they are minimized. You can technically do this using power user apps like Process Explorer (app becomes "frozen" when you suspend it and picks up where it left off when resumed, like UWP apps), but I would expect especially battery-powered Windows 10 devices to already incorporate this. Better late than never, I suppose. I just hope Microsoft includes settings for power users to allow certain Win32 apps to run in the background (with the appropriate warning saying "battery life will go down the crapper, etc.", of course).
  • Somehow, this is sounding so much like Windows 8 all over again... are we really going forward? And BTW, my theory from a few months ago that Windows 10X will abandon support for windowing is turning out to be about right... if you want multiple windows, you need multiple displays. If you want 4 windows open at the same time, you will need a device that folds into 4 folios, and they need to be separate screens, not bending displays. If you want a small window and a big windows open at the same time, then you need to buy a device with a small screen and a big screen... your choice. This is the true next generation of the x-windows concept... it is not like software... it is like building a house... you need to decide how many windows of what size you want before the builder starts building the house. Let us hope they allow fast window switching like Android 10 (or better), in the absence of windowing.
  • Still a lot of polish needed and I wonder how Panos will shake up this OS.
    But at least it’s a bright future. Looking forward to getting a NEO much, much more than a DUO. The DUO doesn’t interest me at all
  • Same. I put my eyes on the Neo. I already have an Android phone and see 0 reasons to buy another one with a gap in the middle.
  • If you're a little dyslexic like me... or worse... you see a problem emerging with these units. Understand, I'm very excited to see them. My mind was blown at introduction. But the more I look at them in use I'm... concerned. Picture a car. With a bench front seat. One the left, a steering wheel. On the right, nothing. Or the left hand steering wheel can be moved to the right. So you do. But now there's a second steering wheel on the left. Maybe you slide over the front bench to the right side and drive. Weeeee. Maybe you move over to the left and just look out the window. Then you pull the wheel over and drive there. But ANOTHER wheel appears. Do you see what I'm getting at?
  • No, sorry, I don't. You have two apps open at a time. You can place either app either to the left, or right. Your call. Mild multi-tasking etc.
  • On my Windows 10 PC I'm moved my taskbar to the center (with an app called Falcon X). So no matter how many windows I have open, that CENTER starting point is still there. But if the Taskbar moved around the bottom of the screen based upon how many windows I had open, or sometimes disappeared -- I'd feel like I wasn't sure where my starting point was. Adding to it a literal split screen further confuses the "but where am I" thing. In my car analogy it's like having a split windshield.
  • This I like. All the technical things mention here makes me want to save up money for the Neo. Also the 90 sec update is just awesome. I can't wait to see the finish product.
  • If by "the experience for the consumer is seamless" you mean every app looks and behaves differently yes this is what I call a seamless UX. I am wondering what will happen with Win32 programs (let's call it programs, I am sick of this retarded word apps put on every piece of software) that don't have a windowed frame, but a custom one, or probably are fixed in size - for example stuff like Tunatic, Nero (i know), BSPlayer, Winamp etc.?
  • I find hardware manufacturers are the worst offenders here. I've even seen it done with network adapter software. Often the setting you want to change isn't there or the firmware update feature doesn't work, but they've done all the effort to make a branded chrome owner draw window. 🙈
  • what are you even talking about?!?!
  • About windows that don't use default win32 controls.
  • Thanks for the informative article Daniel it was an interesting read. I hope Microsoft allows app windows to be resized as causing all apps to run full screen at launch will be a regression imo. If the Surface Neo launched after Windows 8.x than there would be understandable rational behind that decision. But given many of us have become used to being able to resize, snap and quad snap apps with Windows 10... being forced into running apps full screen again would be a major sticking point and not to mention it will be nuisance for work flow. Furthermore, what happens when we dock the Surface Neo and use it on a larger screen?
    Forcing apps to launch full screen, makes zero sense here too and I say that from experience having run Windows 8.x on a 42 inch TV as a monitor. A large touch screen display may work with some caveats but it's still an inefficient use of screen real estate. Lastly, by solely running apps full screen at launch will inevitably draw comparisons with Windows 8.
  • I think they will enable resizeable windows on larger screens but not on 9".
  • Correct. This is about screen sizes and even on that policy, as I responded above, Microsoft is not decided yet. They want this emulator out there for feedback from devs on this topic as there is a lot of internal debate too on this issue. If devs are vocal about it Microsoft is open to having resizable windows on smaller screens.
  • "Furthermore, what happens when we dock the Surface Neo and use it on a larger screen?"
    Presumably this is just a screen-size limitation e.g. for small devices like Neo. It'll do display out and likely run regular resizable windows on a larger display. I asked if there was any "Contiuum-like" features here and the answer is no. All of this is up on the air though. It's why MS is releasing an emulator so that they can get feedback on this issue (and others).
  • Thanks for responding Daniel and asking about contiuum like features; hopefully it is a screen size limitation and that they change their minds in regards to continuumesque features. Duo running 10X with continuum would be just awesome, one can dream lol.
  • Windows 10X looks very exciting and I can't wait for it. I do have a practical question I'd like to ask, for clarification. As I understand it, whether its a Win32, MSIX or UWP app, the areas of the operating system will be restricted. I am a developer, writing applications for both Web and Windows. It has been my habit for many years, when configuring a new machine for development, to get one with two hard drives, or add a second HD if it doesn't come with a second HD. Then on the second HD I store all of my source code, downloads, etc. Basically, I put all data onto the second HD. With Windows 10X, it looks as though I wouldn't get access to a D: drive. Am I correct? If so, then that just means getting as big a primary drive as I can get, when configuring a Windows 10X development machine.
  • Creating a new OS that isn't optimized for its primary applications is crazy. Microsoft needs to eat their own dog food. If Office and Visual Studio aren't leaving Win32 then don't expect other developers make the jump. To piss everyone off further, they are doing another reboot this November with .net 5 that won't be compatible with most existing code.
  • I'm not an expert on secret internal Microsoft stuff, but my guess is that .NET 5 will only break code written in Mono, if it does.
  • If you are creating a new OS with a different useage scenario, why do you need to support apps not designed for that useage?
  • I fail to see how Visual Studio is a primary use case for dual-screen "light computing" devices like Surface Neo. In fact, I venture to state I don't even care if VS works on it period (though considering it runs on ARM, it will). I also fail to see why Office here matters. It runs as it should, like it does on Windows 10 on ARM. Microsoft uses a shim to optimize performance bypassing the container model that developers use. They do this with Edge too to ensure performance and OS-level optimization. 10X runs x86 32-bit and 64-bit software, it's just not the primary dev platform. If that's a problem then simply go buy the other 99.3 percent of laptops on the market and go nuts. I'm not sure why progress needs to be held back just for you.
  • So what's the point of going all Web with the lightweight IDE - VS Code and VS Code Online if not lightweight programming for the web? Lightweight is the keyword here, as light as the device you program on... Are you seriously gonna play that game?
  • Thanks Zac for the video and Daniel for the article. So how will 10X deal with third party Win32 services. Win32 apps can install services with their installation, and these services run in the background. Many Win32 apps depend on the presence of their installed services for the full functioning of their Win32 app. Also, many Win32 apps install processes (not full services) that auto start and run in the background. How will that be dealt with? I think 10X looks amazing. My only criticism is I can't see holding the Neo and using both screens as touch. What do you do when holding with screens side by side and you need to type? I also hope that 10X preserves many of 10's keyboard accelerators (a.k.a. shortcuts). I've come to master many of them and they make me very fast at doing things when I have a keyboard. Like for example alt+tab to round-robin selected app. Billions of people have that ingrained in their brains on using Windows. Or Start+< or Start+> to snap to left or right of monitor, for example. Or ctrl+home for returning to top of document. These shortcuts go back decades. Would cry if they changed.
  • "So how will 10X deal with third party Win32 services. Win32 apps can install services with their installation, and these services run in the background."
    For now, those services will not run in the background. There's two smaller points: 1. Just b/c the app makes calls to the OS that it cannot do doesn't mean, in theory, it will crash. Those reg edits simply get voided. 2. Microsoft is open to the idea of letting the Win32 Container operate in the background - basically as an option to people (toggle). This decision depends on dev feedback. Mind you, there is still no formal System Tray, so Win32 apps that make use of it (to run in the background) simply can't. But, again, that shouldn't block usage of that app either. re: Keyboards nothing changes AFAIK. It has a soft keyboard similar to what we have today and the Neo has a physical (optional) keyboard that goes over the screen for typing. Shortcuts still work.
  • I can already see tons of crashed PROGRAMS NOT APPS already and frustration in lots of people until Microsoft decides which toggles to enable for edge cases in order to satisfy everyone and then this lightweight 10X (seems simillar naming convention like Mac OS X before more than anything else, isn't it) is going to become the same bloatware of architectural inconsistensies like regular Winodws that we know for 40 years