A year ago our RunningMap.com companion app called Trackometer went on sale on the iPhone App Store. On October 8, an iteration of this app became available on the Android Market.
A year ago I had no intention of producing an Android version anytime soon. Fast forward five months. Who knew that Steve Jobs would declare war on Flash and alienate every Flash developer on the planet? Who knew that Android uptake would explode?
In March 2010 I travelled to San Jose for the 360Flex conference and had an interesting chat with Ted Patrick. A couple weeks later Ted called me and ask me if I would consider porting my Trackometer app to Android using some prerelease tools Adobe was developing. Yes! The project was a perfect fit.
I used the same workflow as with other recent Flash app projects: pure AS3 project using RobotLegs and mxmlc via Flash Builder. The visuals from the iPhone app were made in Illustrator so it was not a lot of work to adapt the graphics to the higher res screen. For the iphone app, the custom graphics were bitmaps. This time the graphics were all vectors imported into Flash, optimized and then compiled in a swf which was embedded into the pure AS3 project. I didn't hold back on drop shadows and other effects because I knew FPS was not a huge issue. Many thanks to Matt LeGrand for the multi-touch code; the map has pinch zoom!
I wanted the app to look and function just like any other Android app. Which meant using the Android context menu and other UI elements. But in AIR we get no access to native chrome so I had to build it all myself and "imitate" the context menu animation effect. It was a lot of work. More work than I thought it would be. Even still it's not perfect, but I had to move on ... perfectly mimicking the way a dialog box appears is possible but I had other challenges to tackle. The big advantage of the DIY components is that there is only enough code that is needed. No bloat.
So many things could have derailed this project. Show stoppers. But the first 95% of the app went smoothly. The SQLite SQL from the iPhone version ported perfectly to AIR. The last 5% was as much work however than the first 95%. When the build was feature complete I declared it as being in BETA. Testing testing testing. Bugs bugs bugs. Found them; squashed them. The night before release I was still tweeking things. Finally reached release status!
A hundred little details beyond the testing and the bug fixing needed to be attended to. Launching the iPhone app taught me that bringing software to market was a ton of work and this time I was more prepared.
Debugging on the device is challenging but the ADB Logcat application that comes with the Android ADK is pretty cool!
I am writing this is a hotel room in Los Angeles. Tomorrow is the big keynote at Adobe MAX and I can't wait to see what Adobe has to announce. I've been told that Trackometer will be demo'ed at the conference in one way or the other and it will be cool to see where it shows up.
UPDATE: The keynote was GREAT! It turns out every one at MAX gets a free Motorola Droid 2. The BEST part is Trackometer was preinstalled on all of them. If you are one of the lucky recipients of this phone, please note that you will have to update the AIR Runtime from the Market to run the AIR apps. To run Trackometer you will need to turn on GPS and be connected to a data network. The version of Trackometer installed is a little old version so if you like it, grab the latest version from the Android Market.
- Randy