I just had the opportunity to teach a 3-day BlackBerry development class at Pratt & Whitney. This class was about the techniques we use and the issues we face – as developers, architects or managers – when we bring mobile application development into our organizations.
Hands-on training that targets your needs
When my friends at Tonex talked to me about Pratt and Whitney’s interest in BlackBerry development, they asked me to design a class tailored to P&W’s specific needs. This was great, because I think that customized training makes the most sense. I don’t like classes where the instructors are either promoting products or repeating a boring script.
The class we created had a number of interactive presentations and hands-on sessions. The presentations were based on the following topics:
- Overview of the BlackBerry platform
- BlackBerry development choices
- Developing for the BlackBerry Browser
- Developing Java ME applications for BlackBerry
- BlackBerry integration with the Microsoft .NET framework
- Migrating existing applications to the BlackBerry platform
- Best practices in mobile development
As we wanted the participants to see the issues we were discussing applied to real-world scenarios, our hands-on sessions focused on building a real-world BlackBerry application that demonstrated these important concepts:
- The basic structure of a BlackBerry Java ME application
- Screens, UI fields, and navigation
- Persisting application state
- Connecting to the network
- Resources and localization
- Integration with other applications and device hardware
- Debugging and deploying applications
- Best practices for developing Java ME applications
Observations and lessons learned
I’m very happy with the way the class turned out. I liked that P&W’s team was engaged and eager to apply what they were learning in the context of their business.
We had a mix of Java and Microsoft .NET developers, and once again I confirmed that these seemingly disparate backgrounds make almost no difference when it comes to assimilating the practices of mobile development with the BlackBerry platform.
Appreciating the benefits of mobile devices is not a problem anymore. However, we have to understand and solve the challenges imposed by mobile platforms to our effort; regardless of our role as developers or managers. We need to think about things like bandwidth utilization, security, administration, support, limited presentation surface, limited CPU power on the device, and extra load on our current systems. And we need to be ready for the added complexity if we are thinking about supporting additional devices, like iPhone and Android.
So, what are your thoughts? Are you new to mobile software development? Are you already doing it? What’s your experience?