First, man I hate the term post-mortem, especially after reading the
wiki http://en.wiktionary.org/wiki/post_mortem definition: "Any
investigation after something considered unsuccessful, especially used
of meetings and bridge games."  So since I am not ready to concede
defeat (for TeeDroid as a product, not ADC), I will think of this as a
post adc examination.

So TeeDroid did not make the 50 round 1 finals.  I was admittedly very
upset when I got the email from Google, I hate loosing as much as the
next person.  However, I picked up the pieces and have moved past this
obstacle.  Would I have loved to win, sure, does it mean defeat that I
did not, no!

Writing golf software is something I have been doing off and on for
years as a hobby.  There have been many incarnations and ideas,
countless re-writes, and until now no actual product at the end.

The Android Developer Challenge gave me one very important thing,
outside motivating factor.  Sure I realized it would be hard to win
from the outset, but the ease of development, relatively stable SDK,
decent documentation, good tools, and the community made it easy to
continue.  For that I would like to thank all the people at Google,
anddev.org, and all who contributed by posting on the developers
board.

So what now seems like countless months ago (in January) I downloaded
the SDK, played around with it for a couple of days, and realized that
it was well suited to making my idea come to fruition.  At that point
I started brainstorming features and doing rough design.  After a
couple of months of working evenings and weekends I had a working
product.  I then decided to take the plunge and work on TeeDroid full
time.  I left my day job, started my own company, and got to work.
Several things motivated me to do this, mostly it was "I needed to
work on the product full time to do it justice".  I am happy the way
it turned out.

TeeDroid has 3 components, mobile application, the webservice backend,
and the web site.  The first two components were developed in step and
the web site was built after the April 14th deadline.

I did quite a bit of planning during this process.  Not just specific
to the software or design but what to do if the ADC does not turn out
the way I had hoped.  Personally I think considering it ahead of time
made it easier to accept and move on.

The goal was to be able to showcase an application that would be as
complete and useful to the the average golfer right now.  Being a golf
application (and a golfer myself) it was easy to find people willing
to sign an NDA and give me feedback on the application.  Based on this
input and the time available I prioritized the features.  I got all
the must haves into the submission and even added a couple that were
in the "cool to have" category.

I spent quite a bit of time on the documentation for the project.  The
reason being that I showed the product to some non-golfer friends of
mine and got blank stares in response.  The resulting document was a
14 page pdf file (1.5 spacing and the in application menu icon
images).  There was a brief overview section at the beginning, future
development, a quick start guide, and detailed description of each of
the features.  I did make the misstake of not having the quick start
guide as the very first item, or perhaps after a very brief
description, most important information first.

I also made the misstake of not letting the judge go directly to "play
a round of golf".  If he/she was impressed at that point then perhap
they would have spent more time.  I base this on the server logs (I am
only assuming here that I made it to phase 2 since I had a total of 12
judges look at the application, 4 for phase 1, 8 for phase 2).  In
phase 2, a couple of the judges spent a significant amount of time in
the application, playing with some of the extended features.  Most
actually went so far as to tee up a golf ball and hit a stroke.  One
judge quit after attempting to create a new account with the same
username that another judge had already registered, even though a
"username already registered was clearly displayed".  Another
misstake, I should have completely bypassed registration and just
assigned a user account, really is the judge going to come back?  Does
he/she need to know the username or password?

I had lots of issues with the LBS system.  Once you started a Mock LBS
provider (using kml) it would start traveling along the part, no
pausing, no control.  Using the existing LBS system as a template I
wrote a completely new system that had the features I needed: pause/
resume, segmented paths (1 per hole on golf course).  Using google
earth I created a set of tracks for 5 golf courses, ran it through my
preprocessor which broke them down into per hole segments and loaded
them into the /res/xml directory.  I wrote a threaded provider that
could be passed the course id and then play back corresponding tracks,
hooked it into the interface so that when the user switched to a hole,
the lbs provider would reset to the start.  This made it very easy for
me to demo to people so even though it cost some time, it was useful.
However, as far as the competition goes, only 3 of 12 judges seem to
have gotten there.  Perhaps time would have been better spent on
something else.

Since I was already mucking around inside the LBS system I wrote a
quick pass through for bluetooth GPS.  It was actually quite simple
(couple of hours, lots of resources online), and let me go out and
field test the application.  It was very gratifying to actually use it
on the golf course, and gave me insight into several issues.  The
interface has to be brutally simple for 3 reasons:

1) The rest of the group does not want you to slow them down entering
results.

2) The product cannot be a distraction from the actual purpose to play
golf.

3) The interface has to be high contrast or it is really hard to see
outdoors.  Or you have to turn up the brightness so high that your
battery will DIE before a 4.5+ hour round of golf is over.

This lead me to rewrite several sections, simplifying the interface.
Adding predictions to what the user would want to do and preselecting
that options but still letting the user make the decision.  And moving
away from a graphically/color intensive interface.  Not sure this was
the right decision for the competition but the feedback from golfer
was positive.  Here I blame the judges for not considering how the
application would be used, no golfer is going to use a complicated
hard to see interface, that is why the road is littered with countless
failed application in the golf space.

I wrote a complete system.  Meaning the webservice is completely
functional.  For the competition time might have been better spent
mocking it out as the judges would not have been able to tell the
difference.  But for the future, I already have a functional server
backend that can be used for other platforms as well as Android.

The UI framework was also complex to work with.  At times clicking a
specific button would make a table layout completely break down, stop
spanning columns, or wrap oddly.  A lot of activities had more than
just a few revisions in the layout xml.  I completely agree with
Michael Johnston from DUO that visual UI tool would have been very
handy.  Especially once I started down the road of supporting multiple
resolutions (before I found out that judges would be using the default
one), the managing of a large number of layout files became quite a
chore.  I am sure they will add this in future versions of the SDK.

All in all the experience was very good.  Yes I did not win, but I
learned a lot of things.  Both about myself and about Android.  I will
absolutely support the Android platform once phones are out.  It will
enable one of the more advanced incarnations of TeeDroid.

Thank you,

Finn
http://www.teedroid.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Android Challenge" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/android-challenge?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to