Classic Spaceship Earth for Pebble
Introduction
This was my first real programming project. Up to this point, I'd really only followed tutorials to the letter, teaching myself Java in a vain attempt at learning how to create my own Minecraft mods, of all things (such are the priorities of middle-schoolers).
This project also marked the beginning of my obsession for Pebble Smartwatches. My mom had passed hers (a black first-generation Pebble) down onto me, after no longer wanting it. She only took the most basic advantage of the device, but that's all that she had use for. It was clunky, monochrome, and kinda geeky. But that was perfect for me.
I quickly began enjoying the use of my pebble, and brought along everywhere - but espeically to all my Disney Parks trips. I was always hopping between different watchfaces, attempting to find one that I felt matched the plans for any given day. The appstore was lacking in Disney Parks watchfaces in particular, so I decided to make one.
Inspiration
As my first watchface, I didn't want it to be too complicated. However, that didn't prevent me from attempting to make something a little fancy. The descent on Spaceship Earth ended up being just the right mix of fancy and simple - a single texture, looping around, with some basic geodesic triangles.
Development
I'm primarily a windows user - it's what I've been raised with, and what I was taught on. So, Pebble app and watchface development, which was centered around a Unix environment, was a bit prohibitive for me. Especially as someone who had never worked with linux before, I couldn't just set up some system to run this development on. Luckily, someone else already had.
A cloud service called "CloudPebble," created by Katherine Berry (a feat which earned her a job at Pebble), took care of that challenge for the community. With a built-in code editor, emulator, and even some very nice pebble-specific tools, you could perform the entire development process of a pebble app right in your web browser.
Pebble development is done using a slightly modified C - a language I had never used before. Thankfully for me, Pebble was well-prepared for this, with lots of documentation and guides on how to work with the language. Over a few afternoons, I had the watchface rendering, the time, date, and battery level well-displayed, and the animation... static.
Turns out scrolling an image can be a bit more complicated than I thought.
I ended up (if I remember correctly) using an image that was twice as large as it needed to be, and scrolling with the precise angle and slope I needed. It was finnicky, hacky, and worked perfectly.
It was also the first project I had uploaded to github - the source can be found here
Afterword
I released SpaceshipEarth onto the pebble appstore with little advertising - there was no need to - and garnered a modest 22 "faves" on the pebble appstore. Not much, but not bad for my first little project. It's still one of the few DisneyParks watchfaces on the Pebble appstore, and one of the more popular ones, too.
I did state all over that I was planning on making four different watchfaces like this - one for each park at WDW.
I most certainly did not.
This is thanks to my art skill, or, lack thereof. I started trying to draw (in glorious 166x148 b/w) the tree of life, or, cinderella castle in the same style as this watchface.
Man that went bad.
If I still had those images, I'd share them here. But alas, they've been lost to time.
What I did do however, was make a sequel...
You can download Spaceship Earth Classic from the Rebble Appstore: https://apps.rebble.io/en_US/application/55ff1b8f4d083dbfea0000a0
The source is available on my GitHub here: https://github.com/thomasstoeckert/spaceshipearth