Review : Windows 10 Update


Review: Windows 10 Creators Update is quite a small major update

Arriving April 11, it’s not that creative, but Windows 10 keeps getting better.

Although it has been available to Insiders for a few weeks, today’s the day that the Windows 10 version 1703, the Creators Update, is hitting Windows Update. The first automatic upgrades to the latest Windows 10 version will start happening at about 10am PDT. Over the next few weeks, the upgrade will be pushed to more and more Windows 10 systems. Here’s our review (originally published on 3/29/17) of the update, taking a look at the biggest changes that the Creators Update contains.

The next big update to Windows 10 is nearly upon us: Windows 10 version 1703, known as the Creators Update, will be published to Windows Update next Patch Tuesday, on April 11.

The final build is—probably—15063. That build is already available to insiders and should soon become available for the Windows 10 Media Creation tool, but we also know that there are going to be some patches materializing some time between now and when that happens. There’s a small chance those patches will bump the build number; more likely, they will instead bump the patch number, which is currently a pristine and perfect 0 on the desktop. The mobile build has already been bumped to 15063.2 to handle an installation problem when upgrading from version 1607.

Version 1703 has been branded the “Creators Update” (without an apostrophe). Frankly, this made more sense in the context of its grand unveiling than it does now; when the Creators Update was revealed, Microsoft also introduced its new Surface Studio desktop computer, and promised that a range of affordable virtual reality headsets would be developed for Windows 10. With the Surface Studio being a machine unambiguously designed for digital artists, and with virtual reality needing a wealth of new 3D applications to truly shine, the “Creators Update” branding was an obvious nod to these new hardware form factors.In terms of what’s actually been delivered, however, and 1703 just doesn’t seem all that, well, creative. Let’s start with those headsets: they’re not on the market yet, and they’re probably some months away. The Creators Update introduces substantial programmatic support for them, and will be enough for developers to start creating software for the Windows Holographic APIs—but the operating system itself doesn’t include any particularly significant 3D features for the end-user. Those will probably start to happen in the second major update, planned for later this year.

On the edge of being good

The biggest recipient of visible changes is probably the Edge browser. In a nod to the Windows 8 immersive browser, the tab bar can be expanded to show nice little previews of all your open tabs, and there’s a new “set aside” feature that lets you stash away all the current tabs as a group, and then load them all up again later. For people who like to use tabs as if they were bookmarks—and I know I do—this is almost a really neat feature.

Edge tab previews are very neat.
Enlarge / Edge tab previews are very neat.

“Almost,” because it doesn’t feel fully fleshed out yet. The set aside tabs aren’t persistent; if you un-set-aside them, they’re no longer stored in the set aside area. Close the window and they’re gone forever. I would like to, for example, have a bunch of tabs that I use for when I file expenses, so that I can simultaneously open our expense system, instructions for our expense system, Uber (for retrieving receipts), and the American Express website. But I can’t create a set of persistent set-aside tabs for “expenses.” For me, this greatly limits the utility of the feature.

Edge is now an e-book reader. Along with PDFs, which it has been able to load since its debut, it can now open EPUB files, which Microsoft sells in the Windows Store. Edge has a new pane for managing your library, and there are a number of options for controlling the display of those books. Unfortunately, e-books don’t support one of Edge’s other features: annotation. Since its release, Edge has supported creating annotated Web pages with a pen. In truth I’ve never found this particularly valuable; while I imagine it could prove very useful in, for example, Web development and design—just have a client mark up all the parts of the page where they want the font larger, or a QA person circle bugs for a developer to fix—the appeal to a general audience seems limited.

Set Aside tabs feel like the start of some neat tab handling features, but they need to be fleshed out first.

But the ability to mark up e-books seems more attractive and generally useful. Adding inking support to PDFs and EPUBs seems like an obvious way to make the basic technology more usable by more people. Unfortunately, inking isn’t supported in e-books. Microsoft told me this is for copyright reasons, which may be true, but feels like a missed opportunity in any case.

Under the hood, the new Edge includes the usual array of standards improvements, including support for WebRTC 1.0, for building real-time voice and video communications software within the browser, the Web Payments API, click-to-run Flash, CSS Variables, and full-color emoji. It also includes a preview of WebAssembly support (off by default).

Microsoft is also working to make Edge a more secure browser. The Edge sandbox is now stricter, with its access prohibited to a wide range of Windows APIs—meaning that even if an attacker gets malicious code to run within the browser, that code now has far fewer opportunities to break out of the browser process and attack the system.

Microsoft has also changed how Edge’s “Chakra” JavaScript engine works. The JavaScript engines in all modern browsers are JIT (“just in time”) compilers, meaning that they compile the JavaScript into executable x86 code on-the-fly to reduce the overhead of running scripts. Every browser also respects and uses non-execute protection: data in memory can either be executable, or writable, but should never be both at the same time. This means that the browser has to have access to the API that marks data in memory as executable. That’s a problem, because that API is equally useful to attackers, so that they can mark their malicious data as being executable.

In the new Edge, access to this API is now prohibited; the process that handles (potentially malicious) Web content can no longer mark data as being executable. Chakra’s JIT compilation has been moved to a separate process, and this separate process is responsible for making memory in the sandboxed browser process executable on an as-needed basis.

Edge is on the cusp of being a really great browser, but it’s still not there yet. Chrome is very forgiving if you close a window accidentally; ctrl-shift-T brings the window back, with all its tabs intact. Chrome similarly lets you close all windows simultaneously, preserving all their tabs, so that when you reopen it, you’re back exactly where you left off, with multiple windows and multiple tabs all in the place you left them. Edge can’t do either of these things. As a result, it’s all too easy to lose your tabs.

The way it handles a crashed tab is inelegant. Chrome just turns the tab into a sad tab. In the background, it’s collecting a crash dump and no doubt notifying Google that something went wrong, but there’s no end-user interruption. You just hit reload and the tab is back. Edge, in contrast, uses the default Windows crash handler, popping up that annoying dialog box with its slow-moving progress bar, while it laboriously writes out a crash dump, making you wait before you can resume whatever you were doing.

The extension ecosystem is also sparse, though slowly improving.

That said, the core engine continues to feel good. Pages render well, and quickly, scrolling feels smooth, and its memory usage seems to be quite a bit more reasonable than Chrome’s. With some improvements to tab handling and crash handling, in particular, it would be a solid daily driver browser. It’s just not quite there yet.

Beam me up, Scotty

Gaming tends to be destructive more than it is creative, with killing and mayhem, but gaming-related improvements make up the other large part of the Creators Update: Game Mode and integrated Beam streaming.

Game Mode is intended to boost gaming performance by a few percent. The idea is straightforward enough: when a game is using Game Mode, Windows plays around with thread affinities to dedicate processor cores to games, shuffling background tasks to other cores. Foreground games already get access to most of the GPU’s resources; Game Mode shifts the balance even further in their favor.

Game Mode is available for both regular Win32 games, and for UWP games sold through the Windows Store. In the case of the latter, Microsoft intends to offer an API so that games can automatically enable the mode. For the former, the user will have to opt in explicitly.

How much difference does it make in practice? Frankly, I’m not seeing any real difference in the games I’ve used—to the extent that I’m not even sure Game Mode is functioning. My game of choice, Dota 2, spawns dozens of threads (more than 80) and seems to put some amount of load on every core. I tend to have YouTube and Discord running when I play, creating a modest baseline processor load. I also use borderless windowed mode, so that my three monitors behave normally even when in-game, meaning that the GPU always has to spend a little of its time updating the desktop.

In principle, this should be the best case for Game Mode. “Clean” machines running nothing other than the game are already going to be functionally dedicated to the game; busy systems with a bunch going on in the background should be the ones that see the most gains. But I’m not feeling anything from having Game Mode enabled, nor am I seeing any big change in processor activity.

I wonder if Game Mode is a precursor to some kind of stricter, more rigorous hardware partitioning. The Xbox One, when running games (rather than apps), allocates almost all of its processor and GPU resources to the game, making its behavior much more predictable and consistent than that of a regular Windows PC. As Microsoft brings its disparate Windows forks together, it wouldn’t be tremendously surprising to see desktop Windows pick up features from the Xbox operating system. Giving PC games dedicated resources comparable to those on the Xbox would undoubtedly make performance a little better and a little more consistent.

Starting a Beam broadcast.
Enlarge / Starting a Beam broadcast.

The other major gaming addition is support for Beam, the streaming service that Microsoft bought last August. Beam is pretty cool, because its streaming has much lower latency than Amazon’s Twitch, the dominant force in game streaming today. Lower latency makes it much easier for streamers to interact with viewers. Beam also has an SDK so that viewers can cause in-game events—like picking a map to play on, or spawning more enemies.

Beam streaming in the Creators Update is straightforward; you’ll need an account on Beam and an Xbox Live ID, but with those in hand it’s more or less a question of clicking the stream button on the game bar (which appears when you press Win-G), and letting it do its thing. As well as the game itself, it can include webcam and microphone input, making it all that you need to get started with game streaming. This obviously has some overhead in terms of both processor time and bandwidth, but Beam appears to be relatively lightweight on this front.

My experience with the integrated Beam support brought up some issues that call to mind broader concerns about how Windows 10 is tested. The Windows Insider program is huge, with Microsoft now claiming more than 10 million testers, but my suspicion is that few of these testers are using the previews on their daily driver PCs—the preview quality simply isn’t good enough. Rather, I suspect most testers are using the previews in virtual machines or on secondary systems. As such, the previews get relatively little use on systems that have lots of hardware—as became apparent with version 1607’s handling of webcams—or a wide range of software.

In the current builds—though I’m assured that this will be patched before launch—the integrated Beam streaming doesn’t work if you have Skype, Skype for Business, Teams, or certain other applications running. Microsoft tells me that this is because of concerns about people broadcasting their private communications by accident. The problem is that these restrictions ignore how people play games on PC. Though Discord’s share is increasing dramatically, Skype is still commonly used for in-game chat between friends. It’s convenient because a Skype call can stay up even as you move between game servers, or if you need to restart a game. Blocking Beam if Skype is running kills a lot of Beam’s utility.

When you're live, you get a little preview showing what you're broadcasting.
Enlarge / When you’re live, you get a little preview showing what you’re broadcasting.

If the Beam integration had been tested by people using real hardware to play real games, I feel sure that this design would have been scrapped long ago. Real people playing and streaming real games clearly aren’t going to tolerate this kind of limitation, and dedicated streaming software such as OBS and XSplit doesn’t enforce any such restrictions. But I would guess that the large majority of that 10 million people running insider builds aren’t doing so on their powerhouse gaming systems, even though these are the ones that’ll be used for streaming.

As problems go, this one is relatively harmless—and it should get a fix soon. But it feels like a problem that should have been caught far earlier. Insider builds need real-world testing, and for that they need to be consistently good enough to use on daily driver machines. Right now, they’re not.