I love coding enough to consider it to be a form of art. To
me, even fully functional code is only half-useful if it doesn’t follow
conventions, doesn’t contain proper documentation, and is not reusable. I
consider the definition of a properly written program as one that would qualify
for the Pulitzer Prize nomination. If it were a piece of literature that is.
With that said, I might have created an impression of
someone who would have doubts about a 24-hour coding session. Especially one
aimed specifically at mobile development. After all, completing a computer
science assignment overnight is one thing; producing market-ready and
contest-winning apps for a phone in a 24-hour period is another.
But the target platform of the 2011 Canada-wide
code-a-thons, Windows Phone 7, is no ordinary platform to develop for. It
doesn’t require a dozen independent installation packages just to create and
deploy a test app. It also doesn’t require you to consider a variety of different
devices you code will run on; it’s one platform, one build. And it most
certainly doesn’t turn your world upside down when it comes to the programming
language. Development for Windows Phone 7 is done with the same C# language
specification that is used for web, windows and even Xbox development. Game
development projects done with XNA, for instance, can be deployed to Windows,
Xbox and Windows Phone 7 without changing a single line of code (http://bit.ly/hAgYPO)!
A simple installation process, a powerful development
environment and an easy high-level programming language; all that sums up to
the fact that 24 hours allocated for coding will be spent doing just that. Sure
24-hours won’t yield a Pulitzer Prize winning app or artistically gorgeous
code, but for Windows Phone 7 development it could be more than enough to
produce an app that will sell to the world.
The March Code-a-Thon at Ryerson University took place at
the university’s DMZ lab. The Digital Media Zone (alright, go ahead and call it
Demilitarized Zone if you want to) is an incubator for Ryerson students who
wish to develop their ideas into commercial enterprises. But for 24 hours, the
Zone became home to a number of students who just wanted to create phone apps.
View of Yonge and
Dundas from DMZ
Armed with pizza and red bull, Ryerson, U of T, York and
other students from around GTA went on to create some pretty cool stuff.
testing in progress
As an MSP, I was tasked with assisting students, but that
didn’t prevent me from working on my app as well. Having worked with XNA
before, I decided to create something in 3D. I knew I wouldn’t finish on time,
but I figured I would at least attempt to impress the judges 🙂
The initial brainstorming sessions resulted in both fun and
useful apps. At the end of the event, Developer Evangelist, Joey deVilla,
encouraged everyone to submit their apps to the marketplace, with a bit more
tweaking after the code-a-thon.
Some memorable results included a fake call app, described
by Joey as a much needed app to get out of those occasional awkward situations.
The 4th place was given to a very simple app that showed a picture of a hand,
used the accelerometer to detected a “shove” motion, and played that killer
sentence that no one wants to hear (please don’t make me say it here). Joey
pointed out that sometimes it is the “simple & stupid” apps that become a big
hit, pointing out the fart app as an example.
Let’s just say that
the code-a-thon produced a bit more than fart apps
My app was a 3D view of the solar system. I grabbed flat
planet maps from NASA’s imagery website and wrapped them around spheres, which
were sized, placed and given orbits with relative constants for some factors,
such as orbital period, taken directly from - you guessed it - Wikipedia. The
attempt was simple and incomplete, but my goal to wow the judges succeeded to a
certain extent; I ended up in the second place.
Sailor" Planet scales had to be identical, otherwise, aside from Jupiter
and Saturn, nothing would be visible
The winning app was an implementation of the classic card
game “Durak”. The winner received Samsung’s flagship Windows Phone 7, Focus.
Another phone was given to the Digital Media Zone to encourage further WP7
development. A team within the Zone deployed their test apps on the phone the
Work hard, play hard