The basics of window management in Windows haven't really changed a whole lot since the days of Windows 3. You can maximize windows to make them take up a whole monitor or you can have them free-floating and arbitrarily sized—that's about it. macOS gives maximized windows a slight twist with its full-screen view, and Windows 7 introduced Aero Snap, a way to get two windows side by side, each occupying exactly half the screen (later extended to divide the screen into quadrants, for four windows at a time). While these are both compelling features, the basics still haven't really changed for decades.
But one kind of application has long stood out as an exception: the browser. Browsers add a second dimension to window management through their use of tabs. While browsers probably weren't the first, and certainly aren't the only, apps to have tabs, they're the ones that have done so most successfully. With tabs, we can have multiple pages—multiple discrete activities—all within the same window. We can combine tabs with other window management to, for example, put a bunch of related tabs in a particular window, grouping them up and handling them as a unit.
In a feature announced today, Microsoft is going to bring that same kind of two-level grouping and management to every window and every application. Tabs won't just be for browsers; they'll be for Notepad, or Word, or Visual Studio, or Explorer, or Minecraft. The feature is currently called "Sets," and it'll be coming soon to the Windows Insider Program.
"Sets" will come with some important wrinkles, but first a word on the name. Microsoft knows that the name "Sets" is not a great one; when you're talking about the feature, it sounds a bit like you're saying "sex" all the time. So the name will change eventually. For now, however, "Sets" is what we have.
Rumors of having tabs everywhere emerged in April, and Sets does this, just in a way that's a little more structured than might have been initially assumed. Back at its Build developer event in May, Microsoft showed off Windows Timeline. This gives a temporal view of your working activities. If you had a bunch of documents and browser windows open at a particular time on a particular day, Timeline lets you browse through them and open them together.
Sets builds on a similar concept. The example Microsoft gives is of a student working on a paper for class. The main application she'll be using is Word to write her paper, but she'll also have other resources—a OneNote notebook from her class, various webpages with useful information—that are all related but secondary. With Sets, she'll hit the new tab button in Word and open up OneNote with the class notebook as a tab; hit new tab again and perform a Web search. These tabs become part of the Word window. Close the Word window, and all the tabs close with it. Open the window again, and it'll ask if you want to recreate all the tabs at the same time.
In this way, Sets adds a kind of task-oriented grouping in addition to Timeline's time-based one. Sets can be tied to particular documents—open the document and the related tabs will come with it—or particular applications. For example, a Minecraft window could also have tabs for various wikis and YouTube tutorials so all your Minecraft stuff is handled together.
The way Microsoft will be developing and delivering Sets is a little different from what we've seen from the Windows Insider Program in the past. The next Insider build will have Timeline available to everyone. But Sets, at least initially, will be limited. Insiders will be randomly opted in to the Sets test, and the new features won't be available to everyone at first.
This is largely because Sets is a complex change with scope to break things. In the initial implementation, it will only work with applications built using the Universal Windows Platform (UWP), such as Edge, Mail, and other apps from the Microsoft Store. That's because these apps are the most constrained; Microsoft knows that they're not monkeying about with any Windows internals or depending on specific undocumented behavior of the Win32 API, so slapping some extra tabs in their title bars is relatively straightforward. The early testing will enable the company to assess the stability and reliability of adding tabs to applications, allowing Microsoft to refine the interface for saving and restoring sets of tabs, the integration into Timeline, and so on.
But the company recognizes that longterm, tabs have to be available to more than just UWP applications. After UWP apps, the next priority will be enabling Sets for the next class of Windows applications: those that don't customize their appearance (think Notepad) and Office. Office has a deeply custom user interface, but since Microsoft is very familiar with its code and since it drives so many productivity scenarios, a future Insider Preview build of Office will also light up tabbed functionality.
Beyond this is the final category: customized Win32 applications. Visual Studio would be an example here; its title bar is very non-standard due to a search box and custom buttons, so figuring out the best way to handle such applications is still a work in progress. One option that the company is exploring is a "doubled up" title bar—a standard title bar, with tabs, that sits above the custom title bar. There will also be APIs so that applications can exercise greater control over the tabs.
Sets is an unusual feature because Microsoft is treating it as an exploration. The company isn't yet sure precisely how people will use them or how people will want to use them. Already there are certain things that I'd like to do that aren't currently handled by the system; for example, in Visual Studio I would like to have some tabs that belong to the "app" (a tab for Stack Overflow, another for C++ Reference), and others that are opened and closed on a per-project basis.
The early nature of Sets also means that Microsoft isn't committing to deliver them any time soon. There's no guarantee that they'll be in the next major update, codenamed Redstone 4, due in March or April next year. And their complexity means that it may take much longer before they're good enough to put into stable Windows. It's even possible that Microsoft will find that Sets is just not that useful, and the feature never makes it into a shipping product, though that seems unlikely at this point.
Listing image by Jerry