Saturday, November 25, 2006

The ‘sponsored’ model for software

When Steve Ballmer (CEO of Microsoft) visited India couple of weeks back, he appeared in a TV show in NDTV profit channel. The program name was ‘Bridging 2 Indias’ and Naraya Murthy (Chief mentor of Infosys), Professor Ashok Jhunjhunwala (Professor at Electrical Engineering department at IIT Chennai and a famous personality who is promoting entrepreneurship in a big way) and Mr. Manvinder Singh(CEO of Ranbaxy) appeared in the panel discussion along with Mr. Ballmer. The theme of discussion was bridging rural-urban India using technology and it was really interesting.

For people who are reading my blogs regularly, would have found out that I am a strong believer in ‘empowerment’. It is the only way to solve major problems that India is facing today. In order to empower people, technology would definitely play a very key role and all the panel members shared the same opinion. Having said that, empowering people using technology (mainly using PC) is not all that easy in rural India because of the following reasons:

  1. The English language is popular only in urban India. So if it really needs to reach people it should to be in the local language.
  2. The pricing is always a challenge as rural folks would not be able to afford costly software.

In the panel discussion Murthy proposed an interesting concept called ‘sponsored model’ for software distribution, which I felt makes really sense in Indian context. What is this software sponsored model is all about? How it can be done? Will it be profitable for companies at the same time serve the rural Indians? Yes. It will. Let me give couple of successful examples for the sponsored model:

  1. The success of print media is mainly because of the sponsorship model. Have you ever thought about how newspapers are making profits even if they sell it at very low price (say Rs.2 and Rs.3)? What about GETIT yellow pages who are giving the news paper for free? It’s profitable because the major chunk of revenue in the print business comes from advertisements rather than subscriptions.
  2. The concept of ‘toll-free’ became a big hit because of the reason. When you dial 1-600 number in India (or 1-800 number in the US) the receiver pays for it. Basically it is sponsored.

Now what if the same model can be applied to software? How about having a Microsoft Windows running in Tamil language with advertisements (say P & G, levers, Pepsi, coke, and some local brands) bundled with the software? Basically the software company (like Microsoft) will tie up with various ‘sponsors’ and they will pay the major fraction of the software’s price. This will create a ‘win-win-win’ situation because of everyone benefits in this model. The software companies can access new markets (mainly the rural markets) not compromising too much on the price. The sponsors can reach more set of people which would help them to build the brand by placing advertisements. The rural folks will get the software at much cheaper price. Doesn’t it sound interesting?

In his famous book ‘Future at the bottom of the pyramid’, professor C.K.Prahlad strongly argues that future customers for all businesses are going to come from ‘bottom of the pyramid’ countries like India. I didn’t get a chance to read that book yet, but he has come to the conclusion based on his research. As the developed markets (like US, Singapore) are getting saturated, new products and business models need to be invented for ‘developing’ countries and sponsored model can be applied for software as well. I haven’t come across any companies who have started implementing this model but it really sounds interesting.

Sunday, November 12, 2006

Reflections on Innovation

The word ‘Innovation’ seems to be the latest buzzword in the tech industry. Last week Steve Ballmer (CEO Microsoft Corporation) visited India and re-iterated the need for innovation in Indian software companies. From my personal point of view I have been struggling hard to do innovation at my workplace and finally able to see some light at the end of the tunnel. In this blog I am going to share my reflections on Innovation.

Even though the word ‘Innovation’ sounds very flashy, it’s very difficult to innovate in Indian software companies because of the following reasons:

  1. Most of the projects we get to do in India are more of maintenance and enhancement type. Since the technology is already matured, there is little room to innovate.
  2. Since most of the companies are operating in the ‘offshore’ model, engineers are completely kept away from customers. We don’t get to see how exactly the customer is going to use a particular product or service. This also means that we don’t understand customer problems.
  3. Because of the nature of the work we do, the ‘technical career path’ concept is really not taken off in India. Even though all companies are advertising that they provide technical path, many of the senior techies are moved to techno-business kind of role or people managers as they are becoming overheads to organizations today. I might sound rude but that’s the reality. In the part five years I have never seen a technical expert who can design a complete product.
  4. Our education system doesn’t promote ‘learning-by-doing’ and most of us end up mugging up things rather than a hands-on approach.
  5. In India there is no proper industry-academia relationship. Computer science professors keep teaching the same old syllabus with their ‘ego’ on their shoulders and Industry people never bother to make a trip to colleges and giving them industry exposure. Except for IIITs I haven’t seen any other educational institutions actively tied up with the industry.

Cribs apart, let me put some serious thought. According to me innovation can be classified as ‘fundamental’ and ‘problem oriented’. The best example for the fundamental innovation is Boolean algebra. Bool invented this algebra in 18th century but no body thought about its real impact till digital electronics was invented couple of centuries later. Today Boolean algebra (manipulation of 1s and 0s) is the blood of ‘binary computing’. So by nature fundamental innovations are very different and it takes very long time feel the impact.

The ‘problem oriented’ innovation can be best explained with ‘lateral thinking’. In my blog about ‘Lateral thinking’, I have mentioned how an accident caused the invention of thermal inkjet. From the industry perspective this ‘problem oriented’ innovation is the way to go and the same method needs to be applied for innovating from India. I would say innovation is all about finding a customer problem and finding out a solution. These two phases are explained below:

The first phase is all about identifying the problem and validating it. This is also the most difficult phase, which answers the following ‘Why?’ questions.

1. Why this is a problem?

2.Why it is important to solve the problem for my organization?

In fact if the proper problem is identified 50% of the task is over. In the software world, the problem can be identified from the User Interface (UI) to the hardware resister value and every problem has equal value. After identifying the problem it needs to answer a simple question ‘Does this problem makes business sense?’ and this is where the subjective and objective aspects come in. It’s extremely important to validate the problem in a ‘subjective’ fashion rather than objectively. If the problem doesn’t make business sense from the organization’s point of view, it doesn’t make sense to proceed. In fact it’s always better to focus on the problem area that is related to the work or technology or domain we work with.

The second phase is more about solution design and implementation. To put in other words, it answers the following ‘How’ and ‘What’ questions.

  1. How am I going to solve the problem?
  2. How well my solution is going to address the problem statement?
  3. How can I reuse the existing pieces of software?
  4. What are the technologies or software components that are required?
  5. What is the solution design?

This is the phase where the ‘engineering’ aspects of the solution need to be decided. Once it is decided the solution implementation follows the typical design, coding and testing cycles. The above mentioned phases are totally different in nature. This is because in the first phase we use the ‘right’ side of the brain (intuitive part) and in the second part the ‘left’ side (analytical part). The first phase is ‘chaotic’ thinking; second phase is ‘organized’ thinking. In a way I can say innovation is nothing but an ‘organized chaos’.

I have been going through this ‘innovation’ journey for the past one year and it’s been very interesting. I am very much in the initial learning phase but I am enjoying every moment of it. If Dr. APJ Abdul Kalaam and Dr.Varghese Kurian can achieve 'innovation' in defence and milk production areas, the post-reform IT industry people don't have any excuses for not doing innovation. All it takes is passion, purpose and a strong urge to see a meaning for life.



Saturday, November 04, 2006

Building Embedded Systems – A programmer’s perspective

The Embedded Systems domain is poised for a huge growth as more and more embedded devices are flocking into the market. These Embedded devices range from small consumer electronic devices (like mobile phones) to enterprise devices (like telecom switches). Even though the size of these devices varies, the programming fundamentals remain almost the same. In this article we will discuss about building blocks of embedded systems from a programmer’s perspective.

Before getting into these blocks, we need to understand that programming embedded systems is very much different from application programming. Also embedded systems programming has a set of challenges because of the following reasons:

1. Embedded systems have very limited resources (in terms of memory, storage, processing power) compared to a general purpose computing device like PC.

2. Because of the less memory availability and requirement of faster response, embedded systems have Real Time Operating Systems (RTOS). These RTOS have flat memory model where all processes in the system run under the same memory space. This will lead to lot of memory corruption and inter process communication errors. Debugging these errors are really challenging.

3. Embedded systems have a pre-defined performance requirements and response time.

From a programmer’s perspective there are four building blocks for any system namely boot-loader, operating system, device drivers, networking subsystem apart from the device’s main functionality. When the system gets powered up the boot-loader is the first program that gets activated from the non-volatile memory. This boot loader will vary from one system to another, because it mainly depends on the way system is configured. This boot loader will in turn revoke the operating system by calling its entry point, which in-turn initializes various operating system services (memory, tasks, scheduler etc...).

Once the operating system services are initialized, all the low level device drivers followed by other subsystems (like networking) are brought up. At this point we can say that the platform is built for the system. After this initialization is complete, the system would be in a position to perform its expected functionality. This functionality will vary from device to device as each system is built for a different purpose. Say for example a router’s main functionality would be to route the packets but a microcontroller’s functionality may be measuring the temperature using a sensor. Finally functionality programming is the main core of embedded system which requires a powerful programming language.

In spite of so many new programming languages, 85% of embedded systems are built using C language. This is mainly because it produces the most optimal machine code. Here is where Data Structure programming plays the critical role. If the above mentioned blocks can be equated to various organs of human body, data structure programming is the life-blood of that body. Without sound data structure programming no embedded systems can be built. Sounds different? Read on.

As mentioned in the beginning of this article, embedded systems have a very limited amount of memory. So using the memory optimally and freeing them plays a very vital role. Since data structures (especially in C) provide this power to the programmers, it becomes the life-blood of the system. If you get a chance to look into the code base of any embedded system, you will come across Abstract Data Types (ADTs) liked lists, stacks, queues and graphs very frequently. Also other subsystems (say for example networking) provide certain interface or framework for programmers. It is up to the programmers to make use of them and build the expected functionality. The networking subsystem provides the ‘socket’ interface and learning it is comparatively easy. But what exactly the programmer wants to do with sockets? How is he going to program the network protocol using sockets? The answer is once again data structures. That’s why through understanding and programming knowledge of data structures is the key building any embedded system.

To conclude understanding the various frameworks and data structure programming are the fundamental building blocks of any embedded system.

Wasteful Consumption Vs self respect

Couple of weeks back I wrote a blog about Muhammad Yusuf and his micro credit concept. This trigged interested discussion among my friends circle and finally we all converged and agreed about a single word: ‘Empowerment’. The empowerment is the only way to solve problems like poverty, illiteracy in countries like India and it needs to be done at all levels ranging from family to government. When individuals are empowered, they get access to information and knowledge which will improve the quality of life. The raise of Indian middle class is a standing example for empowerment.

Economists (Especially ‘swaminomics’) are predicting that economic empowerment will result in betterment. Of course the betterment cannot be achieved in a near future and it will take at last another two to three hundred years. In the mean time it is important that we march towards the future with confidence, pride and patriotism. In these lines one of my senior Alumni Mr. P.R.Iyer wrote an article and sent it to me. After taking his permission I am publishing it below.

As we march into the next decade, we notice that some people due to their, birth, education, culture, race, color creed, religion or other factors grow rich faster than others. But that is how it is, in all walks of life; any artificial attempt to normalize this inequality is fraught with more complex problems. We notice that in our enthusiasm to undo the imbalance we create more knotty problems than we have attempted to solve. What has communism achieved in the last century; it only created another set of well to do folks who exploited the poor. Which communist state has succeeded in eradicating poverty? Mohammed Yunus method of rendering credit facility to the women is a remarkable way of helping the down trodden; while preserving their self respect. If you dole out freebees or you start donating largesse , or you provide artificial quotas you are bound to fail .As somebody said, it is better to teach a fellow to fish than to give him fish to eat

Buddhist economy about which Schumacher(pronounced Shoemaker) talks is mainly to ensure a balance between the extreme ideologies .A rich buyer and a poor seller in a market place continue trade in a situation of bias. Conversely a rich seller and a poor buyer are also in trade to make the imbalance. As the hypothetically equipoise trade where the buyer and the seller are equal on the scales is impossible, the correct method should be to ensure that no body wastes the resources of this planet earth, be it the rich or the poor. On the contrary, they should during their lifetime do such acts that will generate renewable sources of energy .Stop this wild race for swallowing fossil fuel. Mass production is to be supplemented by production by masses wherever the geographical terrain, culture, education, intelligence levels are not conducive to production these should be abandoned. There is no point in producing biscuits in Calcutta and Bombay and transporting to both the cities by wasteful exercise of fuel consumption In stead the region of Bombay should export only such products as are not made in the region of Calcutta and vice-versa The folks of one region should remain contended with the produce within their near about.

Migration of labour to cities should cease. Man gets happiness when he produces goods with his hands or brains. This joy should not be denied by making his job mechanical. Women have a very special place in our society their skills are not inferior to those of man. But the little imbalance that nature has made by way of reproductive capacity cannot be wished away. Girls top in the school leaving exam year after year, women entrepreneurs show great skills. Woman PM of India was more daring than her male counterparts all these, at the cost of neglect of the family. A woman has to be mother first and all other accolades are only to sub serve the first .

In a society where most women go to work one is bound to observe a fall in value system consequent to neglect of the home. A small percentage of women supporting a male workforce is fine ; but if half the women folk leave their primary duty of talking care of children IN THEIR FORMATIVE YEARS or fail to instill a sense of culture , a society will grow which cannot fall back on good values. Already the Scandinavian countries are facing a heterogeneous family system devoid of supportive factors for the old and the infirm, The state can fill this gap at huge cost .Indian way of looking and tending the old has great strength in family .Let us not lose this advantage for a few DOLLARS more

A society is judged by its culture; and not by its consumptive capacity. The very idea of listing names of countries on the basis of consumption of electricity, which the World Bank looks absurd. How can consumption be a yardstick Production can be? What Yunus does is to make the village folks generate goods and services employing their skills with least damage to environment and society therefore he gets Nobel Prize; a well deserved one.

Schumacher’s book talks of this; Buddhist economy is akin to Gandhi or Vinoba Bhave’s ideas. In order that man becomes divine there should be opportunity to all; going to work place should be easy, enjoying work, taking pride on one’s creation leads to respect and self esteem.

P.R.IYER

Friday, November 03, 2006

Bangaloreit.in – 2006

Last weekend I got a chance to visit bangaloreit.com-2006, an annual IT tradeshow promoted by Government of Karnataka along with Software Technology Parks of India (STPI).


Following are some of the stuff which I liked this time:
IP Zone


This stall was dedicated for ‘Intellectual property development in India’ and it was really amazing. This had about 11 participants who demonstrated their products (Completely developed out of India) and felt ‘special’ when I saw the ‘Made in India’ logo in some of these products. Yes! It’s happening! Products can be completely developed out of India. Following are some of the companies and their products:

a. SemIndia: This Company deserves a special note because it is promoted as a public-private partnership, supported by Government of Andra Pradesh. I was able to see their Broadband routers (One with single Ethernet-DSL and another with multiple Ethernet ports with Wireless) and it was simply amazing. This organization is setting up their hardware manufacturing facility in Hyderabad which is really interesting. Currently lots of embedded product companies are relying on countries like Taiwan, China and Korea for hardware manufacturing. By having this facility in India not only reduces the turn-around time, but also helps to achieve 100% ‘Made in India’ products.

b. Video on Demand: I was also able to see products many products having Video-On-Demand (VOD) support. This seems to be the next big thing where the media is delivered over the any form network like Internet, Cable television. The satellite based delivery of video (as a digital media) would bring in significant changes in India because of the following reasons:
i. Laying cables throughout India is a difficult task as it involves huge amount of investment and regulatory issues. Also satellite network can even penetrate the smallest village without running any cable.

ii. The cable TV network (which is maintained by local goons) will proceed towards consolidation and get organized. When professional players like Tata (who are providing this service via their latest ‘Tata Sky’ product) enter into this segment, it will become better.

c. Others: I could see Video phone platform which is licensed to Original Equipment Manufactures (OEMs). Encore has got their Mobile computing devices with customized Linux. These devices are being used for computer education in countries like Africa. I was also able to see Enterprise routers with integrated data, voice and security.

States and IT:
Various states have put up their stalls about how they are promoting IT by various ways. Following are some of the interesting points:
a. In spite of all problems the ‘Brand Bangalore’ is ruling this industry. Bangalore is the second hottest city in the world (Next to Tokyo) for setting up new shop. This also explains why the city is getting costlier day by day.

b. It’s very clear now! My ‘Sambar state’ (Tamil Nadu) is where the future action is going to be. I got a chance to interact with some of the officials from Electronic Corporation of Tamil Nadu (ELCOT) and they have clearly laid out plans to promote IT in Tamil Nadu. Next to Chennai they are setting up IT parks in Coimbatore, Trichy, Thirunelveli, Salem, Madurai and Hosur. Lands for IT Park are already allotted in Coimbatore and other places the land is almost finalized. They even had maps where these lands are going to be.

c. Gujarat, Kerala, West Bengal and Orissa gave their attendance just by having their stalls. I couldn’t find anything interesting. This time I couldn’t see Andra Pradesh. May be because Mr. Naidu, CEO of AP is not in power?

Other than the above mentioned points, remaining stalls were normal ones. The disappointing point was we couldn’t find any place to sit and have tea. Only grand Asoka has their stall and we ended up paying 20 bucks for a tea.