News.com writes about the need for modularised building blocks for building mobile applications:
A restaurant finder–a location-based mobile product that some of the most important operators already offer–illustrates the problems. A subscriber requests a list of nearby eating places, perhaps by the Short Message Service (SMS) or the operators mobile Internet portal; the operator notes the hungry callers location and replies with a list of restaurants. An operator developing such a product starts by defining its characteristics: which countries and cities to include, whether to add more detail (such as opening hours and prices), how to deliver the information to the subscriber (SMS, the Multimedia Messaging Service, or the mobile Internet), and a pricing scheme, which could involve a fixed monthly sum, usage-based fees, or fees based on the data usage that requests generate.
Then programmers get to work creating the applications, databases and interfaces. This is an arduous process that involves thousands of hours of coding, and the longer the code takes to write, the costlier the development of the product and the more time needed to bring it to market.
The product also needs a restaurant database, perhaps licensed from local guides, because the richer the information, the happier the subscriber. Likewise, the user experience will be vastly improved if suggestions are tailored to individual wallets and tastes. Marketing executives would want the software developers to concentrate on improving the user experience; after all, the other main ingredients of the restaurant finder will just be support features also developed for earlier products such as customer profiles (is the subscriber a teenager most likely looking for fast food or a business traveler seeking a more up-market establishment?) and systems for locating and billing subscribers.
This is when the problems begin.
The supporting features, it turns out, arent readily available. Information about customers is almost certainly spread over a multitude of databases and applications. Programmers may be able to access it, but they will need time to understand the code and data structures of legacy applications, to create interfaces to legacy databases and to combine and match customer information from many different sources. Ultimately, the great majority of the 10 or 20 programmers in a team will focus not on creating a differentiating customer experience but rather on getting the basics right.
Moreover, the problems dont disappear with less-sophisticated products. A prepaid calling plan, for example, might seem to be straightforward. But a team that’s developing one will look in vain for readily available support functions such as customer information, credit checks and the ability to calculate the price of each call for billing purposes.
An opportunity for entrepreneuers?