Windows 10 Technical Preview: Beef in the backpocket

If you weren’t aware, Microsoft used a portion of the Build 2014 conference back in April to showcase the upcoming changes for Windows 8.1 that would be coming this past August in Update 2. The update came and went underwhelmed as it didn’t add anything they said would be coming to fix the image of Windows 8. No returning start menu, and no dockable Metro applications.

It was already obvious by then that Microsoft decided to take the Vista route and just sell us another version instead of fixing the one we had all already bought. So at the beginning of this month, Microsoft took the wraps off the next version, named Windows 10 (supposedly for back-compat reasons) and released a technical preview for the world to chew on.

The assumption that myself and some others had, was that if Microsoft wasn’t going to polish Update 2 for the August timeframe, then they had more time to shove in some other features to push into the next revision of Windows. Instead, all we had was a command prompt that allows users to paste (why this wasn’t added a decade ago, I’ll never know) and the really exciting addition of multiple desktops (which should have come back in 7 if not Vista. Both of the features really are great additions, but sort of limited to power users and didn’t seem like it provided that much value. I felt kind of cheated in a way because Microsoft has historically tried to jam in a bunch of changes between versions (Windows 7 coming from Vista being an exception). Thus, my review was: Where is the beef?

The news of the week is that Microsoft has partnered with Docker to bring software containers to Windows natively using the same Docker tools already in existence. It’s going to take some serious work to get that functionality shoved into Windows given that Docker is only possible due to existing technology (such as cgroups, Linux containers (LXC), and namespaces) that had been built into the Linux kernel for other purposes.

As I had previously mentioned, there are a ton of things that Microsoft develops and never ships (not even including the stuff waiting for commercialization coming out of Microsoft Research). Sometimes they are entirely trashed, sometimes they are just mothballed. In the instance of software containers, Microsoft has already established their version of it already, albeit only available internally. Word on the street, this functionality has existed since about 2005 as a response to Solaris containers. Thus, the horrible sounding “beef in the backpocket” remark.

Microsoft has even flirted with alternatives to the solution they already established almost a decade ago over in the Microsoft Research group under the Drawbridge project. To note, it’s already been called out that the Drawbridge research is not what is evidently coming in future Windows 10 Server Technical Preview builds.

The 2005 timeframe of when Microsoft’s container implementation was supposedly created would jive with the massive amount of investment Microsoft made back then for Virtual Server 2005 which then became what we know today as Hyper-V. My take on how containers could possibly be implemented is just a layer of sort over Hyper-V technology. Instead of isolating and reserving resources for a virtualized hardware subsystem, it would just play host to the processes of the container.

One interesting dilemma to the idea of software containers on Windows is how you would be able to ship multiple web applications or services under IIS and still maintain isolation. According to Thomas Marquardt’s blog (IIS software developer at Microsoft), each application back in IIS 6 had it’s own request queue, but with IIS 7 the per-application queues were eliminated and the use of a global queue was used for better performance. This doesn’t bode well unless the IIS team backtracks on that decision or they figure out a way to allow multiple IIS instances to run on a single machine without sharing a request queue. Even still, the underlying Windows subsystem HTTP.SYS has it’s own global queue, although I don’t believe you would end up filling the queue unless the upper IIS instance gets totally borked.

Either way, they are some serious work to do in that space. While we’re talking about new features for Windows 10, here’s my wishlist. Some of them are already in the Windows UserVoice website and high on the list already (w00t).

  1. Add tabs to the Command Prompt. I’m fairly sure that a majority of super users end up with a whole taskbar of instances, and it would be nice to just flip between them doing Ctrl-Tab like most tabbed applications today.
  2. Finish the migration from Control Panel to PC Settings. If I’m going to be able to run Metro styled applications in a floating window, there should be no reason why the migration can’t take place. It just seems like having the two separated would cause a bunch of confusion on where one would go to change X setting. And I imagine keeping two UIs would be a bit heavy on the testing side of the house in the Windows team.
  3. Make the Search and Task View buttons next to the Start menu (re)moveable. I hate the fact that if I want to find something local, there is a call to the internet being made. If I want something from the web, I’ll use the browser. Nothing I have ever searched for in the Windows 8 Charms search or this new Search feature was on the internet.
  4. Make Win-Tab work just like Alt-Tab, but for multiple desktops. Alright, this is sort of a repeat of my request in my prior review article – but if I’m making a centralized list somewhere, might as well add it. Currently the Win-Tab combo brings up the Alt-Tab screen with the multiple desktops show at the bottom. Wherein using Alt-Tab by tapping Tab and holding Alt, I can switch between highlighted applications and select it by simply releasing the keys. As in my request, using Win-Tab and holding Win, I should be able to switch between highlighted desktops and select it by simply releasing the keys. I’m on the fence at the moment about different desktop icons and pinned taskbar items per desktop.
  5. Allow customers to set default applications on a per-desktop basis so they automatically open at startup. For example, I am always running Outlook, even when not at work. Some applications have the ability to automatically start at first login, like Spotify, and it would be nice to define which desktop to send it to. Sort of related to this request.
  6. Ability to drag-n-drop applications between the multiple desktops. Or at least provide an option in the context menu if I right-click on the title bar to ‘Send to desktop X’.
  7. Allow customized boot and login screen background images.
  8. Provide a better synchronization experience beyond the 100kb Metro applications, such the ability to answer/migrate calls or reply to text messages from your desktop, laptop, or tablet. Same goes for the notification center. Yes Microsoft, you would be copying from Apple – it’s not the first time you would have done that.
  9. Allow people to paste a registry key path in RegEdit. Ask to create it if it doesn’t exist, or navigate to it.
  10. Windows based package manager like Chocolatey. But allow customized repositories to exist like customized Windows Store that enterprises would get.

What would you like to see make the final Windows 10 build?