Desktop and application virtualization are fundamentally about providing applications for users. In a corporate environment, these applications are almost exclusively Windows-based, meaning our mission to provide applications to users could perhaps more appropriately be our mission to provide Windows applications to users.
And so that’s been our focus the past ten years or so. Every few years, someone asks, “Are there any desktop virtualization solutions that provide Linux desktops to users?” or “When will there be a version of Citrix XenApp for Linux?” My answer is always the same: When people start using Linux apps on the desktop, we’ll focus on them. But until then, we live in a Windows world. Sure, there are plenty of Linux desktop apps in the world. But these tend to be used by individuals. Very few companies actually use Linux desktops instead of Windows desktops.
The same could be said about web apps. Sure, web apps have certain advantages over Windows apps, but by and large, most desktop apps that run businesses today are Windows apps. (And when there are web versions and desktop versions of the same app, most people choose the desktop version. Example: Outlook versus OWA.)
A few years ago the notion of the “Rich Internet Application” (RIA) came to be. These applications are written for frameworks like SilverLight, Adobe AIR, or Google Gears. The idea is that they can bridge the best of both worlds—cross platform, portable, non-conflicting, and service-oriented like web apps, but with rich interfaces and the ability to run locally and work offline like desktop apps.
So why do we care about RIAs if I just spent the whole first part of this article talking about how we live in a world where Windows apps are entrenched?
The desktop virtualization world is pushing the limits of what's possible with Windows desktop apps. We have virtualization, isolation, streaming, redirection, layering, and all sorts of reverse-engineering, hacked-together sorcery to try to make our Windows apps work better on shared, streamed, on-demand virtual desktops. In fact recently I've wondered whether we'll ever be able to re-shape Windows (and Windows apps) to support what we want to do.
RIAs to the rescue?
So this is where RIAs are interesting. Sure, today we use Windows apps instead of RIAs. But what would it take to get rid of our Windows apps and replace them with RIAs that have all the good app behaviors that we want moving forward?
The problem with RIAs (and I guess web apps too) is that they're missing the common services that are usually handled by Windows. A desktop OS is more than just a window manager. It allows a user to have a collection of settings, configurations, and services that are shared between multiple applications. I'm talking about things like colors, fonts, button styles, and text sizes. I'm talking scroll bar behavior. I'm talking custom spelling dictionaries, time zones, currency, date, and time formats...
When you use web apps and RIAs, you lose that. (Example: How many times do I have to right-click and select “add to dictionary” for the word “VMware?” Once on my Mac host. A second time in my Windows VM. Again in Twhirl and Tweetdeck. (Both Adobe AIR RIAs.) A fifth time in Gmail. The list goes on... And that’s just for one little thing. How many settings are in my profile that these apps should access? Dozens? Hundreds?
And you could take it beyond just user settings. What about passwords? Data? Location information?
This could be solved by some kind of industry standard user settings service that could be accessed in an open way by any application. Maybe you do a one-time config of each app to point it to your own (dare I say "cloud-based") user settings configuration? (Even if you don’t use web apps or RIAs, a little bonus of this concept is that once Windows and Mac interfaces were written, you’d be able to get your settings in sync between your Mac host and your Windows guests.)
How can we make this happen?
I did some googling and haven't found anything like this out there. Does anyone know whether anything like this exists or whether anyone's planning anything like it? I talked with AppSense's Martin Ingram about this at BriForum, and we agreed that this is something that needs to come from beyond more than one vendor. I wonder if we could start with the user profile and user environment vendors and grow from there?
Of course I understand that a cloud-based central repository is not the only thing preventing RIAs from taking off. But I think it's a big part of it, and it's certainly something that we could start to solve today.