I was at the Motodev App Summit last Friday. It was well attended with what I estimated to be about 250 people. In fact, it was the first conference I have been to that had more people at the end of the day than at the start! Many people arrived late and the sessions (and a draw for a Xoom and Atrix) were interesting enough to retain peoples’ interest.
Here are a few things that raised my interest…
- Fragments provide a way to create multi-panel apps required of tablets. There are two ways of doing this - Android 3.0 Honeycomb specific Fragments or via a compatibility package that provides similar functionality to older (Android 1.6+ Smartphone) devices. The latter approach allows you to have one binary (recommended by Google) for both smartphone and tablet and, for example, have tablet panels on separate screens on a smartphone as opposed to one screen on the tablet. I anticipate the choice of Android 3.0 vs compatibility package has some interesting fragmentation/ease of programming ramifications that I look forward to exploring.
- Motodev Studio, which I have never looked at before, is an Eclipse based Android dev IDE that provides some additional facilities over and above those provided by ADT. More specifically, there are code snippets, wizards, translation (via google) to help you get started with localisation, a memory analyzer (based on MAT), wizards for NDK support, utilities to manipulate (and ship) Android SQLite databases and associated SDK add-ons that skin and setup the emulator config settings to the same as per real motorola devices. The code snippets (and IDE) work for all device types, not just Motorola.
- Motorola provide an online (and offline via Motodev Studio Add-in) app validator that detects things like missing permissions and other such things that might prevent a disconnect between device capabilities and the app that might prevent it being visible on the Android Market. It can also be run from the command line for use in tests/build scripts.
One observation is that with the introduction of fragments and two ways of implementing them, development is getting more complex. Android needs a better IDE that, while not necessarily WYSIWYG, allows the user to more easily create screens and map them onto code. I asked Motorola about this because their Motodev Studio tool is all about making things easier for the developer. It turns out Google is already working on this and Motorola don’t want to duplicate new functionality. I also asked why Motorola had chosen to create their own IDE rather than improve and contribute to ADT. Motorola don’t have access to ADT and this part of Android isn’t open source.
I’d like to thank Motorola for creating a useful Summit without too much marketing guff or Motorola-specific technical content. The sessions on Android fragments, NDK, renderscript, UI tips, testing and moving your app to the tablet were as applicable to other Android tablets as they were to the Xoom.
UPDATE: I have since heard from the Product Line Manager of the MOTODEV tools and it turns out I was inadvertently misled. The ADT plugins are, in fact, completely open source and Motorola occasionally make improvements to them. Motorola develop their own Android tools for several reasons. They have had developer tools engineers for more years than Android has existed and the team has a lot of domain knowledge in this area. They contribute some of their efforts to Android, some to Eclipse, and others they keep to themselves. Motorola believe it doesn’t hurt devs to have more than one choice in tools.