The Desktop Application Paradox

Posted: December 9, 2010 in Application Virtualisation, Virtualisation

[This is a guest post from my colleague Alan Moore.  Alan investigates the paradox of desktop applications and platform stability.]

Since the arrival of the personal computing there has always been a desire to deliver ever more complex applications to users. This history has, over time, revealed a paradox that is still in the throes of being solved.

This paradox has been forced on us by the three facets that govern application development:

Sophisticated Development Tools – The higher the number of tools available to developers the more they can deliver solutions that can “do anything”.

Flexible Environment – The ability to layer on multiple applications gives the platform an ability to do an infinite number of tasks and frees organisations from the worry of platform selection.

Stable Platform – In order to deliver a good user experience and a highly available solution the stability of the platform, and the applications that run on it, is crucial.

The paradox is that only two of these criteria can ever be solved at any one time. This can be demonstrated by a review of the three companies shown in the diagram.

Microsoft Windows (Sophisticated and Flexible but not Stable)

The flexibility of the Windows platform is its greatest strength.  Unfortunately this has been achieved by the delivery of a vast array of development tools all of which allow applications to have an ability to directly control both the OS and hardware.  Developers are under no obligation to ensure their applications co-exist and once purchased the problem becomes the responsibility of the application owner not the supplier of the software or the OS.

Managed Desktops

The way to solve this problem in the corporate world is to impose a managed- “locked down” – application environment.  Any new applications that arrive are passed through a rigid and complex set of tests to ensure applications co-exist.  The upshot of this testing is that applications are changed, restricted or even removed.  Already we are seeing the reduction in flexibility in order to guarantee stability.

This rigidity has lead to an enormous amount of inertia being imposed on corporate desktop environments.  Organisations are faced with delivering an ever increasing numbers of applications.  Along with the requisite testing requirements this imposes huge costs for company-wide OS platform upgrades. This has become the primary reason why large corporations are reticent to embark on such projects.

Citrix Application Server (Sophisticated and Stable but not Flexible)

Initially it was hoped that Windows’ stability could be achieved by the use of Citrix. This server platform had a rigid set of guidelines that were imposed to try and protect the OS from corruption.  However there were some issues:

  • Complex application integration processes were still required.
  • Applications are still installed on all servers in the farm increasing administrative overheads and roll-out costs.
  • Users were forced to use a less friendly server operating system as their desktop OS.
  • Integrating distributed laptops and printing was always difficult.
  • Application co-existence was never fully solved at the expense of server sprawl.
  • Platform upgrades are still not cheap or simple.

Apple iPhone, iOS and the AppStore (Stable and Flexible but not Sophisticated)

With the dual benefits of hindsight and full control of both hardware and operating systems Apple has solved the problem of application integration by rigidly defining the rules for software development.  This has been the basis of the phenomenal success of the AppStore and the iPhone and iPad systems.  Word is that the next platform for inclusion will be their desktop and laptop OS’s.

This radical approach has led to a platform that is both flexible and stable but it is at the cost of reducing the tool-sets available to developers.  There is also a reliance on Apple continuing to do the right thing.

This is a similar model to the one adopted by Google with the Android platform.  They have less control over hardware and application efficacy but the open source basis to the platform ensures a more open attitude to development.  With plans to move to tablets and laptops Google has the size and influence to take on the dominance of Microsoft – watch this space.

Application Virtualisation – a new alternative?

Organisations that have been blessed with a long history of deploying Windows applications are looking for ways to simplify their desktop environments. Application Virtualisation is one way of achieving this. An agent is run on each desktop that isolates the applications and ensures that all communication with the OS is through a known and stable method thus dispensing with application contention.

There are still some issues:

  • Applications still have to go through an integration process, although far less complex.
  • Applications are still required to be distributed to all desktops and laptops. They can be run from a central file server if the network can support this method of repeated software delivery.
  • The applications are still “locked” to the underlying OS but OS migration costs should be reduced dramatically.

Application Streaming – Removing the applications from the desktop

Once application virtualisation has been deployed to a client the next step is to centralise the delivery of the applications to the clients. New applications are configured and then added to the central library. If required by users they are then streamed and cached on the user’s PC for daily use.

This technology reduces the complexity of application distribution and currency. It could also assist in a simpler license rationalisation processes including the ability to do real-time license monitoring.

Application Streaming and Citrix

The use of application streaming in a Citrix environment means that the servers do not have to have applications installed on them. This can reduce the number of servers in a farm. Upgrades and migrations could also be much simpler.


Although desktop applications can deliver quick and flexible solutions their use has, over many years, left organisations with large and complex administrative headaches. This stifles their ability to move with ever-changing technology.

In retrospect the promised move to web-based applications was correct however this is now being leapfrogged by “cloud” based applications all of which are, by definition, desktop independent.

For organisations struggling to manage their legacy application portfolios virtualisation and streaming are potential ways of reducing the headache.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s