iOS Topics For Upcoming Mobile Applications Development Training

A quick update to list some of the iPhone/iPad topics we will cover in this month’s mobile applications development training:

  • The anatomy and types the iOS applications
  • User interface elements such as tables, tab bars, pickers
  • Navigation patterns in applications with multiple screens
  • User interface autosizing and autorotation
  • Storing and loading application settings
  • Data persistence using property lits, object archiving and SQLite
  • Best practices
What do you think?

Android and iPhone Training Scheduled For December

Thanks to Tonex, I will be teaching another mobile software development class in December.  The course will focus on Android and iPhone/iPad development training.

These are the areas our Android hands-on lessons will cover:

  • Android features and building blocks
  • Development choices for the Android platform – Types of applications, development environments and debugging tools
  • The anatomy of a native Android application
  • Android application user interface – Views, layouts, widgets, menus, dialogs, and data binding
  • Data persistency options in the Android platform
  • Establishing connections – Internet, web applications and other devices
  • Utilizing the hardware features – Camera, GPS, etc.
  • Interacting with other applications on the device
  • Testing Android applications using the testing and instrumentation tools
  • Android development best practices

Interesting, right?  I will post the iPhone/iPad topics in a few days.  Stay tuned!

Are You Ready For Mobile Development?

Of the ten students in my most recent mobile software development course, two work directly in software development.  The remaining eight are either marketers or have executive responsibilities in their company.  This mix of skills and responsibilities, a little different from the norm for a hands-on course like this, generated an interesting combination of points of views and expectations.

It is not possible to deeply study the iPhone/iPad, Android and BlackBerry platforms in only five days.  In order to get the most value out of the class, we worked out a nice flow that started with discussing the foundations of these mobile platforms and their similarities, followed by an examination of their differences.  We also wrote a BlackBerry application, and reviewed the code for an iPhone and an Android application.

The transition from coding on one platform to coding on another platform was not smooth.  The programmers in the class told me they had expected to work on simple ‘Hello World”-type examples, and they were surprised that I brought a whole end-to-end application they would need to code from scratch.  They said this was arduous at times, but also rewarding because they worked on something that contained real-world solutions they can apply to their own applications.

Mobile software development is challenging

It was interesting to observe fellow technologists realize the magnitude of the challenge in developing products that target more than one mobile platform.  For example, how difficult it is to find expert leaders and programmers that can be effective on iPhone, Android, Nokia, BlackBerry and Windows mobile.  Or how difficult it is, even for teams with a clear vision of the systems’ goals, to create satisfying designs for each platform.

The situation is similar in the tools arena.  Only a few viable cross-platform development tools exist today, while many problem domains require a level of access to device capabilities, performance and other features only achievable by native applications written with the platform’s development tools.

It takes a committed team

The active participation of company leaders was another interesting highlight of the course.  I’m happy they signed up.  I think it is important for them to know how their products will work, and what it takes to build them.  This is a responsibility they share with their colleagues from the software development department.

A great experience this class.  Wouldn’t you agree?