Horizontal and Vertical APIs: The software modules developed will not satisfy the needs of every company or every industry. Even across countries, the requirements may vary. For this, it is necessary to define programming hooks (an Application Programming Interface) which can be used by developers to localize and specialise. This is akin to the approach software companies like Microsoft have used to win over the software developers.
Integration: What the customer needs to see is an integrated suite – like a car. The customers do not have the money to pay for mechanics to assemble the car and don’t really care who makes the components as long as what they get is a working car. (Marutis still sell a lot in India!)
Internet for Distribution: While the current flavour of the day is for Web services and ASPs (software on tap, or software as subscription), I believe that the connectivity challenge on the last-mile is not going away anytime soon. Countries like India have state-of the-art LANs but their wide area networks (WANs) lag the world by 5-6 years in terms of price-performance. While fibre optics will solve the problem, the ideal solution is to deliver the software to a server on the LAN, with replication on the Internet. Employees and managers within the enterprise need to only access the local server for the applications and the data.
Whole Solution: The bottom of the enterprise pyramid needs a “complete product”. They have neither the IT staff to integrate various technologies together, nor do they have the money to pay for consultants to evaluate needs and recommend solutions. They are more than willing to change business processes to fit the solution.
The three critical building blocks for the software solution are Messaging, Collaboration and Enterprise Software. Messaging (email and Instant Messaging) help people communicate. This can help bring down the communications costs for the enterprises. Collaboration software helps in sharing of information, and for people to work together in teams – within the informal business network (which can go beyond the enterprise). The Enterprise Software suite helps automate business processes. The first three applications needed as part of the enterprise software are modules for managing money (Accounting), customers (customer relationship management software) and inventory (supply chain software).