Library tutorials & articles
Mobile Software Development
Overview
The challenge of Mobile Software Development
Mobile software developers face the challenge of delivering increasingly more products that are more complex, faster and at lower cost while maintaining high-levels of reliability and performance. With content being the main market differentiator in the mobile sector this pressure will only increase. Developers that recognise this trend know that they need to modify their engineering approach.
Variability – an increasing problem
The mobile domain, like other embedded domains, is inherently complex but the demand for an ever-increasing number of software variants magnifies this complexity. This demand comes from several sources including:
- Handset Diversity
- Operator-specific requirements
- Market differentiation e.g. high-end vs. low-end products
- Legal and Environmental constraints
Traditional solutions to variant management typically consist of an ad hoc combination of methods such as modifying copied files (clone-and-own), configuration-management branching, language-level constructs such as if-defs and templates, special file-names, runtime parameters and build and/or installer scripts.
That these solutions will require more and more maintenance effort over time, eventually leading to a crisis point, has been well documented.
The associated download looks specifically at the challenges faced by Mobile Games Developers and analyses whether Software Product Line development is an approach which could help address some of these challanges.
I would add one more challenge – diversity of development platforms. In the world of Internet or desktop applications you can choose a single development platform and be sure that your product will reach pretty much your entire target audience. When it comes to mobile applications the reality is very different. In the USA for example two out of three largest wireless carriers support J2ME while the third prefers BREW. Symbian has large market share around the world but much smaller presence in the USA. Business users in the USA love Blackberry but overall RIM’s market share is rather small. Choosing development platform is not an obvious task. For discussion on pros and cons of various platforms you can refer to http://mobilesoftdev.blogspot.com/2006/12/what-technology-platform-to-choose-for.html
This thread is for discussions of Mobile Software Development.