One of the most magical experiences at Walt Disney World Resort is the seamless arrival process made possible by Disney's Magical Express. This service provides complimentary motorcoach transportation from Orlando International Airport to select resort hotels, complete with luggage delivery. But when a hardware support issue threatened to shut down this vital operation, our team was called upon to find a solution.
To understand the importance of this service, let's dive into how it works. Before your trip, you'll receive bar-coded luggage tags in the mail. Simply attach these tags to your bags and check them as usual at the airport. Upon arrival, instead of retrieving your luggage at baggage claim, head straight to Disney's Magical Express Welcome Center, where you'll board a luxury motorcoach for a comfortable ride to your resort. Your luggage will be delivered to your room shortly after.
The Magic Behind the Magic
Have you ever wondered how Disney keeps track of your luggage and ensures timely delivery? It's a complex task that relies heavily on technology. When flights land at Orlando International, bags bearing the Disney luggage tags are removed from the plane and sent to a remote sorting facility. From there, they're sorted into groups based on their destinations and then delivered to the appropriate resort hotels.
At each step of this process, the barcode on your luggage tag is scanned and entered into a database, allowing Disney to track the exact location of your bags at all times. This barcode contains no private information – simply a unique identifier that correlates with your reservation, enabling resort cast members to deliver your bag to the correct room.
A Looming Hardware Failure
On a sweltering summer day, our team received an urgent email. Due to pending hardware support issues, Disney's Magical Express was at risk of shutting down. We were tasked with finding a solution before the WiFi upgrade occurred, which would render the existing handheld scanners obsolete.
The Challenge: Android or iOS?
Our first question was what type of hardware Disney had in mind for replacement. They considered three options: an Android device designed for warehouse environments, an iPhone, or possibly an iPod Touch. While iPhones were already used at some resorts, managers in the sorting facility worried that they wouldn't be resilient enough for their operation.
We faced a dilemma: supporting both Android and iOS would likely double development costs, time, or both. Not surprisingly, Disney was not thrilled by this news. The timeline was fixed – the devices would stop working once the WiFi upgrade occurred, and nothing could delay it. Our choice boiled down to forcing Disney to choose a single platform or building two separate applications.
A Hybrid Solution
Some team members suggested we build a mobile-friendly website using HTML5 and camera capabilities. However, this proved not to be as simple as it seemed. We'd need to develop and deploy a web application that could extract data from a barcode image, which was no trivial task. The business would also not use the device's camera – instead, relying on custom hardware barcode scanners.
We were forced to rethink our approach.
Ionic Framework to the Rescue
I had recently experienced success building a small hybrid mobile app using the Ionic Framework. With Ionic, we could develop with standard web skills: HTML, CSS, and JavaScript. The framework also supported Angular, which we had plenty of developers on our team.
Ionic handles the heavy lifting of interacting with hardware and provides a host for web application code to run directly on the device – intelligently choosing the appropriate method based on the device. The only stumbling block would be supporting the custom barcode scanner.
A Cordova Plugin to the Rescue
I reached out to our technical support contact at the scanner manufacturer, asking if they'd ever heard of Ionic. They replied that while they hadn't, they did have a plugin for their scanners – and it was compatible with Cordova, which Ionic used as its hardware compatibility layer.
This welcome news allowed us to use Ionic's hybrid approach to build our solution, leveraging the strengths of both web development and native mobile app capabilities.