Showing posts with label blog. Show all posts
Showing posts with label blog. Show all posts

Sunday, February 28, 2010

Enemy of my Enemy is... - A tale of few companies

A tale of few companies

Back in the early 1980's Bill Gates struck gold by licensing MS-DOS for IBM-PC. By retaining the rights to the software, Microsoft was able to license the same to the subsequent PC-clones. This would start a chain of events that would propel Microsoft to the pinnacle of Information Technology industry.

As always, there were a few rebels - most notably, the group inspired by the creative and artistic brains of Steve Jobs and his crew.

Remember the 1984 Superbowl Ad. The rivalry between the two companies was even worth making into a movie.

But the uprising of the rebels was rather short lived. They would soon start their downward spiral descent and enter the era of uncertain future. It would seem like they had too much cola in their corporate DNA. This left the stage wide open for Microsoft to establish it's empire. The term PC became synonymous with Computer.

The world was opening its door to Windows. The Internet era had dawned upon us with no real competitor to Microsoft. And Microsoft made it a habit to crash into every one else's party.

Few fought back the mighty Microsoft - Remember Netscape? They cried foul and world entered the first browser wars - now we know who had the last laugh in that battle.

There were others who raised red flags like Sun. For good or bad, Microsoft had become the bad boy of the industry. Many became causality to the rise of Microsoft empire - WordStar, Lotus 1-2-3... to name a few. Yet, most of us were on the evil empire's side. Even a whole continent decided to bring an anti-trust case against Microsoft.

Few rebels decided not be a part of this whole charade and joined the open source and linux revolution. But only a few nerds really cared about this and for a good reason. (Probably) a couple of such nerds were busy at an university thinking of a new idea which has become a verb in today's vocabulary - Google.

The old foe was getting back on his feet again. Surprisingly, this time around - Apple and Microsoft seemed to be getting closer than ever before.

The Internet revolution also sparked the glory days of file sharing networks – especially Napster. Suddenly we had an alternative to music on cassette tapes – Even with a geeky name like MP3, the new format became very popular. It was possible to listen to decades of songs without having changing the record or turn the cassette over.

Times were such that adding a .com to your business meant stellar profits. A lot more was at stake - people worried sick about an Armageddon on the eve of New Year 2000. Luckily, it seems like we will still live till 2012.

Cashing in on the digital music revolution fuelled by the Internet - Apple was designing something which would take the world by storm. They broke into a market in which Sony was the supreme ruler - the personal music player. The iPod was born. And just like that, all those songs on your computer is now on your palms and ready to go. Flight trips would never be the same again !

The .com bubble had also burst by now. Hopefully people had learned that a strong business model is necessary to be sustainable.

But the whole dot-com era has left behind so many websites and online shopping habits which would not have been possible without a quick way to get information from the vast depth of Internet.

The answer was Google - which was taking shape and said we wont be evil. That corporate slogan was good enough for many and the world embraced Google.

Another byproduct of the dot-com bubble were the enterprise applications. Many companies have established strong online presence for their endusers as well as employees. Standardization and security were order of the day. Companies like oracle thrived on this necessity; at times by acquiring other companies. Some of these deals were not very popular. But Oracle built its empire on this strength.

Just like Apple, Netscape made a reapperance from it grave - in a new form and with a new name - Firefox. Can Firefox achieve what Netscape couldn't? The answer - Yes it can. Today Firefox has 25 to 30% of the market share which was once unimaginable when IE had about 90+ %. To complicate matters further, Google decided to bring it's own spin - Chrome. All this has brought the Microsoft browser's market share down to about 60%.

Even Linux had matured a lot for desktop users and started to compete with Windows – but still has a long way to go.

The re-emergence of Apple and the runawy success of it's iPod would manifest in another form of threat to Microsoft. Microsoft had been in the mobile market for some time - albeit with it's flaws. There was a substantial following at one time. Apple came up with this new idea of adding the phone component to it's iPod and called it the iPhone.

iPhone was truly a revolutionary product. Calling it just a phone won't do justice to it's capabilities. iPhone was more of a multi purpose device which can also be a phone. Backed by the most popular App Store, iPhone would shake the foundation of traditioal phone companies like Nokia and Motorola (oh, what happen to siemens which was the first phone I owned). Suddenly all these established players were trying to play catch up with apple who was a relatively new comer to the mobile market. Goes to show that creativity will always the winner.

Today the relations between these major players are as complex as the web itself. They use the services of each other on one arena and end up competing as bitter rivals on others. Till recently, the CEO of Google even served on the board of directors at Apple.

The old saying goes - Enemy of my Enemy is my Friend. But in today's IT industry, every one is every one's enemy and friends.

Wednesday, January 25, 2006

Balancing the workload between the websever & database server

How to write content rich - optimized web applications quicky which does not over load the webserver?

Its a common habit of newbies to use SQL queries on the database just to fetch the records. Then use the functions provided by the Server side scripting language like ASP / PHP to process that result set and print the output. The next step would be to filter out records using the WHERE in the SQL.

As you gain experience as a web programmer, you learn to do wonders by writing effective SQLs.

Imagine you have a timestamp field on the DB. Don't you think its a lot of work & over head on the server to fetch the time stamp and process the timestamp using string function in a loop ?

Rather will it not be easy to use the following SQL:

SELECT DATE_FORMAT('format_string', ) FROM tablename

Also, you can optimize the performace of a web application by writing SQL JOINS. Use the DB server do the job and reduce the work over load on the web server & the server side scripting language. Check out the following SQL:


SELECT users.uname AS USERNAME, groups.name AS GROUPNAME, COUNT( * ) AS LOGINS, DATE_FORMAT( userlogintrack.ltime, '%b %D, %Y' ) AS Date
FROM userlogintrack
LEFT JOIN users ON users.uid = userlogintrack.uid
LEFT JOIN group_membership ON group_membership.uid = users.uid
LEFT JOIN groups ON groups.gid = group_membership.gid
GROUP BY userlogintrack.uid, TO_DAYS( userlogintrack.ltime )
ORDER BY Date DESC , users.uname
LIMIT 0 , 1000


The above SQL process 3 different tables and gives the result set to the server side scripting language (PHP) which can just print the results without any additional processing at the web server. If you were to do this with PHP alone, then you have to process 3 different result sets with increased overload on the busy webserver.

That being said, don't start writing complex SQLs and sacrifice the power of a server side scriptiong language. A good, efficient programmer has to strike the correct balance between the SQL & the functions of the server side scripting language to distribute the workload.