At its European Synergy conference in Barcelona last month Citrix announced a major update to the Citrix Labs skunk works project that was previously known as Project GoldenGate. Golden Gate was a technology demonstrator that was designed to show how to a common off the shelf application, in this case Microsoft Outlook, could be reworked as a mobile application. Why is this important? Well, even accepting the phenomenal success that Apple has achieved with the iPad, tablet sales pale into insignificance compared to smart phones and the 3 1/2″ – 4″ screens of smart phones are less than ideal for applications designed with the understanding that they would be accessed from much larger screens. This isn’t criticism of smart phones nor is it a criticism of virtual desktop clients like Wyse PocketCloud or the Citrix Receiver, just the simple truth that smart phones are too small to use with typical Windows applications.
Citrix took the perspective that the critical skill in developing applications is not in designing the user interface, but the application logic behind it. By offering a a means of retaining the core application logic while providing a new user interface designed specifically for mobile applications, Citrix hoped to encourage use of XenApp as a means of extending existing applications to mobile platforms without discarding past investment in developing core application logic, thus avoiding the costly and time consuming process of retraining staff on new mobile application development environments, and just possibly selling a few more XenApp licenses at the same time.
As a proof of concept, Project GoldenGate fulfilled its objectives with many customers interested in the major application development advantages as well as the security benefits of having a mobile application that did not allow data to be retained on the mobile end point. However, for the idea to have any meaningful hope of adoption, it required further development.
With the announcement at Synergy of the XenApp 6.5 Mobile Application SDK Tech Preview Citrix is taking a big step down this road.
The XenApp 6.5 Mobile Application SDK provides a tool kit for developers to write touch-friendly, mobilized applications that are hosted on Citrix XenApp and delivered to any device with Citrix Receiver. The SDK is not just a way to shrink existing applications on to a 4″ screen. It also provides a rich set of mobile device functionality including GPS, sensors, cameras, and soft keyboards in the same way that locally executing, native applications do. This will allow enterprise developers to create new mobile-ready applications that can be hosted on XenApp. Keeping sensitive corporate data secure in the data center rather than running the risk of storing it on an easily lost or stolen mobile device.
The XenApp 6.5 Mobile Application SDK has over 50 APIs available along with a number of programming language bindings supported out of the box. These API’s allow developers to produce specific mobile-friendly UI’s for new and existing enterprise applications that match the capabilities of smartphone and tablet devices.
The Mobile Application SDK Tech Preview includes the following components.
- XenApp 6.5 Mobility Pack, which installs on XenApp 6.5 to enable new mobility features
- Development framework – C / C++ /.NET, COM, which installs on the developer workstations
- Code Examples, Documentation, Developer Forum , and a Support Wiki
and can be downloaded here:
The Mobile Application SDK provides support for the following mobile-centric capabilities:
Orientation – Mobile devices do not as a rule have a fixed orientation and can be rotated in any direction.. it follows that users expect that the application will automatically adjust its position, size and screen layout according to feedback provided by the device.
Display – Mobile device displays are frequently more advanced than PC displays with a higher pixel density, and do not always follow standard screen display formats. With the SDK, display metrics are retrieved from the device and change notification events are made available to the application, making it aware of the device resolution and pixel density. Using this information the application can ensure that text is easy to read, buttons and widgets are big enough to touch, and UI Layouts can be re-arranged to fit the screen properly.
Keyboard – Mobile devices often do not have physical keyboards and rely on an on-screen keyboard (OSK), which is hidden until required. Most current Windows applications assume a physical keyboard is available, but when delivered via XenApp to a mobile device, something needs to trigger the OSK to appear and disappear at the appropriate time.
Buttons – The iPhone and iPad have one button to control the application, while an Android device can have four or more. A touch friendly application will want to know if specific hardware buttons are available and react to them if pressed.
Phone calls, text messages, and camera functions– Many mobile device features could be better integrated with applications running on XenApp. With the SDK API, it is possible to build functionality into a mobilized application that allows it to:
- Make phone calls based on contacts list on a server
- Send SMS from content on a server
- Capture pictures from remote locations and store in data center
- Integrate email, phone, SMS, and photos in one suite
Location Services – Many mobile devices provide the ability for applications to retrieve the location of the device through a GPS and orientation through a compass. The XenApp 6.5 Mobility Pack provides the ability for Windows applications to utilize the location information of the device when running via the Citrix receiver.
Citrix is not the only vendor offering the capability to integrate both enterprise application logic with mobile form factor devices. Silicon Valley start-up Bitzer Mobile (amongst others) offers it’s own solution that allows existing enterprise web applications to be refactored and secured for use on mobile devices. However it dos have the advantage of being a mature systems vendor with a solid track record of meeting the needs of enterprise customers.
Where I see the mobility pack being of great use is in the GPS capability.
Typically, Citrix (and Microsoft) talk of users in distinct categories – knowledge workers, task workers, home workers etc.
I think that model works – but should be evolved to consider the context in which the user is working. Where are they, what might it be that they are doing? When they are in that location should they have access to all the data, some of the data, none of the data?
A GPS capability could offer the likes of AppSense, RES Software, Scense et al to allow you to customise functions and applications appropriate to the context that the user is accessing the application in.