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 :)