Dr. Dobb's: Are all mobile apps the same?
Ricciardi: There are two types of mobile apps: "ground apps" and "cloud apps." Ground apps never communicate over the cell network to retrieve or manipulate data. Cloud apps, which we focus on, connect to remote sources of data for the content and configuration of the application. The development challenges of cloud apps relate to the density of the technology stack necessary to support them. Data sources hosted remotely require a host, server-side programming knowledge, relational database management system knowledge, Web-service development knowledge, and server administration knowledge. On top of this is the client-side component that has an application and database tier itself. Throw in a UI, and you have a four-tier application.
Dr. Dobb's: Are tools emerging that make iPhone application development easier?
Ricciardi: Yes. Joe Hewitt and Facebook have been huge helps in iPhone development. The Three20 library Facebook app has some great stuff in it. The more open source code out there, the easier app development will get.
Dr. Dobb's: Is cross-platform possible?
Ricciardi: Cross-platform competency, strategy, and development is vital to a successful mobile strategy. The iPhone is cool, but it doesn't have the lion's share of the market just yet. BlackBerry and the Android OS are big contenders.
Dr. Dobb's: How has mobile changed IT?
Ricciardi: Mobile has introduced heightened security risks. From a company's standpoint, sensitive intellectual property is now floating around. From a productivity standpoint, having an entire team deployed on a device like the iPhone lets us stay in close communication no matter our location or time of day. This is but one example of how mobile has liberated and empowered today's workforce.