With Windows 10 Fall Creators Update (FCU) releasing on October 17th 2017, we thought it time to post the list of improvements coming to Windows Console in FCU.
Note: For fans of our sister project, Windows Subsystem for Linux (WSL), please also read our post on "What's New in WSL in FCU".
The Windows Console team have been hard at work during the FCU product cycle. Some of their work is highly visible (and even audible!), and there's been a lot of under-the-covers work underway. Read on for details:
Windows Console Accessibility Improvements
For users who are blind and/or have visual difficulties, the command-line presents a unique set of challenges. Try this out for yourself - open a Console window, close your eyes (no peeking), and try to use the command-line. Many among you might enable Windows Narrator, but you'll find that it doesn't do a good job of reading the Console's contents.
Historically, Windows Console has not done a good job of supporting screen readers like Windows Narrator. 3rd party screen-readers like FreedomScientific's JAWS, and NVAccess' NVDA jump through some pretty complex hoops to read the Console's screen.
We wanted to change that and help make Windows just a little more accessible to our users.
One of the most visible ... and audible ... improvements made to Windows Console in FCU, is that Windows Console's contents can now be read by Windows Narrator and any other screen-reader or tool via the Windows UI Automation infrastructure (UIA). UIA allows applications to navigate Windows apps' UI controls and their contents programmatically. Because Console now exposes each line of the Console's contents to UIA, tools like Narrator and now interrogate Console windows and read their contents to the user.
The video below is a very quick demonstration of this feature in operation.
We'll be following up with a much more detailed post, and demo video soon. Stay tuned!
Improved Text Rendering and VT Code support
Building atop the major improvements to the Console in Creators Update, the Console team also made several important improvements to the Console's text rendering and VT handling.
The net result is that the Console should now render text even more like one would expect on a Linux or Mac console. For example, the Console now correctly renders vim color themes correctly, does a better job of reflowing text when the console windows is scaled, and should render text more quickly in some scenarios.
We're not done here though: There are several important input, text, and other VT improvements planned for future releases of Windows Console.
New Default Color Scheme
The default Console color palette has remained unchanged for more than 30 years. And it shows! The original deep navy blue renders far too dark on LCD screens, and many colors are oversaturated and contrast poorly.
In Fall Creators Update, the Console's default colors have been improved and modernized to render more clearly on modern high-resolution displays.
In particular, the deep navy blue has been replaced with a lighter shade of blue. Similarly several other colors have been tweaked and modified to render more clearly, as has the background color which has gone from pure black to a dark shade of charcoal to help soften color contrast a little.
The new default color palette was selected in partnership with the Windows Accessibility and UI Design teams, and has been tested using internationally recognized color & contrast analysis tools.
We encourage you to read the announcement blog, and hope you like the new default color palette. If not, you might like to customize your Console's color scheme using our new tool …
Custom color schemes using ColorTool!
One of the most common asks of the Console is to support custom color schemes. While it'll take a while for us to build formal support for custom color schemes, we have recently released an open-source ColorTool to allow you to import custom color schemes into your Consoles.
For more details, please read the announcement blog for the ColorTool, and give it a try! We look forward to seeing your pull-requests containing your suggested improvements.
Overhauling the Console's internals
Back in April 2016, we teased the Twitterverse with what looked like a joke, but was actually a (much simplified) overview of the critical work necessary to overhaul the Windows Console's internals:
We are currently giving the Windows Console its biggest overhaul in more than 30 years, injecting new life into one of Windows' most essential, and oldest longest-serving features, and into the Windows command-line ecosystem as a whole.
The team began implementing this plan during Creators Update, and has continued the work during Fall Creators Update
The modernization effort is not quick, nor simple. The overhaul requires significant changes to the Console's internals; replacing legacy/out-of-date code with modern, well-tested replacements; and improving support for many user and customer requests. And all this has to be done without changing existing behavior, and without breaking the world. The Console, it turns out, is one of the most used apps on Windows, second-only to the browser! And its used for many critical tasks and roles, not least of which is building Windows itself, and running every command-line application on every machine world-wide.
Alas, much of this work is not really visible to the end-user, but it is essential for us to complete so that we can start working on high-value end-user-visible features that many of you are asking and waiting for us to deliver!
This work continues, but we're nearing the end of the major re-architecture work: Bear with us as we work to deliver the world-class Console experience that you deserve!
So, what's next for the Console?
The team are already beavering away on the features and fixes for the next Windows release after FCU! These improvements will start to appear in Windows 10 Insider builds in the coming weeks, and will appear in the next major Windows 10 release in several months' time. As always, we'll continue to announce new features and improvements via this blog, and on Twitter via @richturn_ms, so stay-tuned for all the Console and command-line related news!
For those keen to ride the wave of new features, be sure to subscribe to the Windows 10 Insiders fast-ring builds, and be sure to let us know if you find issues!
Sincerely, the Windows Console & WSL engineering teams