GRACELAND
Interactive Location Based Guide
HOME
ROLETechnical Lead / Sole Engineer / UX Designer
DATE
October 2020 (native iOS rewrite)
Summer 2014 launch
+ ongoing maintenance/support
Summer 2014 launch
+ ongoing maintenance/support
STACKAdobe AIR (Flash), Swift (native iOS rewrite), PHP, MySQL, Apache, Bluetooth LE (iBeacons)
Executive Summary
Graceland’s original visitor tour experience relied on legacy handheld audio devices that used physical “code punching” to trigger location-specific narration. The client wanted to modernize the experience into a premium, interactive iPad-based tour that could deliver audio narration while also unlocking richer content: video, photo galleries, trivia, fun facts, and interactive exploration.
I designed and built the complete software ecosystem powering the new tour platform, including:
I designed and built the complete software ecosystem powering the new tour platform, including:
- the visitor-facing iPad application
- the backend database + CMS infrastructure
- a Bluetooth LE beacon system to deliver location-based progression
- an offline-first media delivery model to avoid network dependency
Project Context
Graceland is one of the most recognizable tourist attractions in the United States. The tour experience needed to feel polished, intuitive, and reliable under heavy daily foot traffic, high device turnover, and constant staff operation.
The goal was not just to “replace the audio device,” but to create a tour system that made the visitor feel like they were carrying a curated digital companion—one that knew where they were and offered deeper storytelling than the physical tour alone could provide.
The goal was not just to “replace the audio device,” but to create a tour system that made the visitor feel like they were carrying a curated digital companion—one that knew where they were and offered deeper storytelling than the physical tour alone could provide.
System Goals / Design Requirements
Visitor Experience Requirements
- Replace audio-only tour playback with an interactive touchscreen guide
- Support video, image galleries, trivia, and optional supplemental content
- Provide room-based storytelling with seamless progression
- Offer content that reveals details not accessible in the physical tour (off-limits areas, close-up artifacts, hidden stories)
- Support extremely large device fleets (initially ~900 iPads)
- Ensure fast reset and turnaround between visitor sessions
- Avoid reliance on Wi-Fi during runtime (offline playback)
- Support multiple languages and voiceover tracks
- Provide long-term maintainability beyond the initial launch window
Core Experience Design
A key enhancement was the use of professional panoramic / spherical photography captured in each tour location. These panoramas allowed visitors to explore a room visually and tap into “hotspots” tied to real objects, stories, and artifacts.
This created a hybrid experience:
This created a hybrid experience:
- Passive: audio narration guides visitors through the physical tour
- Active: interactive hotspots reveal optional depth (video clips, facts, trivia, archival imagery)
Architectural Overview
Visitor Devices (iPads)
The iPads ran a custom application that included:
Bluetooth LE beacons were installed throughout the tour route to:
A custom backend system supported:
The iPads ran a custom application that included:
- full offline content download (audio/video/images packaged locally)
- UI for room navigation and interactive exploration
- language selection and voiceover switching
- beacon-driven location detection
Bluetooth LE beacons were installed throughout the tour route to:
- suggest the next room/location
- unlock content relevant to nearby areas
- guide progression without forcing automatic jumps
- trigger reset logic when devices returned to storage zones
A custom backend system supported:
- content updates and structured tour data
- multi-language content management
- media hosting and packaging
- administrative tools for maintaining the experience
Key Engineering Challenges Solved
1. Replacing an Unrealistic Detection Plan With a Practical System
Early planning assumed RFID detection could be used to reliably determine visitor location. In practice, this would have required extensive hardware infrastructure (antennas, coverage zones, visibility concerns) and would have been expensive and disruptive—especially for a historic environment like Graceland.
I researched alternatives and identified Bluetooth LE beacons as the best balance of:
- cost
- installation footprint
- maintainability
- accuracy for “soft” location hints
2. Beacon-Driven UX That Avoided Unreliable Auto-Progression
Bluetooth signals fluctuate heavily depending on:
- body density and crowd movement
- walls and room geometry
- indoor vs outdoor transmission behavior
- beacon detection triggers a hint or prompt for the next location
- visitors can complete their current audio segment without interruption
- the system still feels “aware” without being overly aggressive
3. On-Site Beacon Configuration and Signal Tuning Tools
To support real-world deployment, I built an internal configuration utility that allowed staff to tune beacon sensitivity and thresholds per location.
This was critical because outdoor beacons behaved differently than indoor ones, and signal strength needed to be tuned to avoid early detection or missed transitions.
This tool helped stabilize the experience in the field without requiring engineering intervention for every adjustment.
4. Offline-First Content Delivery at Large Scale
Because Graceland could not depend on stable Wi-Fi for hundreds of devices simultaneously, the app was designed to download and store all required content locally.
This ensured:
- consistent playback performance
- stable video rendering
- zero runtime dependency on network conditions
5. Long-Term Maintainability + Flash/AIR → Native Swift Rewrite
The original application was built in Adobe AIR / Flash, which became increasingly difficult to maintain due to platform support decay and reliance on third-party extensions.
Rather than allowing the system to become obsolete, I took ownership of a full technical transition and rewrote the application in native Swift, preserving functionality while ensuring the app could continue operating in Apple’s evolving provisioning and deployment ecosystem.
The native rewrite was introduced seamlessly into circulation with minimal operational disruption.
Long-Term Support Reality
Unlike many exhibit installations that end after launch, this system required ongoing upkeep:
- device provisioning renewal cycles
- iOS compatibility changes
- IT turnover on the client side
- content update workflows and installation support
Outcome
The final result was a modern interactive tour platform that transformed Graceland’s visitor experience:
- replaced legacy audio-only hardware with a premium iPad guide
- supported large-scale deployment (~900 devices)
- delivered rich multimedia storytelling and interactive exploration
- enabled location-based content via iBeacons
- achieved offline reliability for high-volume daily operation
- successfully migrated from Flash/AIR to native Swift for long-term viability
Skills Demonstrated
- iOS application development (AIR + native Swift)
- large-scale device fleet deployment design
- offline-first content architecture
- Bluetooth LE beacon integration and signal tuning strategy
- backend + CMS development (PHP/MySQL)
- interactive UX design for high-volume visitor experiences
- long-term operational support planning (provisioning, platform upgrades)
- end-to-end technical ownership from prototype to deployment
Tech Stack Summary
Frontend / App: Adobe AIR (Flash), Swift (native iOS)
Beacon Layer: Bluetooth LE / iBeacons
Backend / CMS: PHP, MySQL, Apache
Media: offline packaged audio/video/images
Deployment Scale: ~900 devices at peak
Beacon Layer: Bluetooth LE / iBeacons
Backend / CMS: PHP, MySQL, Apache
Media: offline packaged audio/video/images
Deployment Scale: ~900 devices at peak