Project: To completely re-architect and re-write airport Kiosk application (2009)
The Mission:
To bring kiosk application development back in-house and move from a third-party developed proprietary thick-client to a completely browser based open-source solution.
The Constraints:
Needed a single code base that works under both IATA CUSS (Common-Use Self-Service) i.e. multi-airline shared kiosk platform and Non-CUSS i.e. airline owned kiosk platform.
The Solution:
Redesigned and re-architected Virgin America Kiosk Application from ground up. Used a multi-tier architecture that includes a server side API layer housing the business logic, a Flash layer providing a rich user experience and a Java Applet layer handling all the device interactions with the CUSS or Non-CUSS platform.
The Benefits:
The ROI from this project spans many dimensions.
Bringing development in house means greater control and quicker time to market for custom enhancements.
Using open source technology means zero annual licensing fees.
The open architecture means we are able to utilize low-cost off the market hardware for each Non-CUSS kiosk saving millions of dollars each year.
A browser-based kiosk makes deployment and maintenance extremely simple and efficient. Any future kiosk updates can be done in a central location on the server-side and it will automatically and immediately be available to each individual kiosk station. Unlike a think-client, whereby any new updates need to be done on the kiosk disk image and then pushed out to each station which can be a long and tedious process.
We are greatly reducing the amount of network traffic used by the kiosk stations. The API server layer brokers the checkin calls to the Departure Control System (DCS) and filters the raw data to only what’s needed for the UI.
The new architecture has all the advantages of a thin client, but, it includes a major benefit that thick client enjoys too which is UI performance. For example, with the use of Flash and Applet technology, the UI rendering is all done locally on the client and does not need to communicate back and forth with the server unless of course it needs to make a DCS call.
Less moving parts. For example, with the exception of device driver installation which both thick and thin clients need to deal with, the only prerequisite that thin clients need is a browser.