Time waits for no application. Applications adapt or become extinct. Some hang on that much closer to death than life. Somewhere in the wild, old mainframe programs crank over as they have for forty or more years. This is not the life of the new vibrant applications. They burn so bright but only live until the next major platform release is available. Not adjusting to the latest features means slowly fading away.
The general rule is the faster something rises, the faster it falls as well. Software is not immune to this idea. There is no such thing as perfect code since all things age and become obsolete. Progress means that it must be rethought constantly and the quicker the better.
The current wave of mobile devices has challenged the existing thinking considerably. Experts thought that mobile devices would be limited and that people would not want to use them as a primary computing device. Consumers do not care about such opinions. The shift in buying has proven that people want mobile devices for many different reasons and in some ways have found freedom from needing to be at a PC to do it.
But for every new thing, an old thing still exists and this old thing has yet to be invested in to be new. These old things are still valuable but find trouble in supporting the new world. New ways of thinking have effectively restricted what is possible with the old ways. The risk of progress is leaving valuable technology and applications behind. This happens all the time at different stages of history. Each new wave replaces the previous structure.
However, there is a transition time that is awkward. There needs to be decisions about what is going to be converted and what is going to be discarded. Applications have long had trouble moving from one wave to the next. In some cases, they are stuck on the platforms they were designed for.
Windows applications which are being used for business now find themselves a bit stuck. On Windows, they are valued for the running of the company. Outside of where they live, they have limited use. Sure, Windows 8 expands the field, but only to phones and tablets running Windows 8. At this point, adoption of Windows Phone and Surface is still in its early stages.
Beyond this, there are several other problems with gaining popularity. Windows Surface RT is ARM-based and does not support legacy Windows programs. Also, older Windows programs have to be redesigned to take advantage of Windows 8 features including being included on the new touch interface. Most enterprise developers would need to re-educate themselves to be able to make a true Windows 8 application.
It is an uphill battle all the way around. The well entrenched Apple iPad and Android-based tablets are going to be hard to replace.
So, what are the options?
The most obvious solution is to invest in remaking the applications needed. The most common strategies I have heard about are:
- Building native applications on each different platform (iOS and Android)
- Build a hybrid application (native and web in one app)
These are all good strategies. However, it can be costly and a lengthy process to move to something so new. Also, each strategy has weaknesses that must be faced before even thinking about providing content to users.
Given that we have been working on another concept, there is another alternative solution.
- Keep your Windows application code and extend it to support mobile devices
For existing XenApp/XenDesktop customers, this makes it possible to use the legacy Windows applications in a new mobile world. This is not just about making things smaller or bigger, it is about making the Windows application smarter about mobile devices. As part of this, it can use mobile features (phone, SMS, picture, location) and it can also know exact display details in order to re-align its controls. It is a far easier path to getting Windows applications in the hands of mobile users. The weaknesses of Windows on mobile devices is greatly reduced while also providing benefit to the IT organization using XenApp/XenDesktop.
To learn more about the SDK and related concepts, please examine http://community.citrix.com/display/xd/Mobile+SDK+for+Windows+Apps
The goal with the SDK is to reduce the awkwardness of applications transitioning between Windows and mobile platforms. The impact is much lighter than moving to an entirely new platform. Consider this as an evolutionary bridge in a fast moving application world.