Big picture thoughts on software and other topics

June 7, 2010

My Philly GiveCamp Experience

by Brian Donahue

This weekend I was humbled and honored to be part of Philly GiveCamp at the Microsoft office in Malvern, PA.  I had never been to a GiveCamp before, and didn’t know what to expect.  Initially, I envisioned getting together with other talented, passionate developers and try to build an app in a weekend.  As I heard some reports from other GiveCamps that much of the work would involve helping non-profits set up content-managed and/or static web sites,I started to realize that I might be thinking about it the wrong way.  I reminded myself that it was, after all, a community service and I shouldn’t go into it expecting it to be a geek playground!  It’s not always easy for a stubborn, opinionated fellow like myself, but I resolved to keep an open and optimistic outlook, and provide whatever help I could, wherever I was needed.  The result was an absolute eye-opening and moving experience which I am incredibly thankful to have been involved. 

Almost as soon as my friend, Erik, and I walked in, Dani Diaz (who did a fantastic job of lining up volunteers and charities) approached us and said he had the perfect project for us.  He was speaking really quickly because he was scrambling all over trying to organize teams, but I heard the project would help autistic children and he was mentioning all sorts of cool technologies - things like Ruby, Rails, ASP.NET MVC, iPhone, and Windows Phone 7. When Dani stopped to take a breath, I said “we’re on it!  Show us where to go!”

The team we joined was already well into a discussion about the project, and it took us a little while (and some Q&A) to catch up.  The project was for the Mission for Educating Children with Autism (MECA), specifically their new “Preparing Adolescents for Adult Life” (PAAL) program.  We learned that we’d be making an application for handheld devices that would help kids with autism to be more independent.  The app would provide simple schedules and instructions to perform daily activities, like brushing their teeth and preparing lunch.  What really served to inspire us early on was watching a video of Lizzie using one of these applications to make herself a salad for lunch .  We were all moved and engaged by this project from the onset, and it only became more clear over the course of the weekend just how much a difference this seemingly simple tool would make to the lives of autistic children and their families. 

The project was split up into three main components – a web application for preparing and maintaining the schedules and instructions for the kids, a ReST API for interacting with the data and assets, and an iPhone application that would be used by the kids themselves for viewing their daily schedules, and walking through their days.  Avi, Kaori, and Gloria from MECA were amazing throughout the process – one of them was always there for support, and they brought two of their students, Nicky and Lizzie, in to meet us which was really inspiring.  Many people contributed to the progress we made – Trevor Lalish-Menagh and Jamie Ly were the primary developers and designers of the API, Joe Fritz, Kosal Sen (who also designed the awesome new logo for PAAL above), and Jon Falkner designed and built the web app, and Sebastian Meine, Erik Peterson, and I worked on the iPhone app.  

I became the main iPhone developer by default, because I had done a couple demo apps and happened to have the iPhone SDK, and more importantly, the awesome MonoTouch (now Xamarin), installed on my Mac.  We had determined that to meet the varying needs of the children who would be using it, we had to create a native application that could seamlessly navigate the steps, display images, text, and play audio and possibly video.  It was a bit daunting since we had very little combined iPhone and mobile development, but we dove in and by demo time at noon on Sunday, we had a pretty robust prototype that could read in and store data from the API, and walk the students through their activities.  Take a look at the screenshot for an example of a single instructional step.

We didn’t leave the weekend with a fully functional system for the PAAL program, but we are close, and we are all determined to finish it for them.  The demo on Sunday was really heart-warming – the people from MECA  were clearly moved and inspired by the work of the team, and we were equally inspired by the encouragement and appreciation we received from MECA and so many people in attendance.  The significance of our work really became clear when other attendees who knew and/or worked with autistic children told us what a huge help an application like this would be.

The GiveCamp experience really helped to remind me that if you approach anything with good intentions and an open mind, you will most likely contribute something meaningful, and you will always come away a better person for doing so!  Thanks to everyone involved, and especially Dani for making it all happen.