Main image of article Fundamentals of Mobile Development
Smartphone Interface Last year, ReadWriteWeb offered a few predictions in its 10 Mobile Trends for 2011. They included:
  • “Mobile/social/local combinations will explode, but will generate little revenue.”
  • “Mobile marketing spend will surpass $1 billion.”
  • “Mobile will increasingly prompt users to interact with their environment.”
  • “Mobile will mean more than mobile phones.”
Have any of these predictions come true? Absolutely. Can we expect these trends to continue? Yes, of course. What does it mean for the mobile development community? More importantly, how can developers, tech gurus and operations people actively participate in this great big thing called mobile? We'll get into that here at the Dice Mobile Development Talent Community. My goal is to make this your one-stop shop for insight and information into the trends and players in the mobile universe. I'll be posting regularly on the blog, researching companies and vendors, and soliciting your input from the community. Feel free to send me tips, links, comments and, of course, feedback. Mobile development is white-hot right now and tech professionals face a number of challenges and questions. What platforms should I be working on? What tools and techniques should I know or be learning? Where should I focus my time when looking for a job? Should I be concentrating on the app store stuff or spending time romancing the big-picture, enterprise model? Let's start with the basics of mobile platforms and tools.

Platforms

The dominant hand-held platforms in mobile include Apple's iOS and Google's Android. Microsoft's Windows Phone 7 and RIM's Blackberry OS round out the top four. Logic would say that familiarity with one or several of these platforms gives you the best chance for new employment. Whether Microsoft-, Apple- or Linux-based, notebooks are still considered “mobile." These devices are normally connected via WiFi or, to a lesser degree, 3G. Clearly, manufacturers anticipate that tablets will replace notebooks, but how long that will take is anyone's guess. Knowledge of software and application development on traditional notebooks and servers  will certainly help you make the jump to the pocket-sized smartphones. Don't forget that writing code, whether for a mobile phone application or a Web page, normally requires some kind of networked notebook or desktop machine. Let's face it, typing and debugging lines and lines of code on a smartphone just isn't much fun. Developers who can make code and applications work seamlessly across multiple platforms will definitely be in high demand. This piece from the Guardian on smart-phone application sales might help you decide on where to put your job search efforts. Trends at the service provider or carrier level should figure into your mobile development professional plan too. After all, what companies here do can have profound effects on the industry. Here are links to the major players in:

Tools

Programming languages for mobile development aren't all that different from the ones used in traditional PC and Web development. In fact, even if you aren't in purely mobile development, much of the programming might already be familiar to you. Common languages and formats include Javascript, HTML/HTML5/CSS/XML, C/C++, Java, Objective C, C#, PHP, Python, and .Net. Common programming environments include Eclipse and Ruby On Rails. Some resources:
  • The first stop for all Mac and iPhone programmers should be the iOS (Apple) Development Center.
  • As you might guess, Android has a similar place to go to get basic information.
  • Maybe you are in traditional information technology and want to create a quick app and that doesn't use a specific language. Take a look at App Inventor for Android. The framework uses a cut and paste model.
  • There's a lot of activity now focused on HTML 5. We'll be keeping an eye on that.
  • The Android Open Accessory Development Kit lets you connect your device to the physical world by way of a USB port. Think of all the interesting projects and products you could dream up when your smartphone or tablet can tether to micro-controllers like the Arduino or other USB devices.

Opportunities for Today's Mobile Developer

Current mobile developers probably have more opportunities than most others in IT right now. This is particularly true if you've been in the sector for a couple of years, delivered popular mobile applications, know your way around connectivity and the Cloud, and can run projects. As Android tablets and smartphones make their way into the enterprise, understanding how to deploy and manage them is becoming increasingly important--and so there's increasing the demand for professionals who could oversee those efforts. Resource management (for both notebooks and smartphones) usually falls under the operations umbrella. No doubt, seasoned mobile operations pros have been slogging through the challenges of bringing consumer devices onto the corporate networks, along with all the related issues and opportunities. Other organizations, such as universities, face the same operational challenges. And a number of observers say smartphones are the new security battlefield, so all you long-time  network crime fighters have a decent selection of gigs, too. Let's just say that successful mobile developers are going to be the people who are confident and productive in one or more programming languages, are able to pull together applications that span the mobile and networked-computing divide, and are knowledgeable in everything from user interface design to device management to security. That's a lot to know. But so is the payoff.