In this article I look at what a corporate Windows desktop will look like in five years. (Hint: it's still Windows-based and the "cloud" doesn't impact it in the way you might think it would.)
Our future includes Windows and Windows apps
Let's be perfectly clear about one thing right off the bat. The future of desktops is the future of Windows. You can talk all you want about Mac and Linux and Rich Internet Apps and The Cloud and Java and Web 3.0, but the reality is that from the corporate standpoint, we live in a world of Windows apps. The applications are what drive business, and as long as those apps are Windows apps then we're going to have to deal with Windows desktops.
Even though those new technologies might be better in every way, there's a lot of momentum of Windows apps we need to overturn to move away from Windows. I mean just think about how many 16-bit Windows apps are out there now even though 32-bit Windows has been out for fifteen years. Heck, look at how many terminal apps are still out there! I like to joke that if we ever have a nuclear holocaust, the only things that will survive will be cockroaches, Twinkies, and Windows apps.
That said, I love the concept of a world of apps that aren't Windows apps (and therefore I love the concept of a world without Windows.) I love the rich Internet app concept. I love how Apple is shaking things up. I think VMware's purchase of SpringSource was pure brilliance and I can't wait to see that app platform and Azure duke it out.
But in the meantime we're dealing with Windows apps. And Windows apps require a Windows OS. (We tried without.) The unfortunate reality is that the Windows OS was designed to be a single monolithic brick that is installed and run on a single computer for a single user with a single set of apps.
The Windows desktop of 2015: Assumptions
First, I'm assuming that the whole "layering" thing gets worked out. (If you're not familiar with the concept, here's an overview of "layering," and technical explanation of why it's a hard problem to solve.) The short version is we want to convert Windows away from a single monolithic chuck and towards several nice pieces that can be assembled in different combinations for different users on different hardware. This will require some kind of mechanical layering solution, like Atlantis, Unidesk, MokaFive, etc.
Second, I'm assuming that our app virtualization or app streaming compatibility problems are solved and that we end up with near 100% compatibility (through a combination of better tools, better apps, and a stronger understanding of how to isolate and deal with problem apps.
Third, I'm assuming that we have mature user environment management products that can handle just about anything a user does or changes during his or her session.
I feel that these three assumptions are fine for 2015. Frankly I think we have most of these here now (each from multiple vendors even) in 2010, so being able to call these three things "solved" by 2015 should be no problem.
How these layers will work in 2015
So now that we understand the concept of layers and we assume the mechanical ability to isolate the various layers will work in 2015, let's look at how each of these layers will be used in the future.
The OS layer
In today's world, the Windows OS is downloaded as a huge chunk and then installed. The installation process has some intelligence about which files are actually needed, and it writes some configuration information so Windows is able to boot and run on the specific hardware the installation process occurred on. Hypervisors and smarter Windows give us some level of portability, and even today we're starting to wrap our heads around the concept of delivering Windows as a disk image (and delivering patches and updates as disk image delta files). Heck, Windows 7 can even boot from a VHD.
So let's take that one step farther. Why does Microsoft deliver Windows via an ISO that has to be installed? (Especially since we can run it via a hypervisors?) Maybe Windows 8 will be made available via two delivery vehicles: an installable ISO and a ready-to-run VHD?
If Microsoft creates a bootable VHD of Windows, there's really no need for them to provide a source media with an installation process for customers to download and deploy. Microsoft could then leverage their giant cloud edge network (MSN or Azure or whatever) and could probably make sure that no user was ever more than 50ms away from a fully sharable bootable copy of Windows. (And patching would be a cinch.. just provide more delta files which can be added to the disk assembly at boot time.)
Then users would have the option of streaming / mounting the Windows boot disk / source directly from the cloud or caching / downloading it for offline use. (All the WAN acceleration companies like Riverbed, Expand, etc. are working hard on making this a reality today. Combine that with Citrix Provisioning Server, Wyse Streaming Manager, or Doubletake Flex and you've got a great solution that's almost possible today and should be simple by 2015.
Individual customers could even provide their own layers (is a layer the new transform?) if they need something specific, and the machine personality (domain ID, license key, etc.) could probably be easily extracted out into a user-specific location. (Heck, if Citrix and Unidesk and everyone else can figure out how to do that, it should be simple for Microsoft to do.)
And there you have it. Windows is cloud-enabled. For VDI. For local. For offline. For everyone everywhere. It just exists and is booted up wherever and whenever it's needed.
The app layer
Now let's focus on the apps. We're already assuming that app virtualization is the future. Most companies either have it or know they will get it at some point. Today's customers are spending (wasting?) a lot of effort moving towards the ultimate goal of packaging "every" app. But why is it that customers have to package (err, "repackage") their own apps? How much longer will vendors provide apps as installer routines when most customers will just repackage them to be streamed, virtualized, and layerized anyway?
We're already starting to see this from Microsoft, with Office 2010's "click to run" App-V-based delivery option. And once Microsoft goes down the path of delivering a pre-packaged virtual app that can just run, I don't think it will be too long before we see more and more ISVs providing their apps as ready to run virtual packages.
So then it becomes like the OS conversation. If all our apps are virtualized, and if our ISVs are providing their apps as virtual packages, then why does there have to be an arbitrary bit transfer from a vendor server to customer server? Why can't the software vendor just drop the bits for their apps out into the cloud (via an edge network or whatever) so that end users can just stream / run their apps directly from the cloud. (And again, the running target could be a local client, a customer-owned VDI, a service provider-owned VDI, whatever.)
Different apps might use different technologies. Maybe some come pre-packaged as ThinApp EXEs that don't require additional client components. Maybe some come packaged as Endeavors apps (since they're currently targeting ISVs), and maybe Endeavors creates a disk image layer delta file that lives in the edge network and is dynamically bound to the boot disk image at runtime via a Unidesk-type technology?
This is how Windows apps will become "cloud-ified." It's not about remote display protocols or web apps. It's about app packages living everywhere and accessed as needed (including downloaded, cached, updated, licensed, etc.) At this point Windows apps are just as easy as web apps or rich Internet apps.
The user layer
The user layer is sort of a catch-all for "everything else." It could include user personality, data, user-installed apps, etc.
From the data standpoint, we already have public cloud data sync services like Dropbox or Microsoft Live Mesh. We already private data sync services like Groove and SharePoint. We already have the ability for our user data to live in the cloud while being accessible to whichever apps need them.
I would imagine that it would be simple to take the database that back-ends these user environment management systems (AppSense, RES Software, triCerat, Scense, etc.) and move it to the "cloud" (which is probably nothing more than a publicly-accessible point) so user customizations can be accessed and saved to and from anywhere and via any use case.
What this gives us
Combining everything as written here means that companies can move towards managing, securing, and providing a single instance of each element of the Windows desktop and application stack. Users can access their desktops from their computers at work, home, or in public. Their systems are continuously backed up. (Well, the stuff that's unique is backed up. The Windows and application bits already exist out there in the cloud.) Users can run their desktops online or offline, locally or remote, and switch back-and-forth instantly and as needed. IT only needs to secure and backup data a single time at a single point. Service providers and software vendors can easily make updates and patches available to everyone.
What's interesting is that this is a 100% hard-core "cloud-based Windows desktop." But it's not just Windows running in the "cloud" and being delivered via a remoting protocol. (That's a nice party trick from 1998 that we don't need the "cloud" to do.) No, the Windows desktop of 2015 is a cloud desktop like you haven't yet seen, but that you all want. We have elements of this here and there, but over the next few years it will all come together. It's more than VDI. It's more than TS. It's more than client hypervisors. It's more than sum of the combination of all the parts.
This is our ultimate goal. We're combining hardware virtualization, layering, app virtualization, user envirnoment virtualization, WAN acceleration, smart replication, cloud storage. This is the future. This is the desktop.
So there you have it. This is perhaps the single most important article I've written in the last five years--the single culmination of everything I've been hearing from everyone I've been talking to.
Who will deliver this Desktop in 2015?
(P.S. I started trying to create a visual representation of this. Here's my work-in-progress. We'll discuss more at BriForum.)