Last week I had the opportunity to head west, and attend the 21st Annual Minnesota GIS/LIS Conference in St. Cloud, MN. With registration approaching 500 people, I was very impressed with the conference as a whole, and the quality of all the talks I attended… not a dud in the bunch.
The hottest session of the conference was dedicated to mobile application development. Although it was scheduled during the last session on the last day, the room was absolutely packed.
I’ve learned a few bits and pieces over the last couple of years about developing native iPhone apps in Objective C, and how Android requires knowledge of the Java programming language. The conundrum most mobile developers face is picking one platform, and thereby missing out on large market share of users, or stretching themselves thin by learning how to code across multiple languages.
Jeremy Moore from Houston Engineering spoke to this pickle, and demonstrated Adobe’s Flash Builder 4.5 software. Flash Builder allows developers to code in Adobe’s Flex Framework, but then deliver applications to multiple platforms—including iPhone and Android. One benefit of going this route, as Jeremy described it, is the ability to leverage Esri’s existing Flex API for developing mobile GIS applications.
In chatting with another audience member during a break, I also learned about Appcelerator Titanium, a development platform that sounds similar to Flash Builder, but allows developers to code using JavaScript, CSS, and HTML to create cross-platform iPhone and Android apps.
I can’t speak to how well Flash Builder 4.5 or Appcelerator Titanium work in practice, but the notion of developing in one language and essentially “exporting” code for multiple platforms is definitely an intriguing idea. I’m curious if anyone reading this has tried either of these products—drop me a note if you have.
Native App vs HTML5?
I asked Jeremy about the considerations around developing a native phone app (iPhone, Android, RIM, etc.) versus a browser-based application using JavaScript and the emerging HTML5 standard. His take: native apps allow you to better leverage the full functionality of the mobile platform (messaging, camera, etc.), while HTML5 is a developing standard that is still undergoing many changes. I think Jeremy’s point of view, which I happen to agree with, is that mobile application development is evolving so quickly, it’s nearly impossible to pick a single long-term strategy—you have to go with something that works for you now, then roll with the changes as they occur.
The buzz in the room at Minnesota GIS/LIS reminded me a lot of when Esri’s ArcIMS was released 10 years ago—everybody was interested, everybody wanted to learn more, but nobody really knew what they were doing since it was all very new. So, are you a wannabe mobile app developer too?