Coding for Charity – A Holiday Coding Adventure

Posted: Tuesday, February 02, 2010 9:19:18 AM | 603 Views


The Road to Hell Being Paved

In early December of 2009 I’d been debating on starting a new application for the Android Marketplace, Christmas was approaching and I figured a simple Santa Tracker might be a fun diversion. I could post the application on the Android Marketplace and then maybe have a donation application that I would hand over to the proceeds too Child's Play, a favorite charity of mine. I’d started coding a framework just after Thanksgiving, but was quickly realizing I didn’t have the graphic chops to give the app the look I was going for.

I posted in frustration to a popular gaming forum of which I’m a member, whining basically, about how I envy these graphical type people, of which I was, surely not one. I mentioned in passing the project, maybe even fishing for a help a bit, but went about the rest of my day forgetting my post.

A few hours later I received a message from a fellow board member offering his design skills, go figure it actually worked, and a race to create “Santa Tracker” had begun.

A Good Plan Today, Is Better Than A Perfect Plan Tomorrow (Patton)

We decided to try using Google Wave for communication, and found that the platform worked well for our team of two.

So the discussions began, I started listing resource requirements and resolutions, the artist started a mood board and began posting ideas for styles of the artwork. I was excited to have the help, and having an artist actually provide unique art for the project was really above and beyond what I had initially hoped at the projects conception.

We discussed if we thought kids would buy into this type of style, or if they would balk at a cartoon Santa, I ran ideas by my family and we started plotting out how much we could really do in the few weeks leading into Christmas. It was a flurry at the beginning, and as with most projects we initially scoped out far more than we could achieve in the time window.

The concept was going to be two video cameras placed at the North Pole and our application would allow the user to peek in on Santa’s Reindeer and Santa himself. Initially we had planned on five or six animated screens per camera with hopes of having more depending on how time allowed. The second part of the application would be a Santa Tracker, which would follow Santa on Christmas Eve. During Christmas Eve day a checklist would be shown as Santa prepared for his big flight. The application also pulled live weather from the North Pole (Alaska) on the tracker screen to provide some interactivity to the user in the days before Christmas.

The interface would have a button for each “video camera” and then a Santa Tracker button that would activate Christmas Eve. The application was designed to look like an old fashioned electronic game, along the lines of the hand held games of the 1980s. There would be a cover that opened, and once inside the interface, you could click a button to slide up and look at the inside of the cover, which would contain information about the designer and myself.

You May Delay But Time Will Not (Ben Franklin)

Things moved fairly well on the application, and on December tenth I received the first art for integration into the application. I discovered a great deal about animation on the Android platform, really more of what not to do, but with each lesson things were still progressing.

I continued working on integrating the art into the application, while the designer had to head out of town for the upcoming weekend. On the fifteenth of December following weekend, the designer sent me an email apologizing and stating that he’d bitten off more than he could chew, and asked if I thought maybe we should can the project.
Early Mock Up Testing Harness for Weather Pull


I was bummed, though I didn’t say anything, I knew he was right, there was no way to complete and integrate all the remaining art we had slated. I also had to create some donation applications to post with the free Santa Tracker to collect money for Child’s Play, and I was still hammering out memory leaks in the application itself.

I went home and spoke to my wife about how we’d put so much time into this effort, and how it would be a shame to close it down. I had dinner and thought about things, and decided that I wanted to try and deliver something, even if that meant it wasn’t our initial vision. I felt what we had was a great base, and even if it didn’t deliver everything we’d hoped, I thought kids would still like it, even if it didn’t offer all the bells and whistles.

I wrote back and suggested we could trim some things out of the application. We could combine the Reindeer and Santa Camera into a single “North Pole Cam.” We’d move toward static backgrounds and instead of a unique image for each status, we’d overlay some text on top of the the Santa or the Reindeer image.

In the end we agreed to even add one other image of the "Toy Workshop" to create one additional view that would house statuses for the Elves.

Once You Make a Decision, the Universe Conspires to Make It Happen (Ralph Waldo Emerson)

Early on in the design discussions I’d thought about how best to handle the actual Santa Tracker. I wanted to make it so it worked anywhere in the world. I’d considered using GPS to plot the user and move Santa closer on the map, but honestly I hadn’t done enough with GPS to feel comfortable I could deliver a reliable experience to the user. Then, in the midst of several other design decisions I posted something I’d later regret:
The only part I don't see tied up is what to do for the child as bedtime comes, I figure we could wrap the whole thing up by 8 or 9 PM their local time... I was thinking of maybe something saying " Santa's sleigh was detected to be entering your airspace, Santa's sleigh is now flying in silent mode to keep from waking even a mouse.. Have a Merry Christmas, and don't forget to leave him some cookies.. etc.."


So the idea is, after the Christmas Eve Day updates all day long, at 4PM the Santa Tracker would flip on, and the user would get updates every 15 minutes showing Santa getting closer. We’d indicate the sleigh moving closer on our radar, and show a message regarding the last update someplace on the screen. We’d been wrestling on what to do once Santa was “there,” and it seemed simple enough to have Santa’s Sleigh block the tracker once he was too close.

At the time it seemed like a simple solution, the kids I was targeting typically go to bed fairly early, and even if they didn’t Santa was so close he was blocking our tracking of him, I figured kids would be thrilled to know he was in the area, even if bedtime was a few hours later. This decision would prove to be far more significant than I’d expected.

"We Rate Ability in Men by What They Finish, Not By What They Attempt"

I received the final graphics on December nineteenth; implementation was a breeze as I had placeholders already working so just needed to slip in the images once they arrived.

I’d spent hours coming up with the various statuses for the Toy Shop, Santa, and the Reindeer, not to mention the individual status for Christmas Eve day, and Christmas Eve’s flight. On December twenty first I emailed the designer letting him know the app was done short of a simple link back to his company, in all the hustle I’d never gotten his URL.

So, that night, I pushed the application out to the Android Marketplace, the downloads started, and everyone seemed pleased. The rating for the application was bouncing between a 4.5 and 5 star rating, 5 being the best, for the remaining days leading up until Christmas Eve. We had over 2000 downloads in only two days, and by Christmas Eve we had over 5000 downloads.

Final Screenshots


A Good Deed Never Goes Unpunished (Gore Vidal)

Christmas Eve I ran Santa Tracker through the day, checking to make sure the various updates were happening as planned. During our Christmas Eve party I showed it off to my friends and family, everyone seemed to get a kick out of it, a buddy of mine even text-ed me saying his kids thought it was awesome. I was thrilled everything worked out in the end, and hopefully when it was all said and done we’d made a few bucks for the charity.

Christmas morning I’d all but forgotten about Santa Tracker, it was the first year in our new house and a second Christmas for our daughter. We opened presents with the grandparents and participated in what most would probably consider a typical Christmas morning. After things settled down I plopped down to check my email and quickly opened one with a subject of "Santa Tracker".
"Wtf dude terrable u should never make a app agen ur better just not trying anymore"


I’ve spent my fair share of time on the Internet, and have developed a pretty thick skin; I’m also not adverse to criticism, so for the most part I wrote it off as a lone troll looking for a reaction. Perhaps it didn’t work on his phone, who knows, so I decided to check the reviews on the Market, maybe something failed miserably and it just happened to work on some phones.

"Dumb, radar blocked? Bad decision."
"Santa is ninety miles from my house and it’s only seven thirty. Have to tell the kids a higher number"
"What a fraud! I really hope no one was stupid enough to give this person a donation."
"Good way to ruin the spirit a**holes."
The rating for the app plummeted to a two and a half, and it was easily apparent where I had failed, I’d not done good enough job informing the user how the application worked. Nearly every complaint would have probably been solved with a simple pop-up that explained that Santa would be “close” to their location at 8PM and the sleigh would be "blocking" tracking.

In retrospect, people who grabbed the app late Christmas Eve must have been confused, as the sleigh was already blocking it's position. In my haste to get it out the door I never considered those possibilities, and it hurt the application in the end. A simple setting for parents to adjust the time when Santa was “close” would also probably saved a great deal of confusion.

Again, I’m not adverse to criticism, but I’ll never fail to be amazed at how brazen people are when they are anonymously tucked behind a keyboard.

There was also a fair amount of praise in the comments, we did seem to make a few folks happy, and there were even a few kind donations as well.

Unwrapping It All

I’ve been developing almost fifteen years now, and it’s humbling to realize that I’m still making mistakes in the places I least expect it. The application didn’t crash, it looked pretty slick, and it actually did what we expected, unfortunately we missed a few users in the process.

In less than twenty days we created a concept, developed, and deployed an application that over five thousand people downloaded.

We received whooping total of sixty nine dollars in donations, minus Google’s cut, and with my yearly donation I just decided to donate an even one hundred to Child’s Play.

I've not decided if I'm going to try and update the application for next year, it will probably depend greatly on the time I have available. At the minimum I'll probably add that popup note and a setting to make Santa's arrival more customizable for parents.

I am saddened about some of the comments I'll admit, more because some have really forgotten the spirit of Christmas. All the money went to kids stuck in hospitals around the country, most with much bigger problems than most will ever face. For me that's what this project was always about, trying to make someone in a bad position happy and maybe having a little fun on the way.



Donate to Child's Play







User Comments

On Tuesday, April 13, 2010 at 17:31 coder said:
cool story bro.



Leave a Comment

*Your Name:

*Email (will not be shown):

Website (optional):

*Comments:

NOTE: HTML is stripped from comments.

  QzKyc  
*Enter code above:






(c) (2010 Mark Hansen aka "stonedonkey" ~ Powered By: donkeyblogger