Show window contents while dragging

Let’s test your XenApp/XenDesktop design skills.

With XenApp/XenDesktop 7.15, do you want to show window contents while dragging?

NO CHEATING! Answer before continuing

Continue reading Show window contents while dragging


Windows 10 End of Support Cycle

Let’s go through a typical conversation I end up having


Me: What version of Windows are
you using on your desktop? 

You: Windows 10

Me: What VERSION of Windows 10?

You: Do you mean Pro or Enterprise?

Me: No. What Windows 10 version
number, like a build number?

You: Build number? Who cares?
I’m no  developer. It’s just
Windows 10

Me: Au contraire mon capitan!
There are 4 different Windows 10
versions, 5 as of October 17, 2017.

You: WHAT?

Me: And the first version no longer
receives updates, with the second
version stops in October of 2017

You: Are you #$@% kidding me?

Even though Windows 10 has been available for over 2 years, many people are unaware of the servicing cycle of Windows 10, and it isn’t surprising. We’ve all been used to the Microsoft desktop OS cycle being measured in years. We would roll out Windows XP and thought nothing more about it for 5-10 years until it was time to move to Windows 7, wait 5-10 more years and move to Windows 10.

But with Microsoft turning Windows into a service, we must start measuring the Windows 10 cycle in terms of months and NOT years.  Look at the history of Windows 10.

Windows 10 Version Name Release Date Branch End of Servicing/Support Update Count
1507 Windows 10 July 29, 2015 CBB


May 9, 2017

October 13, 2020


32 and counting

1511 November Update November 12, 2015 CBB October 10, 2017 37 and counting
1607 Anniversary Update August 2, 2016 CBB


TBD (March 2018)

October 12, 2021

20 and counting

20 and counting

1703 Creator’s Update April, 11, 2017 CBB TBD (September 2018) 3 and counting
1709 Fall Creator’s Update October 17, 2017 Semi-Annual TBD (March 2019)
(TBD) 1803 March 2018 Semi-Annual TBD (September 2019)
(TBD) 1809 September 2018 Semi-Annual TBD (March 2020)
(TBD) 1903 March 2019 Semi-Annual TBD (September 2020)

For anyone using the CBB (Current Branch for Business), which is being renamed to Semi-Annual, we are able to skip 2 updates (that’s good) before reaching the end of servicing timeframe where we will no longer receive security fixes (that’s bad). And with each CBB/Semi-Annual release running on a roughly 6 month cadence (that’s good), this requires us to perform a major update every 18 months (that’s bad).

Each release provided significant improvements in the overall user experience.  We received new functionality, plugins for Edge. We had better performing apps, like Edge. We could integrate newer technologies, like IoT.  But each release changed the operating system by including new default apps, services and scheduled tasks; impacting user logon time and overall system resource consumption.

In order to follow best practices, we need to optimize appropriately to achieve the best combination of user experience and resource consumption.  Each time we have a major feature upgrade for Windows 10, we need to repeat our optimization

  1. Optimize default apps
  2. Optimize Windows services
  3. Optimize scheduled tasks
  4. Optimize user interface/runtime

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.15 VDI Handbook
XenApp Best Practices
XenApp Video

XenApp and XenDesktop Component Architecture Poster

Note: For a deployment utilizing Citrix Cloud, use the XenApp and XenDesktop Service Architecture Poster

Focusing on XenApp and XenDesktop for many years, I hear certain questions over and over again:

  • Do you have an conceptual architecture drawing for a XenApp and XenDesktop on-premises deployment?
  • How about a hybrid-cloud deployment?
  • What about the XenApp and XenDesktop Service in Citrix Cloud?
  • What does the logon/app enumeration flow look like?
  • What network ports do I need?

I’ve seen separate diagrams answering these questions, but they are usually buried in an appendix of a very long paper. I thought it would be nice to have a single source for this technical information, which is why I created the XenApp and XenDesktop Component Architecture Poster (PDF File)

Do you like?

And I’m already anticipating your next question: Can we have the source Visio file?

Of course! I just added them to the Citrix Workspace Visio Stencil.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.15 VDI Handbook
XenApp Best Practices
XenApp Video

Citrix Workspace Visio Stencils

The latest Visio stencils for the Citrix Workspace, including XenApp, XenDesktop, NetScaler, XenMobile, XenServer, ShareFile and Citrix Cloud.

Daniel (Follow on Twitter @djfeller)

Change Log

January 5, 2018:

  • Citrix Visio 2013-2016 Stencils
  • Citrix Visio 2003-2010 Stencils
  • Visio:
    • Added logon process diagrams for cloud
    • Added NetScaler Service for Citrix Cloud
    • Added NetScaler Gateway Service for Citrix Cloud
    • Added NetScaler MAS Service for Citrix Cloud
    • Added App Layering Service for Citrix Cloud
    • Added SmartTools Service for Citrix Cloud

October 3, 2017:

  • Visio:
    • Added logon process diagram
    • Added app launch process diagram
    • Added on-premises port diagram
    • Added Citrix Cloud port diagram
    • Updated conceptual diagram for on-premises deployment
    • Updated conceptual diagram for hybrid-cloud deployment
    • Updated conceptual diagram for Citrix Cloud deployment

September 6, 2017

  • PowerPoint:
    • Added PowerPoint template with icons and Citrix Workspace diagrams

August 21, 2017

  • Visio

June 1, 2017

  • Visio
    • 7.14 Release: Added NetScaler MAS, NetScaler SD-WAN, NetScaler Gateway, and two Citrix Cloud services: XenApp & XenDesktop Service and XenMobile Service

February 28, 2017

  • Visio
    • 7.13 Release: Added Antivirus, PVS Accelerator. Updated XenServer, PVS, VM and Physical Server icons

December 7, 2016

  • Visio
    • 7.12 Release: Added Active Directory, Workspace Environment Management, Federated Authentication Service and Machine Catalog

February 23, 2016

  • Visio
    • 7.9 Release: Added Secure Browser, AppDisk, AppDNA and Provisioning Services

January 4, 2016

  • Visio
    • 7.7 Release: Added Personal and Shared Linux desktop, zone, App-V and Cloud Connector

June 24, 2015

  • Visio
    • 7.6 Release: Added Linux virtual desktop, receiver, GPU/vGPU and Driver icons

August 29, 2013

  • Visio
    • 7.5 Release: Updated entire stencil set with new style

January 23, 2013









Sizing XenApp Azure VMs

When we size XenApp virtual machines for an on-premises deployment, we often talk about larger servers and NUMA. But what about sizing XenApp instances if we host in Azure?

Azure has an extensive library of instances, with each instance providing different amounts of CPU, RAM, storage and GPU options. If we run the same scalability test across many of these types of Azure instances, we end up with the following density numbers.


If we simply use these results as our guide, most of us would select the D13v2 instance as it gives us the greatest density. However, with cloud deployments, we need to did a little deeper.

Each Azure instance has a cost per hour. We need to divide this cost by the number of users the instance supports from our scalability testing. This gives us a price per user per hour


Quickly, we see that the A and D series instances cost the most, leading us to look at the Dv2 series as the cheapest option. Within the Dv2 series of instances, the D2v2 has a slight edge over other Dv2 instances. Take a look at D13v2. The price per user per hour is very close to the D2v2 instance, with only a difference of 2 cents per user per hour.

In an on-premises deployment, most of us would go with the larger sized instances (like the D13v2 instance) as this would cost less because we must include the costs of the Windows OS license; but in Azure, the cost of the Windows OS license is included in the instance cost per hour.

In addition, in an on-premises deployment, most of us keep all instances powered on at all times; but in a cloud deployment, we want to power off instances when not in use and power on when needed to help us keep costs low. Let’s see what happens to our costs when we scale up our Azure D2v2 and D13v2 instances with 1,000 users.


During scale-up, every time we power on a new Azure instance, we incur the full cost of the instance, regardless of the number of users. Because the D2v2 instances are smaller, we have more of them (67 in total), but the cost increases with a new instance powering on is smaller than the D13v2 (18 instances). As we continue to scale up to 1,000 users, the difference in costs over 24 hours between the D13v2 and D2v2 becomes greater.

But what about scaling down? In an effort to reduce costs, we want to power off idle instances (instances with no users). This gets even more interesting with XenApp because we cannot move user sessions between instances; we must wait for all users to log off of the instance before we can safely power off the instance. Unfortunately, users who log off are randomly distributed across all instances; preventing us from simply powering off enough to bring our total capacity down to 100 users.

What if in our 1,000 user scenario, most users (900 of them) would log off at 5PM. How many instances could we be able to power off because they are idle?


Because we have so many D2v2 instances to support 1,000 users (67 of them in total), when 900 users randomly log off, we would be able to power off 15 instances, on average because they have no users. But with the D13v2 instances, we only need 18 instances to support 1,000 users. When we randomly log off 900 users, each one of the 18 instances still has active sessions, preventing us from shutting down any instances.

The savings with the smaller D2v2 instances quickly adds up.


Over the course of 1 year, by using the smaller D2v2 instances, our Azure compute costs are over $40,000 lower than the larger D13v2 instances even though D13v2 has almost 4x the scalability of the D2v2.

When planning a cloud XenApp deployment, we must focus on cost and not size.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.15 VDI Handbook
XenApp Best Practices
XenApp Video



Sizing Windows 2016, Windows 2012 and Windows 10 Virtual Machines

It has been almost one year since Windows Server 2016 was released at Microsoft Ignite. Are the virtual machine sizing recommendations for Windows Server 2012R2 applicable to Windows Server 2016? And since we are talking about sizing virtual machines for XenApp and XenDesktop, it might be a good time to revisit Windows 10.

Let’s first look at virtual CPU allocation recommendations: Continue reading Sizing Windows 2016, Windows 2012 and Windows 10 Virtual Machines

Total Solar Eclipse of 2017

I started this blog in 2010, and to date, I believe all 229 blog posts related to virtual desktops, apps and workspaces. However, I’m going to diverge for a single blog because I experienced something truly amazing… The total solar eclipse of 2017.

I’m an amateur astronomer, so any time I can witness a celestial event, I’m going to be watching. Seven years ago, I was already planning on taking a road trip to experience the eclipse (yes, I’ve been waiting that long). But for this event, I dragged my entire family on a 34 hour road trip covering 2200 miles spread over 10 days, through 8 states to experience 2 minutes and 1 second of totality in Nashville, TN.

I had many people, including my family, ask why are we going so far when we could stay home and witness 86% of the sun covered. A total eclipse of the sun is a completely different experience than 86% coverage or even 99% coverage, at least that is what I’ve come to understand from the reading I’ve done. I’ve never had the opportunity to witness a total solar eclipse, so I wasn’t going to waste this opportunity.

We made it a big family summer vacation stopping at

  • Bay Beach Amusement Park in Green Bay, WI
  • Taking a ferry across Lake Michigan
  • Camping in Ludington, MI and Point Beach, WI
  • Sailing on Lake Erie
  • Touring Mammoth Cave in Kentucky
  • Hiking Shawnee National Forest and seeing a fire breathing dragon in Illinois

But this trip was building up to a single event, the August 21st total solar eclipse. When the day arrived, I work up early, full of energy and excitement.  I had to burn off the energy so I went for a slow 3 mile run, and I mean slow because the heat and humidity in Nashville is too much for my Minnesota blood.  Afterwards, we met up with friends at their campsite and got ready for the main event.

11:58: First Contact
Everyone thought first contact was interesting, especially the kids as many have never seen a partial solar eclipse..

12:20: 25%
A little more of the sun is covered. Not super interesting for anyone but me. Adults and kids looked quickly then went back out to the lake.

12:45: 50%
We’re getting more excited as we know we are getting closer to totality. There are clouds on the horizon that are concerning, but nothing we can do about it so we try to ignore them.

1:06: 75%
It got dark, but only because of a cloud temporarily covered the sun. It was funny as people got excited that it was time for totality.

However, at this point as we walked through the forest, the excitement grew as we started to see the eclipse on the ground. The leaves on the trees created hundreds of pinhole projects of the eclipse for all to see.  Everyone thought this was really cool.

1:21: 95%
Something isn’t right at this point. My skin doesn’t feel so hot from the sun. In fact, I don’t feel any significant heat of the sun. And although it is still bright, the brightness doesn’t seem normal. Colors seem more vibrant, probably because the sun isn’t creating the normal harsh glare.

1:27: Totality

Ever experienced something you couldn’t take your eyes of off? This was it. I could not look away. I’ve never seen anything like it. It is hard to describe the experience. You see rays of the sun’s corona emanating from a black hole in the sky. It looks fake because it is so very strange. As I looked closer at the corona, I could make out a red solar flare on the bottom right edge of the sun. Awesome

I’ve read history books that said people thought the world was ending during total solar eclipses. It is easy to understand why after experiencing one.

It immediately got dark, but the darkness of the campsite was spooky and strange. This darkness wasn’t normal. It didn’t look right. I can’t explain it, but it wasn’t a normal darkness.

It got loud. Not from us humans, who were cheering with oohs and ahs, but from the forest animals who were going crazy.

I couldn’t move. I barely blinked. I barely breathed. But my heart was pounding. In fact, my activity tracker shows during totality my heart was beating almost as fast as my morning run.

1:29: Totality Ends

With the eclipse over, everyone was stunned by the experience. The forest was quiet again as the animals went back to their normal habits. And it still took over 30 minutes until we started to feel the heat of the sun again.

Was it worth it:
People say photos of the Grand Canyon can’t truly convey the enormity of the site.  A total solar eclipse takes this to a whole new level because although you can take a trip to the Grand Canyon anytime, a total solar eclipse doesn’t happen very often and it is usually in an inconvenient location. Photos, videos and articles simply don’t do the experience justice. You have to immerse yourself into the experience.

You might think because of my interest in astronomy that I was more excited than most. So, once we made it back to Minnesota, I asked my kids “Was the road trip worth it?” Every one of them said, very enthusiastically, “YES”. I then asked if they are going to join me in Texas for the April 2024 total solar eclipse with totality being twice as long as 2017. They all said “YES”!

I encourage everyone to take the time and experience totality. If you aren’t amazed by the experience, it probably means you’re dead.

Daniel (Follow on Twitter @djfeller)

My virtual desktop journey