Here are some interesting points on the development work for this port.
- porting was easy because we already have our source code base for Upvise in java, and Android is java based
- we already separated the core cross-platform java code from the device specific code, because we do this for Java J2ME, our desktop simulator and for Blackberry. We only had to implement the device specific parts, mainly the low level graphic librairies, storage and the phone application integration like Maps, Browser, Dialer…
- we found that the SDK and the emulator are stable and work well. Note we were using SDK M5 RC14 (released early March) and not the initial release, which was more buggy.
- Integration with native apps is very simple, and clean.
- I like the option to simulate a GPRS low bandwith network with the Emulator
- Eclipse only, not Netbeans (yet): we use NetBeans 6.0 for all of our mobile Java development and we like it a lot, it is fast, simple, intuitive and we can test it with all different mbile emulator : Sun, Nokia, Motorola, and even Blackberry have simulator plugins. For Android, you have to use Eclipse. Not a big deal, it took us about 2 hours to have everyting set up, but we found Eclipse is slower (at least when debugging using the Android Simulator)
- The UI layer, with all the Intents, Views, Activity is overkill. Just look at all the packages and the classes. It is also frustating that is not simply a super set of J2ME with backward compatibility.
- There is no Gmail client app yet to integrate with. I would have expected Google to have it from the very beginning. We had to implement our own send mail function!
- Because there is no actual device yet, it is hard to figure out the best way to integration with the keyboard. This is a very important usability test in mobile developement.
Once you workaround the little annoyances of the Google Android Platform (it is only 5 months old…..), it is very straightforward and easy to make a port to Android and even take full advantages of this new platform, like maps, dialer, full browser,….
Overall, it took us about 1 week to get a first working prototpye and an additional 3 weeks to fully polish the app.