Monday, July 17, 2006

War of the Messengers

One of the biggest news of the week, Microsoft and Yahoo join hands and join user base to communicate across their messengers. The news is welcomed across the community as it combines two very popular services into one creating one of the biggest user base in the messenger domain.
The messenger world is clear now and various hidden camps, friends and foes are out. On one side we have MSN-Yahoo alliance, on the other side we have very popular AOL, e-bay owned Skype and fast catching Google Talk.

Benefits from the alliance
By joining hands MSN and Yahoo have created a huge user base which can communicate with each other seamlessly. You can talk to your friend having a yahoo account while you are using your MSN Identity. This is a huge advantage for the giants as they can now concentrate on winning the market, rather finding means to fight each other. Together, specially the kind of money they have, they can give a new meaning to the messenger services.
On the other side AOL who has the biggest market share, had earlier refused to open up its messenger, but the alliance surely has send bells ringing.
e-bay owns very popular net telephony Skype. Skype though comes under communication domain and competes with other messengers for users, but it still stands out in terms of the technology and usage.
Google Talk, someone may not have got addicted to it, but surely would have tried it. Anything that carries the brand name 'Google', surely gets the attention and a huge user base. It’s a nice product and Google has also urged other small vendors to come and join them. But the response is nothing as of now to go by.

Will AOL respond to Google call? The move looks unlikely. E-bay has already distant itself from Google especially after its payment service launched in competition to PayPal.

The war to me seems to be the first step of more and bigger battles; to gain more internet user base, provide more services and retaining consumers. Whatever it be things are surely getting hot and next few weeks we can expect some more announcements from all the camps, the advantage is surely on the consumer side, who are getting all the smiley's in their messengers.

Labels:

Tuesday, June 27, 2006

Rebranding and Product Life Cycle

This goes back to my previous post 'Rebranding – Let’s Google It'. I have gone around explaining people why I took such a stand. (This proves my point of our loyalty and being undemanding.)
Many asked me why we should try to make a change when already things are going good and fine. Should we change the winning strategy that has proved to be such a big money spinner? To answer this I have a simple explanation: Either we can wait for the competition to catch up and then react, or realize the time and deliver something which keeps us ahead of the competition, and let others always play a catch-up. Now this stand is good for any product in any market condition, and surely Google is no exception.
This time I want to be more generic in my views rather being specific to one product. I have a theory which is MY explanation to the product life cycle.

Every product has to go through a life cycle, from the time it was launched. The time frames can be divided into three parts:
1. Short Term
2. Medium Term
3. Long Term

This time frame changes from product to product, market to market. Like in the field of electronics and technology the whole life cycle may last a years or half more, in case of consumer and daily utility goods it may be a couple of years.

Lets look at each stage and analyze it.

Short Term:
When a product is launched and marketed, it gains acceptability and thus user base increases from 0 to a certain market percent. This growth usually is fast and exponential. As the market base increases it brings in revenue which can be used further to increase the market hold, tap untouched markets and advertise more. All this while customer base is increasing at a very fast pace. At this time focus is more on growth and marketing.

Medium Term:
Product is in the market from sometime and has tapped some market share. At this stage customer base stabilizes. Many become loyal customers and many new customers are added. Many leave the product also. At this time revenue is still being generated in positive direction, but the growth that was seen at an earlier phase is not there. Many competitors also enter in the market and try to pull customers. At this point focuses is more on retaining the customer and expand also. Different policies of price reduction or gift schemes are brought in to maintain the hype.

Long Term:
Now the particular product has been in the market for a considerable period, it has been able to retain loyal customer, competition has increased and many of the customers have shifted to a different product, market condition and people taste has also changed. Since customer base is diminishing, revenue also comes down. Focus is on price cutting and advertisement to pull in more customers. This put more pressure on the net revenues.



This is the time when usually product goes for rebranding or EOL.

Question is what do we want the destiny of our product to be? If we are looking at it as one of the biggest revenue spinner for the company then surely the enhancement and rebranding has to be thought at the medium stage and comes into effect before we say the product enters the last stage. This is important to remain ahead of competition and sustain the market share.

What other benefits we can have from it?
We can also look at increasing the customer base as the product has gone for a face lift; the right marketing strategy recreates the hype. Many of the customers who may have shifted will come back. New customer will also be added. This in tern will have an effect on the revenue. Competitors may have to re-pace themselves to do a catch-up again, and the product can enjoy high market share for some more time.

Time and again this theory has proved successful to many. Apple i-pod nano is one of the biggest example of it. 'i-pod' mini was taken out of the market to introduce 'nano' which recreated the hype to such an extant that, people who already had i-pods went on to buy nano for the sake of it. This is clever marketing strategy and surely is bold and daring. Everyone knows how it has turned the fortune of Apple and its competitors.
If we take example of Nokia and Sony in mobile phone market, almost every month we have a new product being launched. Many a times the phone has just one new feature added, but is released with a different name, to recreate the hype. Off course no one is complaining but that’s what happens when the customers are demanding, more choices and better product.

All this while writing this entry, 4 lines from Roger Waters kept coming into my head. Thought they are worth mentioning:
"By the grace of God Almighty
and pressure of the market place
the human race
has civilized itself
ITS A MIRACLE"

Labels:

Thursday, June 22, 2006

Rebranding - 'Lets Google it'

Me and my friend Rohit always have these small talks about the world of business and trends. Todays topic was one of my favorite 'GOOGLE'.

Google is my homepage, I use Google mail, Google personalized page, Google Toolbar, Google Earth, Blogger.... and every thing else that comes from it.
I hardly remember using anyother search engine EVER and have this strong feeling that if its not found on Google, maybe its not there on the net at the first place. sOO many times I have felt 'Lucky', and admired the GoOgLe LoGo.

But the thing that always haunted is the gOOgle hOme paGE and search results. You look at the Google home page and everything looks so clean, a page which has less than 50 words on it is the door to all the information on the web. It is in this awe and admiration that we realize that this is the single page which is driving a company worth $80 billion.

What is the shelf life of a mobile phone or your favourite thing that you use every day. May be few months, after that we all get bored of seeing the same thing. But Google homepage has withstood the test of time for so many years that, it still is the best thing on the web you know.
I dont know how many other examples we can find which have such big usage and user base. May be it is this mystery that so may things have been written about it.

Whenever we talk about branding and marketing we always say that every product has a limited life, after that either its End Of Life for it or a complete make over.
Take example of any product in any field be it gadget world of mobile phones, media players, gaming devices, computer hardware, computer operating systems like Windows, Linux all have felt the pressure of the customer to change the product completely or bring in a new product, be it in terms of new look and feel or new features.

But here we hardly see any change happening. Only thing may have changed is the search result ranking or unnoticed features of caluclator and spelling check.
Any change in terms of search that was big and noticed - nothing. We are just relieved to find what we were searching for that too after checking 2 - 3 different results.
Have we as a consumer become less demanding, or have we run out of imagination of what to expect? Or are we looking at a product which has send many marketing theories for rebranding or EOL.
We as users are so loyal that we have made our self resilient to change for our favourite tool and have succumbed to the statement that 'If its not on Google, its not on the Web.'

No doubt the search results are fantastic. The way search results are returned is great. But as a customer(user) dont we want to see more. May be a different presentation of search results, some added information about the results and many more similar things. Many of the competitors are coming with new search algorithms and presentations. Microsoft’s live.com is being marketed big time these days, grokker.com which gives you categorization based search result, previewseek.com is another example. Though they have a long way to catch up, but then they also cannot be written off the competition completely.

Are we exepcting anything new, I am not sure, but i surely feel that its time for google to deliver a surprise and we fulfill our duty of GooGLing.

Labels:

Tuesday, June 06, 2006

Developing Countries and India Inc.

My friend gave me some food for thought by writing this. He has brought out a point that developing countries hold an edge on the developed nations.

If we are looking at a country like India things may sound ok as India is growing exponentially and has come out very strongly on world map as one of the biggest service industry. But many of the other countries in African, South East Asia and South American continents have long way to go as in term of education, infrastructure etc.

There’s a theory that goes like this: As a developing countries tend to grow at a faster pace the money gets pumped into the economy. As people have more money to spend, consumption inside the country grows. The companies thus in various sectors grow positively. New market leader emerges, various smaller companies supporting the primary industries also gains. So all in all we see a rapid positive movement everywhere. Which is what i believe India is going through now. There’s a sense of pace in the economy, a wave of growth.

Many of the companies growing locally try to break internationally and expand their market. This is the time when reality of economics hit.

Does these companies have enough fund and international backing to come out as a competitor? Secondly do they have something new to offer which can change the market dynamics.
Most of the companies making big have played more like a clone to an already existing companies providing similar kind of goods and services. Many of the companies in India and other countries have grown to be a service provider to huge MNCs, who are while you are reading this are actually shaping the world. These service providers no doubt have made big impact on the MNCs growth, but does it itself has the potential to imagine similar growth for itself.
They may have right management, a right product but then everything again boils down to 2 facts Money and backing.

Sometime it is hard to believe that a country living on aide from a developed countries and world bank, produces a company which can emerge as a challenge to big international companies.

But then is the dream impossible?
The dream of making big may be a bit difficult but is not impossible. As in India we have big companies coming out like Infosys in Software, ICICI Bank, Reliance in telecom and petro. They have really made extraordinary growth in last few years. many of the other companies are putting their foot in the international biz either by acquisitions or launching their own offices. Many of these companies have right market strategy and right aggressive management. And I don’t think that day is far when we can also have a truly MNC head quartered in India which will be shaping new market strategy.

Labels:

Tuesday, May 30, 2006

Adding Members to the Active Directory Group using .NET

Recently on my project we had a requirement to add members to an Active Directory group.Now after going through every possible place on help and google, i finally found the holy grail and thought to share some findings and code bits.
We had to add computer names(implementation is same for user_name also) to the active directory group.
Some important points to be kept in mind while working active directory groups:
1. Get the Group name. Make sure you are an admin on that group (or use impersonation), if you want to make changes.Imp: You also need domain name to which the group belongs. just a group name will not do.
2. We have to find the exact path on which this group exist.
3. After finding the exact location of the group, we can add the members to the group.
4. Only exisitng members in the active directory can be added to an active directory group. Members can belong to any domain in the organization. Only important thing is that member does exist in the active directory. For this we also need the path of the member where it exists in the Active Directory.

Lets just take a look at the path and try to understand:1. CN=machineName,OU=Servers,OU=Computers,OU=Unit1,DC=dc1,DC=dc2,DC=com
this is my machine name path in the active directory.
2. LDAP://domains/CN=groupName,OU=Groups,OU=Users,OU=Unit1,DC=dc1,DC=dc2,DC=com
this is my group name path in the active directory.
Now you can see the difference between the two. Lets try and think how they are logically placed

O = Organization
|_____OU = Servers
|_____ OU = Computers
|______ OU = Unit1
|_____ DC = dc1.dc2.com

O = Organization
|_______ OU = Groups
|_____ OU = Users
|______ OU = Unit1
|_____ DC = dc1.dc2.com

CN is the class name.

.NET with Active Directory

Namespace:using System.DirectoryServices

Get Group Path name. Also if you know the domain\, you can find the path for that also.

/// Method is used to get the group path.
/// param name="groupName" Domain\GroupName
/// returns LDAP://domain/CN= groupName,OU=Groups,OU=Users,OU=Unit1,DC=dc1,DC=dc2,DC=com

private string GetLdapPath(string domainGroupName)
{
try
{
//separate the domain name and the groupname
string domain = domainGroupName.Substring(0, globalGroupName.IndexOf(@"\"));
string groupName = domainGroupName.Substring(globalGroupName.IndexOf(@"\")+1);

DirectoryEntry oEntry = new DirectoryEntry();
oEntry.Path = "LDAP://" + domain;

//search the directory on the specified path.
DirectorySearcher oSearcher = new DirectorySearcher(oEntry);

//this is a default format for searching a group name.. .dont change "SAMAccountName"
oSearcher.Filter = String.Format("(SAMAccountName={0})",groupName );
oSearcher.PropertiesToLoad.Add("cn");

SearchResult oResult = oSearcher.FindOne();

if(oResult == null)
{
throw new Exception("Group: " +groupName+ " not found in the domain: "+domain);
}
else
{
return oResult.Path;
}
}
catch(Exception ex){
}

Adding member to the active directory group. In the code e.g. i am adding a machine name. But you can also add an already exisitng user name. Whoever be the member, you need the Ldap path for that. Use the same method GetLdapPath to get the user_name path or machine_name path. Make sure you have domain name for them.

/// Method is used to add members to the global group.
/// param name="domainGroupName"
/// param name="machineName"
public void AddMembersToGroup(string domainGroupName, string machineName)
{
//get path for group name and machine name.
string groupDirectoryPath = GetLdapPath(domainGroupName);
string machineLdapPath = GetLdapPath(machineName)

//create the instance of the Directory Entry on the path found.
DirectoryEntry oGroupEntry = new DirectoryEntry();
oGroupEntry.Path = groupDirectoryPath;

try
{
//add a new member
oGroupEntry.Properties["member"].Add(machineLdapPath);
//commit the changes to reflect in the directory.
oGroupEntry.CommitChanges();
}
catch(Exception ex){}
}

Delete memebers from the Group.

/// Method is used to delate all the memebrs from the global group.
/// param name="groupName"
public void DeleteAllMembers(string groupName)
{
string groupDirectoryPath = GetLdapPath(groupName);

DirectoryEntry oEntry = new DirectoryEntry();
oEntry.Path = groupDirectoryPath;

try
{
//clear all the members.
oEntry.Properties["member"].Clear();
//commit changes.
oEntry.CommitChanges();
}
catch(Exception ex){}
}

Read the members from the Active Directory Group. The method below will write on the console all the members in the group.
This is really if good if you application authorization and authentication is based on the role of members of the active directory as it saves the time of creation of user database for your application.

/// Method is used to loop through the group and find members.
/// param name="groupName"
public void SearchGlobalGroup(string groupName)
{

//instance of the directory entyry
DirectoryEntry oEntry = new DirectoryEntry();
oEntry.Path = GetLdapPath(groupName);
//impersonate if the security context the app is running does not have permission on the Directory.
oEntry.Username = "user_name";
oEntry.Password = "pswd";
oEntry.AuthenticationType = AuthenticationTypes.Secure;


try
{
SearchResult result;
DirectorySearcher oSearcher = new DirectorySearcher(oEntry);
oSearcher.PropertiesToLoad.Add("member");
result = oSearcher.FindOne();

if (result != null)
{
for (int counter = 0; counter < result.Properties["member"].Count; counter++)
{
string user = (string)result.Properties["member"][counter];
Console.WriteLine(user);
}
}


}
catch(Exception ex){}
}

For more info check these links:
http://www.csharphelp.com/archives3/archive582.html
http://www.ondotnet.com/pub/a/dotnet/2003/08/04/activedir.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdirectoryservices.asp

Labels:

Wednesday, May 24, 2006

ANOTHER BRICK IN THE BLOG

Ok this is what happens when you don’t have anything to write but don’t want to give up and end up writing on what you want to write!!!!
(don’t know if it makes sense..)

What to Blog?

It should be something that other people like!!!! Isn't this what it should be, since u are not writing for yourself but for other people to read.
aaaeeehhh on a serious note I feel it should be something u are really interested in. People come to read your blog because they want to read your opinion, if they want to read what they like let them read their own.
We cannot forget the content as it is the single most and only important thing. Make sure your writing has retained value to which people come again and again and don’t loose interest.

When to Blog?

May be once a day or being reasonable alternate day. Key here is not to burden yourself that you have TO write. Blog it when you are ready.
If you are really a serious writer to make a difference may be once a week can also do, but then underline thing is content. For such people writing every day may be just too much as it takes lot of time to conceive, write and edit.
Too less frequency means too less traffic and less people interested in you. people may simply loose interest in what you write since nothing new hasn’t come in long time.
If you keep you blog more like a repository of other links, then go on blog it every hour.

Blog management

If your blog does not follow a specific trend and you keep moving between topics, it can surely keep the readers interest and show your versatility. This is what i like the most, or else you may just end writing a blog which is not much more than a Java Help Forum.
If you really want to connect with your users keep the interest, each entry may be independent but can have some associations with old ones, so that a reader can associate and try to get inside your mind. Because believe me that’s what the readers want.

Some people have very techie techie blogs and some write on every possible news thats found on the net, some are story writers, some more opinion oriented, some are intellect and write on various industries and trends, but all and all they are just ANOTHER BRICK IN THE BLOG (read WALL).

Go on pick up your comfort zone and blog the world.

Labels: