Santa Tracker, open-sourced and delivered
Posted by Sam Thorogood,
Developer Programs Engineer
Santa Tracker is a holiday tradition here at Google. Every year, you can
celebrate the season with games, holiday experiences and educational content
throughout December: not to mention watching Santa deliver presents on 24th.
Today, we're continuing the season of giving by delivering the updated
open-source versions of both the Web and Android versions that ran in December
2016. These are large, real-world apps that show off the latest and greatest
from Google—using APIs and frameworks like Firebase and Polymer.
This year, Santa's elves added even more engaging, fun and educational
experiences to Santa Tracker: all while making Santa and his reindeer leaner
than ever before—across both Web and Android.
On the Web, we built a reliable, offline-capable PWA-ified version of Santa
Tracker that saved bandwidth and worked in environments with poor connectivity.
For Android, we worked hard to save every precious byte by closely examining our
visual assets and other libraries.
To get started, you can check out the code on GitHub at
google/santa-tracker-web
and
google/santa-tracker-android.
Both Web and Android versions include detailed build instructions.
On the Web
If you'd like to read about how the elves build Santa Tracker as an offline
Progressive Web App, check out our
Case Study on
Google Developers. To download the source,
head over to GitHub. Here
are some highlights of the release-
- Santa is a Progressive Web App, sporting a responsive design for mobile,
desktop and tablet, supporting Add to Home Screen and offline.
- Rather than saving the entire site offline (about 100mb, including
resources needed for different browsers), Santa's Service
Worker only saves the scenes you've visited at least once—icing over houses
that aren't available offline.
- Santa Tracker used Polymer 1.7+, packing code into reusable components.
Every house
in Santa's Village is a custom element, only loaded when needed, minimizing the
startup cost of Santa Tracker.
- The Web Share API allowed users on mobile to quickly and natively showcase
their creativity—it's a modern API for interfacing with a platform's native
share intent, replacing the sea of share buttons normally presented to users.
- Santa sported a new and improved Chromecast experience that scaled well
across all Cast devices—from the original Chromecast device through to the
high-end Chromecast Ultra and supported TVs.
- Users were delighted by showing some great video content from around
Santa's Village, especially during Santa's long travel legs.
- The Android client also used this Chromecast experience, so Android users
joined the fun watching Santa deliver presents on the 24th on their big screen
TVs.
On Android
In 2016, Santa went on a diet, and reduced his APK download size by over
10mb—while adding four new games and a visual refresh. To learn more about our
work, check out
the
in-depth analysis on Android Developers—or to try it yourself,
head over to GitHub.
Here are some highlights of this year's app-
- Present Quest, a new AR game where players are encouraged to explore their
real-world environment to collect presents and level up!
- Santa is smaller and faster than ever before. The download size is down 10mb
from the previous release, despite including multiple new games, Santa works
better on memory-constrained devices, and various sources of jank have been
found and removed.
- The app is built using split APKs - one per architecture (armv5, armv7, and
x86), reducing download size. Each APK supports phones, tablets, Android TVs and
provide custom watch faces on Android Wear.
Ho Ho Ho!
We hope you enjoy exploring Santa Tracker and its source code, and it inspires
you to leverage the same approaches to make your own magical experiences!