For years, Purdue University Dance Marathon has dreamed of entering the mobile world. In 2014, I’ve helped establish and build a new website that would not only work on computers, but on phones. Over the years, the technology has grown. PUDM has had a stable website, but still lacked a native application on a smart phone. For years, we were searching for committee members or students who were experts at iPhone App development. We were not able to find anyone in the timeframe of a single year to build a stable app.
In the Spring 2015 semester, my final semester of college, I met Reece Kenney, who was visiting Purdue’s campus for several weeks. He mentioned that he has designed several iPhone apps, and graciously volunteered to work on an application for Purdue University Dance Marathon.
Ideas to Innovation
While all of the planning was going on, the Morale committee was planning on methods to improve integration of the organization (by increasing involvement or attendance at events). Their vision was to establish a points system to track involvement between equally sized teams (known as Color Tracks). These teams would compete friendly to gather the most amount of points. To simplify tracking attendance, Reece and I thought it would be brilliant to add a QR-based check-in system, to reduce the work on the PUDM Executives and focus on automation.
From that tangent, we thought it would be an extra incentive if these points could be “spent” on perks – perhaps a discount, free merchandise, or other perk at the marathon. This models many different store loyalty programs to keep customers returning. By using this model, PUDMers would have multiple reasons to go to events: to benefit their color track AND earn points towards an incentive.
The iOS Application Scope
The goal of the application was to perform four simple tasks:
- Provide the latest announcements from PUDM
- Check-In to events (via QR Code)
- Provide rewards information (points earned and spent)
- Track fundraising totals
I was so distracted from schoolwork during my final semester since this project sounded exciting. I had no idea how to write an iOS app, however. I presented some ideas of the UX layout, and Reece took care of it all. He spent hours of his time building us an interface, connecting it to Parse for push notifications, and read content from our website. While he worked on the interface, I took care of the backend framework of the points system.
The Magic Behind The App
I spent my time writing a PHP backend (yeah… that language is fun to develop in, isn’t it?). I developed a SQL schema that would store all of the points and transactions that would occur within PUDM. Using that, I built response codes that would talk to the app. Reece’s code would parse the response code and perform a certain behavior from the backend that I had worked on. Instead of writing a separate QR code generator, I decided to go with Google’s API to generate a QR code. Why re-invent the wheel? To make it easier on the Executive Board to generate codes, I connected a SharePoint list to the QR API. All that Exec has to do is to enter an event name, a point value, and click “Go!”. Lastly, to track the fundraising status, I connected the functionality with a shortlink concept, called pYOUdm, to search a person’s fundraising page for their progress, and manually calculate their percentage. Again, this was written as a HTTP response, so Reece would parse that information into the application.
Five Months Later, and We’re Done!
It took a lot of hard work, but we finally achieved what we’ve been waiting for – an iOS app dedicated to PUDM! We’ve waited several years for this moment, and I’m excited to announce that Reece has shipped the very first version of the PUDM app! I learned that iOS apps are the “visual representation” of a service. Reece made the application look wonderful and user-friendly. In return, all of the information in the app was pulled from a “ugly” backend that had pages with only text on it.
It was a pleasure working with Reece; I cannot thank him enough for his effort in collaborating with PUDM to bring the organization to a whole new level. Now the question is… does anyone know Android?