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 -~----------~----~----~----~------~----~------~--~---
