This year, myself, Jane Smith, Doug Ross, and Justin Coon participated in the Software Design competition for Imagine Cup 2009.

Imagine Cup is an international competition sponsored by Microsoft.  This year, the theme governing the competition was to develop tools and software that addressed the United Nations millenium goals.  Imagine Cup  offers several categories of competitions, including the aforementioned software design, robotics, game design, et. al., in addition to specific focuses, such as Mobile Development.

Radio Free Medicine

After a few weeks of frustration and indecision, we (along with help from Microsoft's Sam Stokes) finally reached a conclusion about what our project would be.  We came up with the idea for an application for mobile devices that facilitated the access, entry, and transfer of medical information for remote or developing areas.  Pressed for time for our first submission, I came up with the title you see above.

Why?

To be frank with us, Sam came straight out and said we'd have next to no chance in the game design competition this late into the year.  He advised us to take some of our personal experience and accessible resources and work around that.  Doug provides IT services for CSU Bakersfield's nursing department, so he suggested we start there.  The rest of us liked the idea: it sounded feasible, we were already acquainted with half of the software we'd be using, and if we focused on the mobile challenge, we'd get a free phone.

How it works

RFM theoretically consisted of three big portions: a client application, a database, and a means of providing business logic. 

The first portion was my responsibility.  Given that I was going to keep the brand-new HTC Fuze (thanks, Microsoft!), I figured it'd only be fair to manage the client application's development.  We used .NET 3.5 Compact Edition for the application, though I didn't too anything too fancy with it.  No WPF, just Forms.  A snazzier GUI was planned for the next round of the competition.

 
Nothing like a big ol' SUBMIT button to tell your users you trust them


Justin and I had both taken Dr. Huaqing Wang's database class in the fall prior to the competition, so we worked together in implementing our database using Microsoft SQL Server 2005.  It should be noted that this was only completed after quantifying what type of information was actually going to go into the database.  This is where Jane played a crucial role.  As a nursing student, she had already acquired a great deal of experience with admittal forms at local hospitals around Bakersfield.  We used these forms, in addition to her own suggestions, to design a primitive database for this project:



One of the key attributes of this project was scalability.  To summarize a 14-page business proposal created by Doug: this project only as marketable appeal if it can work with existing infrastructures and provide detailed, logical information about data flow, associated costs, and a bunch of other stuff that only a business major like Doug was excited about.  To meet these terms, we looked at implementing a Microsoft BizTalk 2006 server.  Its purpose was to interpret client requests, log them, retrieve and redirect info from our SQL database, and serve the requested info.  Unfortunately, we did not have enough time to implement this as planned.

However, we still had a fully-functional application with an accessible database.  Deeming this "good enough" at 5:30 AM the day that the project was due for review and judging, we zipped up our files and sent it off. 

What now?

Unfortunately, we did not advance to the national finals.  They loved our video submission (thank you, Zachary Perez for volunteering your time and sexy body), but they said our project lacked innovation.  In truth, they were right.  We were set on using BizTalk, so we explicitly chose to stick with SQL Server 2005 and Windows Server 2003 (instead of 2008 for both), and the application was admittedly lacking in style.   Form over function, indeed!

Still, it was a great competition.  I got a nice phone out of it, some great experience, and a free copy of Gears of War 2 (you're welcome, Zach).  Moreover, I have to say I truly enjoyed some of the aspects of working with a team every night after school from 5 to midnight for a month straight.  The pressure, perseverance, and pizza were all fantastic.

I'm quickly approaching the end of my undergrad education at CSUB.  For the Spring 2009 quarter, I'm going to be using the content of this project to develop a case study of security and exploitation of .NET managed code.  I get to explore all those wonderful areas of best practices, theoretical circumstances, server vulnerabilities... It should be a fun quarter :)