One of the cool research products I saw when I visited Citrix's advanced products group in Sydney a few weeks ago was something called "Project Alice," or "Reverse Seamless Windows."
Everyone is familiar with the concept of seamless windows, where only a remote application's window is visible on the client instead of the entire remote desktop. "Reverse seamless" is the flip-side of that concept. It's when a client device uses a full-screen remote windows desktop, but then individual LOCAL applications running on the client "poke through" the remote window to appear as individual applications within the remote desktop session.
The technology behind reverse seamless windows is fairly straightforward. In fact some folks from Login Consultants demonstrated this via something called Project Scheveningen at PubForum Dublin 2005, and Ericom developed a prototype for this a few years ago, but so far no one (to my knowledge) has made this technology available to the public.
Reverse seamless is primarily a client-side technology, where you make sure that a local application's window is able to open on top of the remote desktop window. The hard part is getting the integration to "feel" right. You need to make sure that the local app uses the remote taskbar and system tray, and maybe make sure that the appropriate shortcuts appear in the remote Start Menu. And then of course there's that whole file type association thing. (In theory it shouldn't be too hard to extend server-to-client file type redirection so that it works like client-to-server redirection, except in reverse. The real challenge is ensuring the application running on the client can see the file that's been clicked since there's no "reverse drive mapping" feature. Does the term "reverse drive mapping" make anyone else shudder?)
Where is reverse seamless useful?
At the end of the day, reverse seamless is not a "killer" feature. If it's not something you need, then you're probably thinking "what's the big deal?" But where it's useful, look out! These people have been asking for it for years!
The perfect use case for reverse seamless windows is when you want to deploy a remote desktop (either Terminal Server- or VDI-based), but where you still have a few applications that need to run locally on clients (media players, maybe a web browser, graphically intensive apps, etc.) The cool thing is that you can still use Presentation Server application streaming or SoftGrid or whatever to stream these apps to your desktop.
Besides that main use case, there are a few other more specialized scenarios where reverse seamless could be useful. First, it could potentially eliminate the "double hop" scenario IF the client device has the ability to connect directly to both servers. (i.e. instead of connecting to a full screen remote desktop, and then launching seamless window sessions to other servers within the desktop, you could just use the client's local ICA client to connect directly to the additional servers, and that remote seamless window, running on the client, could be integrated with the full screen remote window that's also running on the client via reverse seamless.
There could also potentially be an employee-owned PC use case, although most people would probably use an employee-owned desktop with corporate apps. But reverse seamless is certainly an option.
Is reverse seamless right for you? It depends. You have to look at your applications one-by-one and decide what delivery technology is the best way to get that app to a user. And remember, the desktop is just another application. If a use case dictates that a desktop must be local, great, then you can provide a local desktop and then provide applications either locally or remotely, again on a case-by-case basis. And if the use case dictates that a remote desktop is a better fit for the user, great, then applications can be provided either remotely (seamless into the session) or locally (reverse seamless into the session) as needed.
Citrix hasn't yet announced when the reverse seamless technology in Project Alice will make it into a commercial product. But we can assume it's coming at some point. In the meantime, does anyone know of any other way to achieve this today?