Duo didn't make it into the top 100 (let alone the top 50), which has been very hard for me (I hate losing!) but since people here expressed a lot of enthusiam for our project, I thought you might enjoy reading about its development in more detail. You can watch a short video of Duo here if you haven't already: http://www.youtube.com/watch?v=fwSBLdGCjnY
Although we lost the contest, Duo is alive and kicking. For now we are shifting our focus to other platforms (for practical reasons, not out of spite). If anyone is interested in investing in Duo or contributing to it, or if you know someone who might be, please contact me here: michael AT codality DOT com So this is the story of Duo and its development. If you're more interested in technical details, you might want to skip to the next post where I talk about "what went right" and "what went wrong". Awhile back I quit my job as a game developer to work on my own project. I used my savings to support myself while I developed a new game development tool. Over the course of several months I made good progress. In November of 2007 I heard about Android and Google's development competition. I thought: hey, here's a good short-term opportunity. But my project at the time wasn't a good fit for Android and I didn't have any good ideas for new mobile applications, so I didn't look into Android any further. Then, one evening in late 2007, I had an enlightening conversation with an industrial designer friend of mine. She had recently interviewed for a position with Microsoft's mobile division and she told me about their grueling interview process. They were hiring for people to help develop innovative new mobile applications. She told me that one of their interview exercises was to design a solution for telling stories using your mobile phone. This was a deliberately open- ended exercise. The solution could be anything you imagined. I love exercises like this, so it planted a seed in my mind. That seed germinated in early January 2008. One night I thought to myself: what would my solution to the storytelling exercise be? I thought it would be cool to use your phone to record information as you traveled around, and then to share that information with your friends. This could include text, tags, photos, audio, video, and ratings. I thought that if there was a way to combine all of these forms of information using a cohesive and elegant interface, you'd have a very powerful tool for recording and sharing a huge variety of location-based information, including not just your personal stories, but also things like restaurant ratings. I called these potential blobs of information "footprints". The idea would be to create software that lets you leave footprints in your wake for your friends and perhaps the public to experience. In hindsight I realize that this wasn't a particularly innovative idea, but at the time I was fairly naive about the state of mobile application development, so it seemed new and exciting to me. I kept thinking about it and, after sharing the idea with some trusted friends, we started coming up with a bunch of other (fairly obvious) ideas: automatic friend finding, connecting footprints together to create paths for things like guided tours, creating "future footprints" for coordinating events, various corresponding business models, etc. In early January I decided to download Android and start tinkering to see what we might be able to develop in the time remaining before the contest deadline. The results were promising. I hadn't coded in Java in years (my background is C/C++), but I was able to get up and running with Android very quickly. I found the documentation to be very good for an early release of a new SDK. Where documentation was lacking, decompliation could be used to look under the hood, revealing a solid design with code that was easy to follow (except the obfuscated mapping classes...argh!) Satisfied with Android as a development platform, I knew I wouldn't be able to do this alone, so the next task was to find a team. A very good designer friend of mine was also excited by the idea and wanted to contribute part-time. His involvement would prove invaluable, particularly during the final stage of UI iteration. He also had a good friend who was a server development wiz. We approached him with our idea and he wanted to contribute part-time to develop all the backend tech, which was great. Within a few days I developed a very simple prototype comprised of a map and a list of fake footprints. Our server wiz created a simple backend and we connected the two successfully. This was extremely encouraging. So much progress in such a short time! The three of us were also actively posting new ideas in a private forum. As a result of our early prototyping and brainstorming, I experienced one of those "aha" moments where you end up pacing around the room excitedly, thinking non-stop about all the implications of an idea. The idea in question emerged in the following way. Our prototype was built with GPS in mind. You'd create footprints at your GPS location. This worked well for creating footprints, but what about browsing them? What about finding footprints in places you visited previously, or in places you hoped to visit in the future? What if we introduced a lightweight, game-like interface that allowed you to easily travel "out-of-body" to explore your city and the entire world? I wrote a lengthy post about this and the other guys were excited by it too. They extended it with lots of ideas of their own. We knew it would be challenging to combine a fun interface together with locational information, but we felt we were onto something, and there was huge potential. The business models with this approach would be much more varied and potentially lucrative. Thus Duo was born. Many more ideas kept flowing after that. Meanwhile, I had been in the process of applying for a government grant for my game development tool. After a great deal of inner turmoil, I decided to change this grant application to be for Duo instead. While awaiting the outcome of the grant application, I continued developing the client prototype, spending a lot of time establishing a solid framework for networking and storage, and testing different UI ideas. I also converted everything to the new SDK release. At the end of February our grant application was successful, which meant the government would cover half the cost of hiring two part-time Canadian contractors to help us (I paid for the other half). A friend of mine from university was interested in helping us with programming, and I advertised for an artist to help us too. As of Feb 27th we entered proper development based on a loose but ambitious schedule. Our team was comprised of: - Me, full-time client programmer - Fred, part-time server programmer - Eric C, part-time designer - Eric T, part-time client programmer - Jasper, artist Everything progressed very smoothly throughout March. The framework I had built in the previous month allowed me to fairly quickly connect to the backend as Fred found time in his busy schedule to implement it. I developed the tech we'd need for an avatar and buildings while Jasper worked with Eric C to start cranking out art. Eric T made solid progress each week with the interior tile renderer. By April 1st, we had an app that could do all kinds of stuff, but the interface was still very rough around the edges. Other major problems included: you couldn't properly login yet, you couldn't delete what you created, dynamic updates weren't really working so it was impossible to see friends creating footprints, etc. The amount of work we did in the final two weeks to bring it all together was remarkable and I'm really proud of our team. We spent all our time developing, and barely any time on documentation or "marketing" because we believed that this competition would be about results. We thought the best way for judges to understand Duo would be to try it, and we thought the judging process would involve several people using it for at least several minutes each. Unfortunately, according to our logs, only a few judges tried Duo, and their experiences were brief. Maybe the client crashed and they couldn't be bothered to login again. Maybe they didn't know you can leave your house and go outside. Maybe they thought the underlying premise wasn't promising enough. Maybe they didn't read our document. Maybe they did read our document but they didn't like it. We'll probably never know, but in retrospect I wish I had spent time creating a demonstration video to submit as part of our document (rather than creating it after-the-fact). Perhaps that would've helped us score better. That's the story of Duo in a nutshell. Next I'll go into more technical details about what went right and what went wrong during development. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Challenge" group. To post to this group, send email to android-challenge@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---