Made by You - Evolving the Shell based on your feedback

Hey Windows Insiders :)  

My name's Jen Gentleman - some of you might know me as /u/jenmsft on Reddit or @jenmsft on Twitter. I'm a software engineer and one of the Community Champions for Shell and today I'm here to share some of how we've been using your feedback on our team. 

But first: What is Shell?

"In computing, a shell is a user interface for access to an operating system's services" – Wikipedia

In essence, the Shell team develops the things you see when you're interacting with the core features of your phone or PC.   

There are a lot of different user interface (UI) pieces that we work on across the system, but you're probably familiar with some of the bigger ones:  

  • Lock screen
  • Theming
  • Start
  • Tablet Mode
  • Action Center
  • Notifications
  • File Explorer
  • Virtual Desktops
  • Settings
  • Cortana
  • Touch Keyboard
  • Taskbar
  • Input Switcher
  • Continuum
  • Task View
  • Share
  • Alt-Tab
  • Quick Access
  • Network Flyout
  • Login page

The story begins…  

This is actually my one year anniversary since becoming a community champion (almost 1.5 years since we started the Windows Insider Program!). So much has changed in the last 12 months - it's been a blast watching our features and processes evolve, and being there in the community to celebrate as it happened. Since we just recently flighted our 25th desktop flight, I thought the best way to kick off our Made by You story would be to walk through some highlights of the changes we made based on your feedback since that first build back in October 2014.   

Cue the music!

Action Center 

Often called "info center" or "notification center" in feedback, the Action Center is one of our favorite places to start when showcasing how feedback can help improve a feature. In this case, a picture is worth a thousand words:

Windows 10 Insiders Preview (Build 9926) January 2015 Windows 10 Version 1507 (Build 10240) July 2015  

A bit of history: Action center was originally conceived and implemented for Windows Phone 8.1. It was very well received, and so one of our goals for Windows 10 was porting that functionality over to desktop so users on PC could benefit from it as well. The idea was simple, and followed the logic for phone - if the user receives a notification and doesn't get a chance to interact with it before it times out and dismisses, save it in the Action Center to be perused later. Feedback was still only in the beginning stages of ramping up back then, but even so we quickly started getting feedback in four areas:  

  1. Certain notifications were greyed out and disabled in the action center, even though they contained messages like "Click here" or "View messages"  
  2. Certain notifications were very noisy, and ended up showing many saved duplicates, even though they all were effectively saying the same thing  
  3. Certain apps flooded the action center with notifications, so you couldn't see the ones you were actually interested in  
  4. Certain apps didn't clear their notifications, so you ended up having to spend a lot of time cleaning up stale notifications in the action center.

How this came about: Unlike phone, on desktop there was never a concept of notifications being stored, so no one sending notifications had ever had to think through what it meant to be a "good citizen" in terms of notification frequency and relevance. The disabled notifications (older system notifications not plumbed out to be clicked through after the initial toast) were also a reflection of the POR (plan of record) that every toast should be saved so the user could go look at them later, but what we discovered from feedback was that the confusion and frustration it caused outweighed the benefit.  

How we addressed it: After those first initial flights, there was a lot of work done to improve this experience going forward. First off, we worked together with the system notification owners and either updated the notifications to be clickable (and clear away duplicate notifications), or stopped showing it in the action center all together. We also added a cap of 20 notifications max stored per app, and improved our documentation for app developers to help them learn more about the notification system and guidelines for implementing them (if you're interested, check out the article the notification platform team wrote for the 10x10 series for an overview, and the notification team blog for more in depth discussions - fascinating stuff!)  

Along the way, outside of our interactive notification work (which was for developers, but resulted in some awesome app updates for Insiders), we also did work to add some quick action buttons that you guys had been asking for - namely Brightness, Wi-Fi, Bluetooth, Project, Airplane Mode, and a few others :)  

Top Tips:   

* If you want to go directly to notification settings for a particular app, just right click the app name in the Action center and an option will appear to take you there  

* If you're not getting notifications for a particular app and they're enabled in Settings, check to see if the app itself has settings for notifications as well.  

Start Menu

It wouldn't be a highlights reel without talking about how your feedback has evolved the Start Menu.  Build 9926 was when we unveiled the new XAML start menu. Ever since then, it's been all about using your feedback to prioritize what we implement and how to improve the experience. 

   

By the time 10240 rolled out, thanks for your feedback we had:  

And then with 10586 came even more goodness:  

 

Did you know?  

* Most Modern apps support pinning content to the start screen - this includes locations (Maps), websites (Edge), various settings (Settings), clocks (Alarms & Clocks), accounts and folders (Mail) and notes (OneNote). We call these tiles "secondary tiles"     

Tablet Mode

We poked fun at it in the picture earlier, but one of the first things we did to respond to feedback about tablet mode was to improve the logic for when to enter and exit tablet mode, and how often we should ask you about it  

Beyond that, there was a lot of feedback about the tablet mode experience as a whole from our Insiders, and thanks to that we did a bunch of work to improve it for build 10240. Some of the things we did were:  

* Make it more obvious that you're in tablet mode by having an identifiable taskbar (and add context menu options to configure the taskbar elements)

* Update taskbar so it would also auto-hide if in tablet mode, not just desktop mode

* Improve the full screen Start Menu experience by making the UI more touch friendly

* Enable full screen apps (without a title bar), and then add a gesture to for the title bar to show, as well as a swipe to close gesture

* Add a back button to make it easier to switch between apps

In 10586, we continued working on the experience, and added:  

  • Swipe to close apps in task view
  • Drag to snap apps from task view
  • "Teeter" otherwise known as place mode (aka, when you have two snapped apps already, and you try to launch another app, this third app will now "teeter" on top of the other two, until you select which app you'd like to replace
  • Resolved some issues resulting in the touch keyboard not automatically invoking in certain apps   

  

Fun Fact:

Two of our features that were originally only for tablet mode ended up being so highly requested in feedback that we later added them for desktop mode users as well.

Theming and Personalization  

Our last and final highlight section, and one that has generated its fair share of colorful feedback.

Windows 8.1 -> Build 9926 Build 10061 Build 10130 Build 10525 Build 10565  

Terrible puns aside, this area has had a high volume of feedback since the very beginning. If you've been looking at the images throughout this article, it will come as no surprise for me to say that we've been continually making updates based on your feedback in order to increase and improve the personalization options, and we will continue to do so.  

How does theming work?

 There are two parts to getting theming up and running across the system:  

  1. There needs to be a setting to control it
  2. The piece of UI or the framework it's based on (XAML, for example) needs to support it  

At a very high level, the way theming works is that when you make a change to your system personalization settings or a change is otherwise detected, we send that message to all surfaces listening for it, and then that UI will update based on your new preferences

When you implement UI in a given framework, there's generally some amount of centralized theming logic that comes with it. Adding theming isn't free, though - you'll still need to customize the theme so that it fits the needs and design of your specific surface, as well ensure that all of the UI elements (particularly icons and text) stand out and are readable against the chosen background. For example, if your theme is blue, rather than following your exact theming preferences, the Start Menu will use a slightly darker blue for its background in order to make the tiles (which are the actual colour you selected) more prominent. This is one of the reasons why theming tends to come in later on in the development cycle - the interactions and overall UI layout need to have more or less stabilized before you can start to work on polishing and adding customizations, otherwise it can add to the development cost if you have to redo it. It's also why theming for across the system didn't all come online in one shot, but instead started with start menu and taskbar, then action center and notifications, then a variety of apps, then title bars. Context menus are a similar, but slightly different story - many of the ones that have been around for a while were developed using an older menu framework, and these need to be individually modified in order to change their design from what it is currently. During the November release, we updated some of the most common ones invoked from the taskbar to use a new theme more in line with the taskbar jumplist

When you log feedback requesting something relating to theming, if you do have a preference as to which we work on next, it's very important to cite the specific piece of UI you care about, as it helps us to prioritize.

Transparency and blur

The current technique we use to add a blur to our transparent UI is called a "Gaussian Blur". There's actually a great Wikipedia article on the subject if you’re interested. The essence is that we make the UI transparent so you can see what's underneath, and then apply a per-pixel transformation called a Gaussian function to make each pixel display a weighted average of the pixels in the vicinity - the overall effect giving a more and more blurred look depending on how far you take it. For a stationary picture, it's a onetime cost, but for system UI, that means every time something on the screen moves underneath the transparency, we need to recalculate what the correct blurring should be, which is why it can have performance implications and why we need to be very careful to keep an eye out for performance regressions when we light up newly blurred surfaces. The blurring in the taskbar had to be removed for this reason, which you see it with the semi-transparent and no blur theming that it has today

Currently we're working with the platform team, investigating options for further improving performance of the rendering logic.

     

Quick plug!  


Some of the other theming updates we've made based what you've been telling us:  
* Added a shuffle option for desktop backgrounds
* Added an option to set desktop backgrounds for a specific monitor     

Honorable Mentions

Didn't have a whole section for these, but wanted to thank you guys for being the driving force behind this work that happened leading up to 10240:

And so the story continues…

On behalf of the Shell Community Champions, thanks again for being an Insider!

That’s all for now. Keep the feedback coming - we’re listening!

Cheers! 

-J

‘Made by you’ articles highlight how we are addressing feedback from Windows Insiders, how we investigated this feedback to shape Windows, and why we have made these improvements.

If you have feedback on this type of content or other aspects of the Windows Insider Program, please let us know via the Feedback App