Chariot Training Classes

Training Courses

I run Chariot's training and mentoring services. We provide training in AngularJS, HTML5, Spring, Hibernate, Maven, Scala, and more.

Chariot Education Services

Technology

Chariot Emerging Tech

Learn about upcoming technologies and trends from my colleagues at Chariot Solutions.

Resources

Chariot Conferences

Podcasts

Entries in mobile application development (1)

Wednesday
Nov102010

Chariot Mobile Developer Series - Session 1 Recap

Today I attended the first event of Chariot's Mobile Development Series, held at the Conshohocken Marriott just outside Philadelphia. The topics of discussion were good starting ones - the current "state of the art" in mobile web technologies, delivered by Don Coleman, and a talk on mobile design decisions by Kevin Griffin.

One of the most common debates we hear today about mobile development is the decision to develop for a particular platform or to go "native." In the first talk, Don Coleman outlined that there are no "silver bullets" or magic frameworks, and that you can use both mobile web applications and native applications - the former to provide access to your site, the latter to give your applications sizzle and native features. Consider Amazon's online store - you can shop via a mobile HTML site, or you can use one of their native iPhone or Android applications.

Don discusses enterprise support

Don discussed some of the more interesting mobile scripting platforms, including the jQuery-based frameworks jqTouch and jQuery mobile, which is just emerging. He also mentioned Sencha Touch, which is commercial but he said the licensing was reasonable, and that it has lineage from GWT; it performs well according to his tests. He also mentioned that while it claims native widget look and feel, it's not a completely native experience.
One interesting topic brought up in the Q&A was the concept of a "universal platform" or standard for mobile development. He brought up was the Adobe Air 2.5 - they are making a play for a common mobile application platform, and although it sounds good, Don wants to see details.

Next up was Kevin Griffin - with a load of practical design advice for application developers. He has worked on mobile applications, including iOS, so brought a fair number of suggestions around developing first for the mobile device, rather than slimming down functionality of a traditional desktop or web application, and then attempting to cram them in buttons on the main interface.

Kevin used real iPhone applications as examples - the simplicity of the Twitter app - with the swiping to reveal more advanced options such as re-tweeting, the drop-down tweet box for adding pictures and the like, and the pulling up to scroll.  He also discussed how native applications can actually expand the hit targets for buttons natively - so that you can click somewhere nearby an icon and still trigger it.  He said this comes for free with native apps, but the HTML-based applications generally have to have custom HTML to achieve the same results.  

He reminded us that if you really want full features from a handset, the best way to do it today is to write it natively.  Accessing the camera, GPS, accelerometer, compass, those things are done best and most directly in a native application.  Not that you can't do something with HTML 5, but you'll get better, more consistent applications using the native platforms.

Kevin had five major "things to do":

  • User Experience - start with mobile first, or make sure you aren't trying to replicate an entire desktop application.  It's all about wanting to pick it up, hold it, interacting with it, so think simple.
  • Be ruthless with features - he showed us a flight simulator control panel, and then two buttons - fly and land.  Which one is a mobile user more likely to click (pilots, don't answer this one!)
  • Cognitive Effort - Don't make it a chore to use your application. There are probably 1/2 dozen others like yours out there, so make it simple and easy and fun.
  • Disappear - get things out of the way that you don't need.  Make them go away.
  • Input - types of input don't just include the keyboard - use the accelerometer ala Instapaper tilt scrolling, the camera as the Amazon application does, the GPS, audio etc…  

Kevin brought up two books that will end up on my reading list...  Tapworthy, by Josh Clark, and Mobile Design and Development by Brian Fling.

Both Don and Kevin provided their presentations online: Mobile Application Development and Mobile Design Concepts.