chanpipat - Fotolia

Why now is the time to consider application refactoring

Desktop virtualization on mobile devices often proves frustrating for end users. But with app refactoring, you can deliver mobile-friendly versions of the Windows apps workers need.

Few end-user computing technologies have as much buzz around them today as application refactoring, which uses desktop virtualization software as the back end to provide transformed versions of Windows desktop apps to workers on their mobile devices.  

In three of the conferences I've attended -- Citrix Synergy, BriForum London and BriForum Denver -- people frequently talked about the application refactoring vendors in attendance. I've written about the technology before, but if you're not familiar, app refactoring is about taking a Windows application that was made for a desktop with a keyboard, mouse and large screen, and changing its interface on the fly to work like a native mobile app.

More workers than ever are using their mobile devices to remain productive away from their physical work desktop or laptop. But delivering full virtual desktops on smartphones and tablets often doesn't cut it, because the form factor isn't compatible with the desktop interface.

App refactoring instead lets IT shops use the desktop virtualization resources already in place to deliver refactored Windows apps, or even desktop-oriented websites, to users' mobile devices. Organizations can use desktop virtualization products -- such as Citrix XenApp and XenDesktop, VMware Horizon View or Microsoft Remote Desktop Session Host -- as the back end for app refactoring, which is why I consider the technology 95% desktop virtualization and 5% mobility.

How application refactoring has evolved

I can honestly say that for 16 years, I've been looking for application refactoring technology to mature. I know what you're thinking: The iPhone didn't come out until 2007. But long before the iPhone, there were PalmPilots, Handsprings and a number of other things we called personal digital assistants (PDAs).

Around the same time (1999 to 2000), Citrix announced a project, called Vertigo, which it created to design applications that would adapt their interface to whichever operating system workers were using. The product never took off, because in 2000, the connectivity options for PDAs were very limited. With limited connectivity and underpowered devices compared to what we were doing with Windows, Vertigo never gained its footing.

On one hand, things are very different today. We have all the bandwidth we want, with cheap data plans and extremely capable mobile phones. On the other hand, we're still using Windows apps. Heck, we might still be using the same Windows apps. It's for this reason that I think application refactoring gets all the attention that it does.

Vendors such as StarMobile, Reddo Mobility, PowWow and Capriza can put together gee-whiz demos. In some cases, they're converting desktop-oriented websites to a more mobile-friendly interface. And in others, they're using the same remote desktop protocols we rely on for desktop virtualization or HTML to redesign graphical elements and lay them out in a way that makes sense on a phone or tablet.

For example, PowWow extracts the information it needs to draw the app remotely from Microsoft's Remote Desktop Protocol, and StarMobile uses a Windows 2008 Remote Desktop Session Host server to transform the Windows apps running on it into a mobile interface. Reddo Mobility installs onto virtual desktops -- or physical, but its primary use case is VDI -- to get information about the Windows application.

Why to adopt application refactoring

Regardless of how these vendors do it, we finally have the right combination of technology and timing to allow us to deliver Windows apps to mobile devices in a way that appears native. For many organizations, it's a much better alternative to delivering full virtual desktops to mobile devices that weren't meant to display Windows apps.

Plus, we're at a time where we're trying to embrace mobility while also trying to plan our Windows application strategy. Many companies are stymied by the choice of which platform to develop applications for -- Windows, iOS, Android, HTML5 -- and they choose to do nothing. Providing refactored legacy apps on workers' mobile devices can help bridge the gap and give you time to plan your next step.

Some users want to do very specific things, and they want to do it easily, so they've turned to app refactoring to help them out.

Refactoring can also lend a hand in situations where the mobile version of an app isn't sufficient. I often hear from app refactoring companies about the success they've had with transforming the Salesforce desktop-oriented website for mobile, even though there is already a mobile app. Here, we have a situation where the mobile app, although perfectly functional, was designed with a one-size-fits-all mentality. Some users want to do very specific things and they want to do it easily, so organizations have turned to app refactoring to help them out.

Take stock of the applications that your users struggle to use on mobile devices, as well as the apps they wish they could use on mobile devices at all. Using your existing desktop virtualization environment combined with app refactoring could provide the mobile user experience you've been looking for.

Next Steps

App refactoring helps legacy apps go mobile

How refactoring keeps Windows apps relevant

Choosing between app virtualization and refactoring

Dig Deeper on Application virtualization and streaming