The need for enterprises to get serious about mobile computing cranked up a notch with the news that in 2011 smartphones outsold computers -- desktop, notebook, netbook, and tablet combined.
Mobility enhances agility. This is true whether we're talking about enabling mobility from the inside or the outside of the corporate firewall. Workers want to access corporate data and applications any time from anywhere, and companies that enable them to do so will reap rewards of increased nimbleness, timeliness of response, and productivity. Customers also want to interact with companies on a wherever/whenever basis -- for the three years since January 2009, mobile Internet use has doubled every year. Many agile companies have already have started the process of rendering customer-facing gateways friendly to mobile access.
Some app considerations
Assuming you're convinced of the need for increased focus on mobile, or are already working on a mobile strategy, let's look down the road to developing a smartphone app for either internal or external use.
First of all, the process is rarely as simple as writing a small, self-contained program that runs on an iOS or Android phone. It often will require infrastructure in the form of a server and a set of API endpoints, especially if any data is going to be collected from users. Developing the API can consume half of the development time and resources of the entire project.
Developing in HTML5 offers the hope of a true "write once, run anywhere" experience. A suitably designed HTML5/CSS3 app can transition seamlessly from desktop to laptop to tablet to smartphone display. Such apps, which have seen increasing adoption since first being proposed in 2008, are said to have a "responsive" or "fluid" design -- here are a number of examples.