Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Application refactoring keeps Windows legacy apps relevant

Even in the mobile era, Windows legacy apps are still critical to business needs. Application refactoring can extend their relevancy.

Application refactoring can help companies extend the lives of outdated applications that are still essential to business operations.

Countless Windows legacy apps were written years, even decades, before mobile platforms like Apple iOS and Android came about, and so it follows that older business apps were not designed for mobile compatibility. Often, the original vendors have either gone out of business or been acquired by another company, which leaves IT to wade through the muck.

IT pros should familiarize themselves with the concept of application refactoring, the process of taking a Windows desktop application and making it more mobile-friendly. This may sound akin to refurbishing a decade-old laptop, but app refactoring is starting to show signs of real promise.

Consider all the actions that are second nature to a mouse user but don't translate well to a mobile device with a touchscreen. On a desktop, users think nothing of clicking File or Edit on a menu, then navigating through another two or three layers underneath to find their chosen task. Display size is another recurrent challenge for legacy apps on mobile devices. A Win32 app written for a 23-inch, 1,600 pixel screen isn't easy to read or use on a device that fits in the palm of your hand -- at least not without ungainly pinching and zooming. 

App refactoring vendors

Refactoring addresses these problems, using virtualization and adding code to modify the user interface (UI) of Windows legacy apps and make them more suitable for touchscreen devices. Let's take a deeper look at few of the prominent app refactoring vendors:

PowWow takes advantage of Microsoft's Remote Desktop Protocol (RDP) to modify and deliver legacy Windows and Web apps to iOS devices. It dissects the RDP stream and makes changes to specific UI components. With PowWow, admins can resize buttons to make them easier to press, replace scrollbars with touch-and-drag capabilities and add pop-up buttons in place of drop-down menus. None of this requires writing new application code or knowing the vagaries of an application program interface.

Reddo reflects the presentation layer of a legacy Windows app (Web apps aren't supported) to an HTML5 Web application, then optimizes it for mobile. Its side-by-side design screen lets IT pros with no development experience choose specific tasks and features from the Windows app (items like navigation controls, text and colors) to mobilize. The resulting application code is delivered via the Reddo Application Server to any endpoint device with an HTML5 browser. Reddo can also deploy the application as a hybrid of local and HTML5 applications with no browser.

Capriza lets organizations add mobile-specific features, such as camera access and location services, to their legacy apps. IT can deploy these modified applications, called Zapps, directly as an HTML5 Web app to any compatible browser. Capriza has specific support for SAP, Oracle and PeopleSoft applications as well as Microsoft SharePoint.

Framehawk was one of the early app refactoring pioneers. Citrix acquired the company in early 2014 and plans to incorporate Framehawk into its core HDX protocol used by XenApp and XenDesktop. Framehawk is unique in that it uses its own optimized mobile protocol, called Lightweight Framebuffer Protocol (LFP). LFP allows for the refactoring of traditional desktop apps, much like PowWow and Reddo, but it also optimizes their use over the unpredictable latency and performance that is common on the kinds of networks mobile devices use routinely.

Dig Deeper on Application modernization and mobile app delivery

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Is app refactoring the best way to mobilize Windows legacy apps?
It's an intriguing idea, and for Web apps especially. It would be interesting to see what could be done to get a number of  legacy applications to run on mobile platforms, a well as giving them more modern interfaces for the original platforms.
Yes this is an interesting idea.  I think the answer is going to very based on the application.  Few mobile devices have any where naer the RAM capacity of the modern desktops, so because of this, some applications that have been 'tweaked' up over the years, might have to be 'slimmed' down in order to be mobilized. 

It is certainly possible to take bits of a legacy system, refactor the key components so that they can be used by a mobile as well as a desktop or web browser UI, and while not all features may work nicely on mobile, you still may be able to provide big value to your customers in refactoring bit by bit so that multiple platforms can be supported across mobile, and even future wearable devices.
In my experience, it’s better to stay away from mobilizing legacy apps. There’s a good article on it here on ITKE. A better way to make the applications accessible to mobile devices might be to first focus on switching to web-based applications, that are mobile friendly or optimized for mobile, and then move towards a responsive design that is device agnostic.
Coming back to this one... I think a lot of this depends on the actual workflows that mobile users are likely to do. As I look at a variety of the desktop apps that I still actively utilize, most of them would be really hard to do the same things, or interact with in the same manner on a mobile device. In most cases, I don't really need to do a lot of editing or content creation with mobile apps (or at least that is far from my prime use). Most of what I do is look up and verification, rather than physically creating content or work, unless it's very small or very quick to produce/process.
As I mentioned in another thread, many old desktop client-server apps had parts of the business logic on the client side. At the same time, web and mobile apps typically have client focused on UI and process business rules on the server. So I'm skeptical about any automatic conversion.
This "refactoring" indeed might be a good idea considering crazy complexity of the back-end of legacy apps. Plus, those who originally developed them are most likely gone, so rewrite requires reverse engineering. However, many old days desktop apps had parts of business logic on the client side. Not sure how HTML refactoring could handle that.