Jeffrey Seller, producer of Hamilton, said: “We are constantly exploring ways to use innovative technology for more people to experience Hamilton in its many forms. This mobile app is designed to do just that — provide exciting new ways for fans to interact with and gain access to the musical they love.”
To design, develop, and launch the app, Karns and the Hamilton team partnered with Posse. “In designing and building this app, we set out to create a product worthy of this show and brand. Hamilton has an engaged fan base and as a result we focused on features that make fans feel closer and more connected with the show,” said David DeRemer, Partner at Posse. “The result is an application that sets out to define new standards not just for the theatre industry but for any fan-centric business.”
The technology used to build the app includes the following:
I. Serverless Google Cloud / Firebase
The HAMILTON app is built with a serverless architecture that uses Google’s Cloud Functions and Firebase to handle all of the app’s data and back-end processing.
Real-Time Database (RTDB) means a Real-Time Experience
The HAMILTON app maintains a real-time connection to its database. There is no need for pull-to-refresh in the app because, where appropriate and when there is Internet connectivity, the data in the app is synced automatically with the database.
No App Web APIs
The HAMILTON app is unique in that it achieves its user experience with no HTTPS API endpoints outside of the Firebase framework. There is no REST or other web API for app-to-server communication. The HAMILTON app’s unique data communication approach—leveraging the Firebase Real-Time Database—drastically simplified API development. It also bolsters the app’s security, as authentication and security is handled by Firebase and there are no exposed web endpoints to be hacked.
Asynchronous API Pattern
The HAMILTON app (via Cloud Functions) and Firebase leverage an asynchronous API. The app sends a data payload for a request to the serverless back-end, which triggers a Cloud Function that runs asynchronously. Users of the app can do other things during processing. Since the app leverages Firebase’s real-time database, it’s notified of the result in real-time when a function is complete.
Flutter, a cross-platform mobile development framework created by Google, is an emerging solution for developers that want to author code once for deployment to both iOS and Android. Cross-platform solutions drastically reduce the amount of code that needs to be written, tested, and managed.
Since Flutter is still in its early stages, the HAMILTON, Posse, and Flutter teams collaborated closely throughout the process. Posse implemented Flutter and coordinated the collaboration between all three parties. As a result, not only was HAMILTON able to build a brand-driven app experience, the Flutter framework was also significantly improved. Based on the real needs of the HAMILTON app, Posse and Google worked together to add new features to Flutter and identify and fix bugs in the framework.
While a large portion of the HAMILTON app was developed with Flutter, some of the features are native. For instance, the #HamCam camera feature is fully native and custom to each platform (i.e., the iOS camera is a native iOS implementation and the Android camera is a native implementation). The key takeaway here is that with “cross-platform apps,” fully native features can easily co-exist with non-native features.
III. Real-Time CMS
The HAMILTON app has a web-based CMS for creating and managing content in the app, which updates in-app content in real-time. The CMS allows the HAMILTON Teams to deliver the following content:
- Newsfeed sections/Newsfeed posts – The app will be the best place to access important and exclusive content about the show.
- #HamCam overlays- The #HamCam gives fans unique filters, including geo-targeted filters that are only unlocked at certain locations, to create one-of-a-kind HAMILTON photos.
- Sticker Packs/Stickers – The stickers offer a fun way for people to include the ideas, phrases, and artistry of HAMILTON in their everyday conversations.
IV. Replatformed lottery system
The in-app mobile lottery system is designed to make it easier to give the public the chance to see HAMILTON for only $10. HAMILTON partnered with Lucky Seat to manage the ticket lotteries on the web and in the mobile app.
The mobile app has a unique integration leveraging cloud PubSub technologies to connect LuckySeat’s lottery system with the mobile app’s serverless infrastructure. The solution ensures a high-performance mobile experience for the user while significantly reducing the complexity of integrating the two platforms.
Google Cloud Technologies
In addition to Firebase, the application use Cloud PubSub, Cloud Storage, StackDriver Logging and Error Reporting, Firebase Analytics, Firebase Cloud Messaging, as well as other Google technologies.
“We are so excited to launch this new avenue to connect with our community. This is just the jumping off point for more innovative features that we will continue to roll out in the coming year and beyond” says Karns.
The Hamilton application is available for download today at:
- Play Store: https://play.google.com/store/apps/details?id=com.hamilton.app
- Apple App Store: https://itunes.apple.com/us/app/hamilton-the-official-app/id1255231054?ls=1&mt=8