Developing applications for the mobile world is incredibly tricky. Unlike the PC world, where the choices are pretty obvious, the complexity level for mobiles is exponentially more difficult. You basically take carriers multiplied by OEMs/handset vendors multiplied by operating systems multiplied by development platforms to set the base level of complexity. Add to that the rapid churn rate of users, and it becomes even trickier.
So, for a company that's developing mobile applications, and wants to maximize coverage while minimizing integration costs, what is the best strategy? We recognize that it may be different for enterprise apps and consumer apps -- but are interested in both areas, so please give thoughts either on both markets. Feel free to think outside the box, but hopefully the answers are practical. As a secondary question, if the strategy is to attack one platform at a time, what sequence of carriers/platforms/vendors makes the most sense, for each of the consumer and enterprise markets?