• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Blogs for Juan Rivera [ Blogs | Profile ]
Permalink | Twitter Post to Twitter | Comments (24) | Views (3978) |

posted by Juan Rivera

PCoIP is VMware's latest attempt at delivering a decent user experience for a virtual desktop. After failed attempts with RDP, Sun Ray, RGS and TCX, VMware View 4 is betting that a software version of the PCoIP protocol will deliver the great user experience customers demand from a VDI solution.

I've been in the virtualization business for many years. Currently I lead the HDX technology for XenDesktop. In the past I've worked on tons of projects for the ICA protocol including CGP, Secure Gateway, and Thinwire. In recent years I've led the Apollo project which has created technologies now in XenDesktop 4 like HDX MediaStream for Flash, HDX 3D Pro Graphics, HDX RealTimeand HDX Broadcast. So I've watched with amusement as VMware attempts to position PCoIP as the next great remoting protocol. The three most amusing 'marketing' tactics about PCoIP are:

PCoIP bets on UDP as the foundational transport for graphics
One of the major design flaws in PCoIP is that it relies exclusively on UDP for deliver bitmaps. UDP is valid for some narrow use cases but PCoIP relies on it entirely. When you need a reliable transport, TCP is a much better option. The fact that PCoIP has application-layer packet reliability shows you need reliable delivery for desktop graphics. If all you are doing is playing a video, fine... but that's not what a virtual desktop is all about. You may not know this but many years ago, ICA supported a datagram-based protocol with application-layer reliability just like PCoIP. Since then, we have learned that TCP is the ideal transport for delivering desktop graphics over the network. It is also friendlier to firewall and network infrastructure. And it is cheaper to deploy as customers can leverage their existing network infrastructure.

PCoIP claims bitmap remoting is the best way to deliver graphics
Another interesting aspect of PCoIP is that the protocol is based on the idea of sending bitmaps. No wonder, since their hardware solution used as input the DVI port of the graphics card. It is interesting that VMware claim that sending bitmaps is better than sending graphic primitives. This is a half truth. While sending bitmaps make sense in some scenarios, sending graphic primitives is much more efficient in other scenarios. Think of this, what is more efficient when sending a 400x300 rectangle with black borders and white background? As a bitmap or sending a RECT command with both upper left and lower right coordinates? The key is to be smart about it and know when one scenario makes more sense than the other. That's what we call SmartRendering. Getting this right is very hard and it has taken us years of fine tuning. But a half truth is convenient because sending bitmaps is the easiest thing to do, after all, that's all most graphic remoting protocols can do.

PCoIP relies primarily on the server to do all the heavy lifting
PCoIP also focuses on the use of server resources to deliver the graphics. But you soon realize that does not get you far enough. I have spoken with countless customers asking us to solve their scalability issues with playing Flash multimedia. I'm sure VMware have shown some YouTube videos to get people excited but you have to look at the CPU and bandwidth consumption. The Flash player uses up lots of CPU, so if your only available solution is server-side rendering then you are going to need a lot of servers. Customers need solutions that scale, are cost effective and leverage their computing resources in the data center and also on the user device. PCoIP fails to do this because it is an incomplete protocol.

Delivering a complete solution takes time and it's hard, very hard. I see PCoIP making some of the same mistakes we made 15 years ago. I congratulate them for trying, but they have a long way to go.

To deliver a great user experience you not only need a robust protocol, you need all the components in the delivery infrastructure working together to optimize the delivery of virtual desktops and applications. This is what we are doing with HDX at Citrix.

Follow me on Twitter

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (2143) |

posted by Juan Rivera

SuperCache is part of the HDX IntelliCache technology stack. SuperCache role is to optimize the delivery of graphics and images when users are moving content up and down.

A typical use case for SuperCache is a user reading a Word document. When the user scrolls down the document, SuperCache is able to detect areas in the document that have just moved up. Instead of resending those graphics to the end point, the end point renders already cached graphics providing a significant bandwidth reduction between the virtual desktop or application and the end point.

SuperCache is crucial to deliver a great user experience over WAN. On LAN scenarios, SuperCache improves the server scalability and user interactivity by reducing the amount of data pushed through the network and processing required on the client.

SuperCache is available in both XenApp and XenDesktop. It is enabled by default and requires no configuration from the administrator.

The following video compares the user experience when SuperCache is on vs. off. To fully appreciate this demo, I recommend you play it in full screen mode:

Follow me on twitter to stay up to date with the latest developments in HDX technologies.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (9) | Views (2995) |

posted by Juan Rivera

Q&T is a key component in the HDX Broadcast technology stack for optimizing the delivering application and desktop virtualization over a wide area network. It intelligently analyzes the queue of drawing commands and omits those that are not needed to provide an accurate, responsive display to the user. By optimizing what commands need to be sent, this saves bandwidth on the network, as well as processing time on the client.

Imagine this sequence of events. The application is rendering 4 frames per second. Each frame has a size of 100Kb.

Based on the frame rate, it will take 400Kb/s of bandwidth to deliver a local-like user experience. But if you only have 200Kb/s of bandwidth, this is what you would get:

The frame rate dropped to 2 frames per second since that's all you can send with the available bandwidth. But the worst part is that your session lost its interactivity. Because the system is still sending all the frames the application is rendering.

With queuing and tossing, the system drops frames in between to maintain the interactivity the user expects. With 200Kb/s of bandwidth, this is what you get with queuing and tossing enabled:

You are still getting 2 frames per second but the timing of the frames is aligned with what the application is intending to do. Therefore it offers a much better user experience.

To better illustrate this feature, the following video shows the interactivity benefits of queuing and tossing when editing a PowerPoint slide on a limited bandwidth connection.

Join me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (1) | Views (2381) |

posted by Juan Rivera

Thinwire is one of the cornerstone components in the HDX technology stack for delivering application virtualization. It is responsible for remoting 2D graphics across the network efficiently to provide a rich user experience. This component has been part of XenApp for many years. Many of the HDX technologies like image acceleration, progressive display, queuing and tossing and super cache are built on top of the Thinwire Virtual Display Adapter. The following video gives you a quick introduction on Thinwire and its role in the HDX technology stack:

Join me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (1) | Views (3572) |

posted by Juan Rivera

Multi-tab Browser Support

One of the limitations in the trial release of HDX MediaStream for Flash is that only one tab per browser process can be accelerated. This is a bigger issue in Internet Explorer 7 where all tabs run in the same process. In Internet Explorer 8 (IE8) some tabs run in different process.

But there is a way to force IE8 to run all tabs in separate processes. Follow this link to learn more about how to configure IE8 in such mode.

In the final release of HDX MediaStream for Flash, multiple tabs will be supported in both IE7 and IE8 out of the box.

Is HDX MediaStream for Flash running?

HDX MediaStream for Flash is so seamless that you may not even know it's running. Of course, that's by design. There are, however, a number of ways to know if it is running. My personal favorite is looking at a cyan block of color where the Flash player is shown. The cyan color shows for a little bit before the Flash player shows up.

We also created a diagnostic tool for HDX MediaStream for Flash. This tool can tell you if it is running correctly and if not, it can tell you what could be wrong. The information it collects can be easily sent to our support email alias to help our engineers assist you with your questions.

This tool is open source and can be downloaded here.

It's easy to see how HDX MediaStream for Flash makes it easier for IT to choose XenApp and XenDesktop for application management and desktop delivery while preserving the experience that users are accustomed to. Stay tuned for more in my "Did you know" series on HDX MediaStream for Flash.

More of my blog posts on HDX MediaStream for Flash:

HDX MediaStream for Flash Tech Preview
Window-less Mode support in HDX MediaStream for Flash
Volume Synchronization in HDX MediaStream for Flash
Windows Scaling Support in HDX MediaStream for Flash
Multiple Tab Support and Diagnostics with HDX MediaStream for Flash

Join me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (3032) |

posted by Juan Rivera

The Citrix Receiver desktop plug-in or Desktop Receiver (both used with XenDesktop) allow scaling the remote desktop to any viewable size. HDX MediaStream for Flash supports this scaled mode as well. The Flash content can be scaled to the appropriate size with minimal impact on performance. It even allows you to play videos in scaled mode without affecting the frames per second. Check this feature in action below:

It's easy to see how HDX MediaStream for Flash makes it easier for IT to choose XenApp and XenDesktop for application management and desktop delivery while preserving the experience that users are accustomed to. Stay tuned for more in my "Did you know" series on HDX MediaStream for Flash.

More of my blog posts on HDX MediaStream for Flash:

HDX MediaStream for Flash Tech Preview
Window-less Mode support in HDX MediaStream for Flash
Volume Synchronization in HDX MediaStream for Flash
Windows Scaling Support in HDX MediaStream for Flash
Multiple Tab Support and Diagnostics with HDX MediaStream for Flash

Join me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (2983) |

posted by Juan Rivera

With HDX MediaStream for Flash, the flash content is rendered on the client device while the player is rendered on the server side. This makes application management easy for administrators but poses some challenges for our engineers when it comes to preserving the "like-local" user experience. One such challenges is what happens when the user changes their volume locally.

We found a way to synchronize the volume of the Flash player on the client with the volume settings on the server. When the desktop is muted, the Flash player running on the client will be muted as well. HDX MediaStream for Flash even allows granular volume control by synchronizing the individual volume setting for each browser window with the Flash player instances on that particular browser. That means you can have a different volume setting for each browser running on the server and have the Flash players on the client respect each browser's volume setting.

It's easy to see how HDX MediaStream for Flash makes it easier for IT to choose XenApp and XenDesktop for application management and desktop delivery while preserving the experience that users are accustomed to. Stay tuned for more in my "Did you know" series on HDX MediaStream for Flash.

More of my blog posts on HDX MediaStream for Flash:

HDX MediaStream for Flash Tech Preview
Window-less Mode support in HDX MediaStream for Flash
Volume Synchronization in HDX MediaStream for Flash
Windows Scaling Support in HDX MediaStream for Flash
Multiple Tab Support and Diagnostics with HDX MediaStream for Flash

Join me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (2710) |

posted by Juan Rivera

It has been a few weeks since we released the trial for HDX MediaStream for Flash and I would like to share a few tips about this feature as well as highlight some of the capabilities in the trial release. First on the list is Window-less Mode.

Windowless mode allows web pages to overlay HTML content over the Flash player. This is important in certain scenarios like navigation menus that show on top of the flash player. Without windowless support, those sites would not be very usable. Here is an example of MSNBC.com with and without windowless support:

Flash content in windowed mode Flash content in windowless mode

Notice how the Flash ad on the left side covers part of the navigation menu while the one in the right does not. Flash in windowless mode allows the browser to do this. HDX MediaStream for Flash supports this mode even though the Flash player is rendered on the client while the browser is rendered on the server. Logic would dictate that since Citrix HDX renders the flash on the client device, any flash would always show up on top of any content in the browser. But not so. Here at Citrix, we've figured out how to retain this functionality so that users get a seamless experience.

It's easy to see how HDX MediaStream for Flash makes it easier for IT to choose XenApp and XenDesktop for application management and desktop delivery while preserving the experience that users are accustomed to. Stay tuned for more in my "Did you know" series on HDX MediaStream for Flash.

More of my blog posts on HDX MediaStream for Flash:

HDX MediaStream for Flash Tech Preview
Window-less Mode support in HDX MediaStream for Flash
Volume Synchronization in HDX MediaStream for Flash
Windows Scaling Support in HDX MediaStream for Flash
Multiple Tab Support and Diagnostics with HDX MediaStream for Flash

Follow me and my friends on twitter - Juan Rivera, Derek Thorslund, XenApp Team, XenDesktop Team

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (7) | Views (6858) |

posted by Juan Rivera


A key component of Citrix XenApp and Citrix XenDesktop, HDX MediaStream technology ensures that users receive a smooth, seamless experience with multimedia content as part of their virtual desktop (VDI) or virtual applications. To accomplish this, HDX MediaStream determines when it is best to leverage the processing power of the endpoint device to render the multimedia content.
Flash is one of the most pervasive technologies on the web. It is used for interactive content, video streaming and rich internet applications. But delivering Flash-based applications and media via a virtual desktop or virtualized web browser leads to lower user density in the data center, higher bandwidth usage when compared to native flash streams and, in most cases, a degraded user experience.

That's why Citrix has developed HDX MediaStream for Flash. The goal of this technology is to address the density, bandwidth and user experience challenges associated with virtualizing Flash media and Flash-based applications. With HDX MediaStream for Flash, Citrix has solved this problem by moving the execution of Flash content to the client whenever possible. While the browser remains in the data center, Flash content is redirected to the client and executed using the resources at the users end point device. The server is no longer responsible for decoding and compressing HD videos, executing animations or fetching the media content from the web servers. All of which require processing power and distort media in some way.

Moving the Flash execution to the client also enables Flash applications to access local resources like webcams and audio devices to provide a local-like user experience for rich internet applications like web-based collaboration solutions. Even with this local execution, however, HDX MediaStream for Flash lets administrators centrally manage delivery while taking advantage of available processing power on the users device. Check out the demo of HDX MediaStream for Flash below.

How can you get the Trial Release?

To use the HDX MediaStream for Flash trial release with XenApp you'll need XenApp 5.0 for Windows 2003, XenApp 5.0 for Windows 2008 or Citrix Presentation Server 4.5 for Windows 2003 (You might want to consider using the XenApp Evaluation Virtual Appliance if you don't have a test environment of your own). To use HDX MediaStream for Flash trial release with XenDesktop, you'll need Citrix XenDesktop 3 running on Windows XP, Windows Vista, or Windows 7 (may include XenDesktop 3 Feature Pack 1). Both with XenApp and XenDesktop, Internet Explorer 7 or 8 and the Flash 10 plug-in for Internet Explorer are also required. The trial requires the 32-bit versions of the software but support for the 64-bit platform is planned for the version 1.0 release.

On the client side, HDX MediaStream for Flash trial requires the Citrix Receiver 1.0 for Windows and the Flash 10 plug-in for Internet Explorer.

Download the trial release today and let us know what you think. Need to learn more, check out the release notes. Still need more information? Check out the support forum or comment below for a response from me or my team. Stay tuned for another post within a week or two where I'll be asking for your feedback via a quick poll.

More of my blog posts on HDX MediaStream for Flash:

HDX MediaStream for Flash Tech Preview
Window-less Mode support in HDX MediaStream for Flash
Volume Synchronization in HDX MediaStream for Flash
Windows Scaling Support in HDX MediaStream for Flash
Multiple Tab Support and Diagnostics with HDX MediaStream for Flash

Juan
Follow me on Twitter

Expand Blog Post