A Third Angle

A Third Angle

A teacher teaching Mathematics to seven-year-old Arnav asked him, “If I give you one apple and one apple and one apple, how many apples will you have?”

With a few seconds Arnav replied confidently, “Four!” The dismayed teacher was expecting an effortless correct answer (three). She was disappointed. “May be the child did not listen properly,” she thought. She repeated, “Arnav, listen carefully. It is very simple. You will be able to do it right if you listen carefully. If I give you one apple and one apple and one apple, how many apples will you have?”

Arnav had seen the disappointment on his teacher’s face. He calculated again on his fingers. But within him he was also searching for the answer that will make his teacher happy. This time hesitatingly he replied, “Four…”   The disappointment stayed on teacher’s face. She remembered Arnav loves strawberries. She thought maybe he doesn’t like apples and that is making him lose focus.

This time with exaggerated excitement and twinkling eyes she asked, “If I give you one strawberry and one strawberry and one strawberry, then how many will Arnav have?”  Seeing the teacher happy, young Arnav calculated on his fingers again. There was no pressure on him, but a little on the teacher. She wanted her new approach to succeed. With a hesitating smile young Arnav enquired, “Three?”  

The teacher now had a victorious smile. Her approach had succeeded. She wanted to congratulate herself. But one last thing remained. Once again she asked him, “Now if I give you one apple and one apple and one more apple how many will you have?” Promptly Arnav answered, “Four!”
The teacher was aghast. “How Arnav, how?” she demanded in a little stern and irritated voice. In a voice that was low hesitating young Arnav replied, “Because I already have one apple in my bag.”

Just a thought:

When someone gives me an answer that is different from what we are expecting, not necessarily they are wrong. There may be an angle that we have not understood at all. Look for the third angle in every problem and solutions. They help a lot.

 A leader talks to the people & also looks out for the apples in their bag!

Various Canvas Types in Oracle Form

Various Canvas Types in Oracle Form

What is a Canvas?

A canvas is a surface inside a window container on which you place visual objects such as interface items and graphics. It is similar to the canvas upon which a picture is painted. To see a canvas and its contents at run time, you must display it in a window. A canvas always displays in the window to which it is assigned.

Canvas Types

Oracle Forms provides four types of canvases, all of which can be displayed in the same window at runtime. A canvas’ type defines how Oracle Forms will display it in the window to which it is assigned. When you create a canvas, you specify its type by setting the Canvas Type property.

The four canvas types are:

  • Content
  • Stacked
  • Tab
  • Toolbar

Content Canvas:

The most common canvas type is the content canvas (the default type). A content canvas is the “base” view that occupies the entire content pane of the window in which it is displayed. You must define at least one content canvas for each window you create.

When building an application, one of the first steps is to create content canvases that will be displayed in the windows of your form(s). While you can assign more than one content canvas to the same window at design time, at runtime only one content canvas is displayed at one time in the window.

Stacked Canvas:

A stacked canvas is displayed at top—or stacked on—the content canvas assigned to the current window. Stacked canvases obscure some part of the underlying content canvas, and often are shown and hidden programmatically. You can display more than one stacked canvas in a window at the same time.

Stacked canvases are displayed in a window along with the window’s content canvas(es) and any number of other stacked canvases. You can set the bevel, color, and pattern attributes of a stacked canvas to make it look different than the underlying content canvas.

Creating a stacked canvas is similar to creating a content canvas. To define a stacked canvas, you need to set certain canvas properties that apply only to stacked canvases, and create items and boilerplate text and graphics as you would for a content canvas. To convert an existing content canvas to a stacked canvas, simply change its Canvas Type property from Content to Stacked.

Tab Canvas:

A tab canvas—made up of one or more tab pages—allows you to group and display a large amount of related information on a single dynamic Oracle Forms canvas object. Like stacked canvases, tab canvases are displayed on top of a content canvas, partly obscuring it. Tab pages (that collectively comprise the tab canvas) each display a subset of the information displayed on the entire tab canvas.

A tab canvas can have many tab pages, and must have at least one. Think of tab pages as the folders in a filing system. Each individual tab page (folder) has a labelled tab that developers and end users click to access the page. At design time or runtime, you click the labelled tab to display the page at the front of the tab canvas, thereby obscuring any other page(s).

Tab pages are sub-objects of a tab canvas. Like the canvas to which it is attached, each tab page has properties; similarly, any item you place on a tab canvas has a canvas property as well as tab page properties. The ordering of tab pages in the Object Navigator determines the left-to-right (or top-to-bottom) order of the tabs at runtime.

Toolbar Canvas:

A toolbar canvas often is used to create toolbars for individual windows. You can create two types of toolbar canvases: horizontal or vertical. Horizontal toolbar canvases are displayed at the top of a window, just under its menu bar, while vertical toolbars are displayed along the far left edge of a window.

You can create toolbar canvases, both horizontal and vertical, for any window in a form. Oracle Forms displays horizontal toolbar canvases across the top of a window, and vertical toolbar canvases on the left edge of a window.

When you create a toolbar canvas, you assign it to a window by setting the canvas Window property, and then register it with the window by setting the window’s Vertical Toolbar Canvas or Horizontal Toolbar Canvas properties as appropriate. You can change the appearance of a toolbar at runtime by dynamically showing and hiding different items on the toolbar. You also can create more than one toolbar for the same window, and display them in response to navigation events and programmatic control, much like stacked canvases assigned to the same window.

Database programming using JDBC-An Introduction

Database programming using JDBC-An Introduction

Even though Java has many features, it became famous and widely accepted in the industry because of its platform independency.  The acceptance does not become hundred percent complete unless business community endorses java.  Every enterprise (business) application is required to access the database either for retrieving the data to be processed or for storing the processed data.  Java offers a clean and simple approach for database connectivity through JDBC using which a java application can connect virtually to any database.  Therefore enterprises endorsed java and rest is the history.

What is JDBC?

JDBC is a trademark name from Sun. It is not an acronym for Java Database Connectivity. JDBC is an API. Using this API we can develop java applications that can communicate with databases. JDBC API support is made available to Java applications through 2 packages.

  1. java.sql
  2. javax.sql

java.sql package offers a set of fundamental interfaces and classes used for java-database communication. Extension package is used for advanced Java-database operations.


Java Application: – It can be a stand-alone java program, a servlet, a jsp, a Java bean or an EJB, which uses the JDBC API to get connected and perform operations on the database data.

JDBC API: It is a set of classes and interfaces used in a java program for database operations. java.sql & javax.sql packages provide the necessary library support.

DriverManager: – Java program uses DriverManager to get the connection with the database.

Driver: – It is the software that establishes connection with the database.  It is the translation software that translates the JDBC method calls. This software enables the communication between java program and the database.

Database: – Enterprise data is stored in the database.

Standard steps to connect to the database from a Java program

  1. Loading the driver
  2. Preparing the connection string
  3. Requesting for the connection
  4. After performing database operations closing the connection.

Loading the Driver:

Important entity in the Java-Database communication is the driver. JDBC driver is a class. We have to load this Java class programmatically into memory.  We have so many kinds of drivers. Initially we make use of Sun Microsystems developed driver. Fully qualified name of that driver class is “sun.jdbc.odbc.JdbcOdbcDriver”. To load the class dynamically, we use the following static method.   Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Preparing the connection string:

We need to supply the database URL for connectivity purpose. This URL is known as connection string. When we are using Sun driver, connection string will be in the following format.

String cs=”jdbc:odbc:dsn”;

Data Source Name (DSN) we have to configure externally. After configuring, we give some name to the configuration. That name we use in the connection string.

Requesting for connection:

Java program calls the following method on the DriverManager to get the database connection.

Connection con=DriverManager.getConnection(cs,”username”,”password”);

DriverManager initializes the connection process on the driver. Driver creates the connection and gives to the DriverManager. In turn, it gives to the Java program.

Closing the connection:

After performing database operations (Insertion, deletion, updation or selection) we close the database connection.

Task: – stand-alone Java application that connects to the oracle database.

  Source code: -ConnectToOracle.java
import java.sql.*;
class ConnectToOracle
  public static void main(String args[]) throws Exception
          String driver=”sun.jdbc.odbc.JdbcOdbcDriver”;
          String cs=”jdbc:odbc:student”;
          String user=”scott”;
          String pwd=”tiger”;
          System.out.println(“Driver loaded”);
          Connection con=DriverManager.getConnection(cs,user,pwd);
          System.out.println(“Connected to the oracle database”);

If the above program is successfully executed, we get the following output.

  Driver loaded

  Connected to the oracle database

Observations to be made

  1. In the connection string, “student” is the DSN. We need to configure it using Data Source Administrator.
  2. The user name “scott” and password “tiger” is the default user name and password to login to oracle database. The database administrators change them. Accordingly we have to change them in our program.
  3. forName method throws ClassNotFoundException. getConnection and close methods throw SQLException. Either we have to handle them explicitly by writing try catch OR pass on them by using throws class for the main. Otherwise, compiler generates syntactical errors and forces us to deal with exceptions.

The Empty Jar And 2 Cups of Coffee

The Empty Jar And 2 Cups of Coffee


When things in your life seem almost too much to handle, when 24 Hours in a day is not enough,Remember this story.

A professor stood before his philosophy class and had some few items in front of him. When the class began, wordlessly, he picked up a very large and empty jar and proceeded to fill it with golf balls.

He then asked the students, If the jar was full. They agreed that it was.

The professor then picked up a box of pebbles and poured them into the jar.  He shook the jar lightly. The pebbles rolled into the open Areas between the golf balls.

He then asked the students again If the jar was full. They agreed it was.

The professor next picked up a box of sand and poured it into the jar. Of course, the sand filled up everything else.

He asked once more if the jar was full. The students responded with an unanimous ‘yes.’

The professor then produced Two cups of coffee from under the table and poured the entire contents into the jar, effectively filling the empty spaces between the sand.

The students laughed.

‘Now,’ said the professor, As the laughter subsided, ‘I want you to recognize that this jar represents your life. The golf balls are the important things – God, family, children, health, friends, and favorite passions – things that if everything else were lost ,only they remained, your life would still be full.’

‘The pebbles are the other things that matter like your job, house, and car. The sand is everything else — the small stuff.’

‘If you put the sand into the jar first,’  He continued, ‘there is no room for the pebbles or the golf balls. The same goes for life. If you spend all your time and energy on the small stuff, you will never have room for the things that are important to you.’


Pay attention to the things  That are critical to your happiness. Play With your children. Take time to get medical checkups. Take your partner out to dinner.

There will always be time to clean the house and fix the disposal. ‘Take care of the golf balls first — The things that really matter. Set your priorities. The rest is just sand.’

One of the students raised her hand and inquired what the coffee represented.

The professor smiled. ‘I’m glad you asked’.

It just goes to show you that no matter how full your life may seem, there’s always room for a cup of coffee with a friend.’

Have a nice day!



A multiple-form application is designed to open more than one form module during a single Forms Runtime session. Every Form’s Runtime session begins the same way—with a single form module being loaded into memory. Once the first form module begins execution, it can programmatically invoke any number of additional form modules, which, in turn, can invoke still other forms.

When a form module programmatically invokes another, Oracle Forms looks for the new module in the appropriate directory and then loads it into memory.

Lets see the following three Built-ins to invoke one form from another.

OPEN_FORM Built-in

This built-in opens the indicated form. Use OPEN_FORM to create multiple-form applications, that is, applications that open more than one form at the same time.

Enter Query Mode: no



(formmodule_name VARCHAR2,

activate_mode NUMBER,

session_mode NUMBER,

data_mode NUMBER,

paramlist_id PARAMLIST);



  • The name of the form to open. Datatype is VARCHAR2. Required


  • ACTIVATE: (The default.) Sets focus to the form to make it the active form in the application.
  • NO_ACTIVATE: Opens the form but does not set focus to the form. The current form remains current.


  • NO_SESSION (The default.): Specifies that the opened form should share the same database session as the current form.
  • SESSION: Specifies that a new, separate database session should be created for the opened form.


  • NO_SHARE_LIBRARY_DATA (The default.):At runtime, Oracle Forms will not share data between forms that have identical libraries attached (at design time).
  • SHARE_LIBRARY_DATA: At runtime, Oracle Forms will share data between forms that have identical libraries attached (at design time).


The unique ID that Oracle Forms assigns to the parameter list at the time it is created.

CALL_FORM Built-in:

Runs an indicated form while keeping the parent form active. Oracle Forms runs the called form with the same Runform preferences as the parent form. When the called form is exited Oracle Forms processing resumes in the calling form at the point from which you initiated the call to CALL_FORM.

Enter Query Mode: yes



(formmodule_name VARCHAR2,

display NUMBER,

switch_menu NUMBER,

query_mode NUMBER,

data_mode NUMBER,

paramlist_name VARCHAR2);



  • The name of the called form (must be enclosed in single quotes). Datatype is VARCHAR2.


  • HIDE (The default.): Oracle Forms will hide the calling form before drawing the called form.
  • NO_HIDE: Oracle Forms will display the called form without hiding the calling form.


  • NO_REPLACE (The default.): Oracle Forms will keep the default menu module of the calling form active for the called form. 
  • DO_REPLACE: Oracle Forms will replace the default menu module of the calling form with the default menu module of the called form.


  • NO_QUERY_ONLY (The default.): Oracle Forms will run the indicated form in normal mode, allowing the end user to perform inserts, updates, and deletes from within the called form. 
  • QUERY_ONLY: Oracle Forms will run the indicated form in query-only mode, allowing the end user to query, but not to insert, update, or delete records.


  • NO_SHARE_LIBRARY_DATA (The default.): At runtime, Oracle Forms will not share data between forms that have identical libraries attached (at design time).
  • SHARE_LIBRARY_DATA: At runtime, Oracle Forms will share data between forms that have identical libraries attached (at design time).


  • The name you gave the parameter list object when you defined it. Datatype is VARCHAR2.

NEW_FORM Built-in

Exits the current form and enters the indicated form. The calling form is terminated as the parent form. If the calling form had been called by a higher form, Oracle Forms keeps the higher call active and treats it as a call to the new form. Oracle Forms releases memory (such as database cursors) that the terminated form was using. Oracle Forms runs the new form with the same Runform options as the parent form. If the parent form was a called form, Oracle Forms runs the new form with the same options as the parent form.

Enter Query Mode: no



(formmodule_name VARCHAR2,

rollback_mode NUMBER,

query_mode NUMBER,

data_mode NUMBER,

paramlist_name VARCHAR2);



  • Then name of the called form (must be enclosed in single quotes). Datatype is VARCHAR2.


  • TO_SAVEPOINT (The default.): Oracle Forms will roll back all uncommitted changes (including posted changes) to the current form’s savepoint.
  • NO_ROLLBACK: Oracle Forms will exit the current form without rolling back to a savepoint.
  • FULL_ROLLBACK: Oracle Forms rolls back all uncommitted changes (including posted changes) that were made during the current Runform session.


  • NO_QUERY_ONLY (The default.) Runs the indicated form normally, allowing the end user to perform inserts, updates, and deletes in the form.
  • QUERY_ONLY Runs the indicated form in query-only mode; end users can query records, but cannot perform inserts, updates or deletes.


  • NO_SHARE_LIBRARY_DATA (The default.): At runtime, Oracle Forms will not share data between forms that have identical libraries attached (at design time).
  • SHARE_LIBRARY_DATA: At runtime, Oracle Forms will share data between forms that have identical libraries attached (at design time).


  • The name you gave the parameter list object when you defined it. Datatype is VARCHAR2.

World Wide Oracle User Groups

World Wide Oracle User Groups

International Oracle Users Group Community

The IOUC is a community of leaders representing Oracle users groups worldwide. It is a forum for them to share best practices for leading and managing their users groups. Worldwide, there are over 450 independent users groups focused on Oracle products and technology. The IOUC is a place for the leaders to meet, share ideas and help determine the future of the Oracle users group communities.

Oracle Applications Users Group (OAUG)

The mission of the Oracle Applications Users Group is to represent the interests of the family of Oracle Applications users worldwide in securing the optimum use and ongoing development of the Oracle Applications products.

Oracle Development Tools Users Group (ODTUG)

ODTUG is an independent, not-for-profit global organization providing education, support, advocacy, and networking opportunities for all developers, using a variety of technologies, who work on Oracle Databases.


Independent Oracle Users Group (IOUG)

The Independent Oracle Users Group (IOUG) represents the voice of Oracle technology and database professionals and empowers them to be more productive in their business and careers.

All India Oracle Users Group (AIOUG)

AIOUG is a non profit organization started by like minded users who think such a community is required in India where the amount of Oracle user base is humongous. The idea of this group is to share what the Oracle users have learned from using Oracle technology over the years with fellow users who have similar interest.

Other Groups:

Higher Education User Group (HEUG) – www.heug.org
Oracle HCM Users Group (OHUG) – www.ohug.org
Oracle Life Sciences Users Group (OLSUG) – www.olsug.org

AOUG (Austria) – AOUG: Austrian Oracle Users Group

BROUG – Baton Rouge Oracle Users Group

CFOUG – Central Florida Oracle Users Group

CLTOUG – Charlotte Oracle Users Group

COUG – Chicago Oracle Users Group

COUG (Calgary) – COUG: Calgary Oracle Users Group

CUORE (Spain) – CUORE: Spain Oracle User Group

CyOUG (Cyprus) – CyOUG: Cyprus Oracle User Group

DOAG (Germany) – DOAG: German Oracle Users Group

DOUG – Dallas Oracle User’s Group

GCOUG – Greater Cincinnati Oracle User’s Group

GOUsers – Georgia Oracle Users

HIOUG – Hawaii Oracle User Group

HOUG – Houston Oracle Users Group

INOUG – Indiana Oracle Users Group

KCOUG – Kansas City Oracle User Group

LAOUG – Los Angeles Oracle Users Group

MAOP – Mid-Atlantic Association of Oracle Professionals

MOUG – Midwest Oracle Users Group

NATCAP-OUG – National Capital Oracle User Group

NEOOUG – Northeast Ohio Oracle Users Group

NFOUG – North Florida Oracle User Group

NJOUG – New Jersey Oracle Users Group

NMOUG – New Mexico Oracle Users Group

NOCOUG – Northern California Oracle Users Group

NOUG – Northeast Oracle User Group, Inc

NWOUG – Northwest Oracle Users Group

NYOUG – New York Oracle Users Group, Inc

NZOUG (New Zealand) – New Zealand Oracle Users Group

OOUG – Ohio Oracle Users Group

OOUG (Ottawa) – OOUG: Ottawa Oracle Users Group

OUGF (Finland) – OUGF: Oracle User Group Finland

OUGN (Norway) – OUGN: Oracle Users Group Norway

PLOUG (Poland) – PLOUG: Poland Oracle User Group

PSOUG – Puget Sound Oracle Users Group

SAOUG (South Africa) – SAOUG: South African Oracle Users Group

SCOUG – South Central Oracle User Group

SDOUG – San Diego Oracle Users Group

SIOUG (Slovania) – Slovania Oracle User Group

SOUG (Switzerland) – Swiss Oracle Users Group

UKOUG (United Kingdom) – United Kingdom Oracle User Group

UNYOUG – Upstate New York Oracle Users Group

UTOUG – Utah Oracle Users Group

VICOUG (Victoria) – Victoria Oracle Users Group

VOUG – Virginia Oracle User’s Group

WMOUG – Western Michigan Oracle Users Group

Change the way you look at a problem

Change the way you look at a problem


A millionaire who was bothered by severe eye pain consulted so many physicians and was getting his treatment done. He consumed heavy loads of drugs and underwent hundreds of injections. But the ache persisted with great vigor. At last a monk who was supposed to be an expert in treating such patients was called by the millionaire. The monk understood his problem and said that for some time he should concentrate only on green colors and not to fall his eyes on any other colors. The millionaire got a group of painters and purchased barrels of green color and directed that every object his eye was likely to fall to be painted in green color.

When the monk came to visit him, the millionaire’s servants ran with buckets of green paints and poured on him since he was in red dress, lest their master not sees any other color and his eye ache would comeback. The monk laughed and said “if only you had purchased a pair of green spectacles, worth just a few rupees, you could have saved these walls, trees, pots and all other articles and also could have saved a large share of his fortune. You cannot paint the world green”.

Let us change our vision and the world will appear accordingly. It is foolish to shape the world, let us shape ourselves first.

Lets change our vision..!! Think simple, Live simple.

Wrong Number – A Beautiful Story

Wrong Number – A Beautiful Story

It was the day of my son’s XII results and I was so tensed. I sat beside him while he logged on the website with his registration no.

“Ma”, he screamed in excitement, “I scored 1191, with centum in 4 subjects.”

I can’t believe it. “I kind of became numb in my excitement. My eyes became wet. I kissed him on his forehead and smiled.”

Soon we realized that he stood first in the state. Oh, my joy knew no bounds when Reporters and media persons soon swamped my house for interviews and photos. I was so honored to join him in the snaps.

I wanted to call my “wrong-number-friend” to tell him the news…… I was so excited. He was someone whom I have known for more than 20 years.

I still do not remember when we became friends, but certainly cannot forget the first day he called me When I blasted him for giving me so many wrong calls….. After that he had called up a week later asking apology, for he had now got the right no of his friend whom he wanted to talk to .We spoke for an hour that day…even without knowing each other’s names. Though he kept pestering me to reveal my name I never did and so he kept a name…Sweety. I used to get so shy whenever he called me ‘Sweety’. I was doing first year of BSc. Maths then, and he was a Computer Engineering student.

From then he used to call me very often. We almost discussed everything.

By the final year of my college, we probably we were in love, but I had been cautious. I was in a dilemma whether to tell him. But what if he was of a different religion? Do I have the courage to talk to my parents about it? ……..all these questions ran through my mind.

I decided I’ll not talk to him thereafter. When he called next time I laid to him I that I was going to Delhi for my post graduation. He gave me his office number and asked me to ring him up once I reach there. I never called…….

A couple of months later my marriage got fixed with a guy of my parent’s choice. I was not happy but I did not complain; rather accepted it as an obedient daughter. At times I felt I missed my wrong- number- friend…….

My hubby was a moody person; I have hardly spent any good time with him- but he was genuine indeed and never bothered my personal space. After 2 years we had a boy…Yet, I was not very happy with my married life…One day I happened to browse through my diary and found I still had my old friend’s office phone no that he had given me. I dialed it and spoke with him. He said he was married and got a kid too. I was happy for him though in the bottom of the heart I felt bad that I could not marry him.

From then I used to occasionally call him on that number. I never gave him mine as I felt that would put me in trouble… And till today I almost shared  everything with him including my relationship with my hubby…..today I was so happy and I wanted to call him.

Just then I got a call. “Your husband met with an accident and died on the spot”

I banged the phone down. I broke. I did not call my friend…..I somehow started feeling guilty. I have never tried to talk to him properly when he was alive or moved close with him…. I felt I had been a bad wife……..

A couple of years passed and one day my son brought home a Bengali girl and said they wanted to get married. I got them married as I did not want my son to go through what I did.

I decided to give my son his father’s room and started clearing it. There was a phone book. I gently opened it to find,

“Wrong no Sweety – 26579785”!!!!!

God always puts the right numbers together. It’s us who interpret it wrong!!!!!

Source: Unknown

The Oracle DUAL table

The Oracle DUAL table

The DUAL Dummy table (as it is sometimes called) is an automatically-generated table assigned to SYS, but accessible to all users. It has a single column “DUMMY” of type VARCHAR2(1) which has a single row with a value of ‘X’.



Name                        Null?                Type
DUMMY                                             VARCHAR2(1)

What is it used for?

It is useful because it always exists, and has a single row, which is handy for select statements with constant expressions. You could just as easily do this with any other table with a single row, but using DUAL makes it portable among all Oracle installations.




Why is it called “DUAL”?

The DUAL table was created by Chuck Weiss of Oracle corporation to provide a table for joining in internal views:

“I created the DUAL table as an underlying object in the Oracle Data Dictionary. It was never meant to be seen itself, but instead used inside a view that was expected to be queried. The idea was that you could do a JOIN to the DUAL table and create two rows in the result for every one row in your table. Then, by using GROUP BY, the resulting join could be summarized to show the amount of storage for the DATA extent and for the INDEX extent(s). The name, DUAL, seemed apt for the process of creating a pair of rows from just one.” Chuck Weiss, Oracle

The original DUAL table had two rows in it (hence its name), but subsequently it only had one row.

Note: Although it is possible to delete the one record, or insert additional records, one really should not do that!.

Have Breakfast or Be Breakfast!


Posting one interesting article about who is your competitor?

Have Breakfast or Be Breakfast!

Who sells the largest number of cameras in India ?

Your guess is likely to be Sony, Canon or Nikon. Answer is none of the above. The winner is Nokia whose main line of business in India is not cameras but cell phones.
Reason being cameras bundled with cellphones are outselling stand alone cameras. Now, what prevents the cellphone from replacing the camera outright? Nothing at all. One can only hope the Sonys and Canons are taking note.

Try this. Who is the biggest in music business in India ? You think it is HMV Sa-Re-Ga-Ma? Sorry. The answer is Airtel. By selling caller tunes (that play for 30 seconds) Airtel makes more than what music companies make by selling music albums (that run for hours). Incidentally Airtel is not in music business. It is the mobile service provider with the largest subscriber base in India . That sort of competitor is difficult to detect, even more difficult to beat (by the time you have identified him he has already gone past you). But if you imagine that Nokia and Bharti (Airtel’s parent) are breathing easy you can’t be farther from truth.

Nokia confessed that they all but missed the smartphone bus. They admit that Apple’s Iphone and Google’s Android can make life difficult in future. But you never thought Google was a mobile company, did you? If these illustrations mean anything, there is a bigger game unfolding. It is not so much about mobile or music or camera or emails?

The “Mahabharat” (the great Indian epic battle) is about “what is tomorrow’s personal digital device”? Will it be a souped up mobile or a palmtop with a telephone? All these are little wars that add up to that big battle. Hiding behind all these wars is a gem of a question – “who is my competitor?”

Once in a while, to intrigue my students I toss a question at them. It says “What Apple did to Sony, Sony did to Kodak, explain?” The smart ones get the answer almost immediately. Sony defined its market as audio (music from the walkman). They never expected an IT company like Apple to encroach into their audio domain. Come to think of it, is it really surprising? Apple as a computer maker has both audio and video capabilities. So what made Sony think he won’t compete on pure audio? “Elementary Watson”. So also Kodak defined its business as film cameras, Sony defines its businesses as “digital.”

In digital camera the two markets perfectly meshed. Kodak was torn between going digital and sacrificing money on camera film or staying with films and getting left behind in digital technology. Left undecided it lost in both. It had to. It did not ask the question “who is my competitor for tomorrow?” The same was true for IBM whose mainframe revenue prevented it from seeing the PC. The same was true of Bill Gates who declared “internet is a fad!” and then turned around to bundle the browser with windows to bury Netscape. The point is not who is today’s competitor. Today’s competitor is obvious. Tomorrow’s is not.

In 2008, who was the toughest competitor to British Airways in India ? Singapore airlines? Better still, Indian airlines? Maybe, but there are better answers. There are competitors that can hurt all these airlines and others not mentioned. The answer is videoconferencing and telepresence services of HP and Cisco. Travel dropped due to recession. Senior IT executives in India and abroad were compelled by their head quarters to use videoconferencing to shrink travel budget. So much so, that the mad scramble for American visas from Indian techies was nowhere in sight in 2008. ( India has a quota of something like 65,000 visas to the U.S. They were going a-begging. Blame it on recession!). So far so good. But to think that the airlines will be back in business post recession is something I would not bet on. In short term yes. In long term a resounding no.

Remember, if there is one place where Newton ‘s law of gravity is applicable besides physics it is in electronic hardware. Between 1977 and 1991 the prices of the now dead VCR (parent of Blue-Ray disc player) crashed to one-third of its original level in India . PC’s price dropped from hundreds of thousands of rupees to tens of thousands. If this trend repeats then telepresence prices will also crash. Imagine the fate of airlines then. As it is not many are making money. Then it will surely be RIP!

India has two passions. Films and cricket. The two markets were distinctly different. So were the icons. The cricket gods were Sachin and Sehwag. The filmi gods were the Khans (Aamir Khan, Shah Rukh Khan and the other Khans who followed suit). That was, when cricket was fundamentally test cricket or at best 50 over cricket. Then came IPL and the two markets collapsed into one. IPL brought cricket down to 20 overs. Suddenly an IPL match was reduced to the length of a 3 hour movie. Cricket became film’s competitor. On the eve of IPL matches movie halls ran empty. Desperate multiplex owners requisitioned the rights for screening IPL matches at movie halls to hang on to the audience. If IPL were to become the mainstay of cricket, as it is likely to be, films have to sequence their releases so as not clash with IPL matches. As far as the audience is concerned both are what in India are called 3 hour “tamasha” (entertainment). Cricket season might push films out of the market.

Look at the products that vanished from India in the last 20 years. When did you last see a black and white movie? When did you last use a fountain pen? When did you last type on a typewriter? The answer for all the above is “I don’t remember!” For some time there was a mild substitute for the typewriter called electronic typewriter that had limited memory. Then came the computer and mowed them all. Today most technologically challenged guys like me use the computer as an upgraded typewriter. Typewriters per se are nowhere to be seen.

One last illustration. 20 years back what were Indians using to wake them up in the morning? The answer is “alarm clock.” The alarm clock was a monster made of mechanical springs. It had to be physically keyed every day to keep it running. It made so much noise by way of alarm, that it woke you up and the rest of the colony. Then came quartz clocks which were sleeker. They were much more gentle though still quaintly called “alarms.” What do we use today for waking up in the morning? Cellphone! An entire industry of clocks disappeared without warning thanks to cell phones. Big watch companies like Titan were the losers. You never know in which bush your competitor is hiding!

On a lighter vein, who are the competitors for authors? Joke spewing machines? (Steve Wozniak, the co-founder of Apple, himself a Pole, tagged a Polish joke telling machine to a telephone much to the mirth of Silicon Valley ). Or will the competition be story telling robots? Future is scary! The boss of an IT company once said something interesting about the animal called competition. He said “Have breakfast …or…. be breakfast”! That sums it up rather neatly.

Source: The Wall Street Journel
About Author: Dr. Y. L. R. Moorthi is a professor at the Indian Institute of Management Bangalore .