Dear Google, Take from Facebook what you have build over the years – the web

Me, Myself and My Google

I remember the first time I was plugged to internet back in 1997. I created my email id. It was on rediff.com. Then I surfed some porn sites. Then I saw yahoo.com. Almost everyone I knew was on rediff. Very soon, almost everyone was on Yahoo. And the most exciting thing to do was to do private and public chats on Yahoo Messenger. Then came the days when Yahoo chatrooms started to flood with nonsense messages, porn websites became popup machines and soon the internet became a wide wide shit. Those were the days when suddenly everything (I used) across the internet became too obstructive, complex and confusing.

image

In the midst of all those came google.com. A neat and clean interface for searching the web, which was perhaps the biggest problem at that time. Google took the challenge to organize the world’s information and make it universally accessible and useful. And they did a great job with their search engine. People started liking google and used Yahoo, Rediff and MSN for their emails. Then came gmail.com and suddenly out of nowhere everyone had a gmail.com account. It was again neat and clean. And then again, all of a sudden, the voice chats, buzzes, beautiful big smileys, public chatrooms, multiple screen names, erotic talks on Yahoo chat came to and end simple non rich text formatted, non fancy UIed chat windows. Somehow people liked it. Probably they were bored of all the glittering stuff, or maybe some principle of UX design came into play. Ever since, Google became a part of everyone’s life with products like Docs, PicasaWeb, Blogger, News, Scholar, Books, Knol and many more. People had faith in Google, their ideas and their values. Off lately there are various slanders on Google about the way they use data to create relevant text ads, but despite all these, a vast majority of people still love Google.

What The Facebook?

Social Networking was something that was not so popular in India. Not in 2004, the year I went for my Bachelors in Engineering, the year Facebook was founded and the year Orkut was founded. Sooner, everyone I knew was on Orkut and it was kinda fun. We used to meet up, post scraps to each others, and had communities where we discussed the C++ puzzles. Life was easy and fun. This probably continued till early 2008s (in India) when people were not accepting facebook because they found it too complex to use. Probably people just could not visualize what is “writing on wall”. And then facebook kept evolving, changing its UX to make it more resemble the real world interactions. That is where Orkut was left behind. Orkut was good for novice users who expected barely scraps and messages and communities for interactions. But as it goes in the real world, you appreciate, like, comment on your friends’ activities. All of a sudden, all this was possible on Facebook. One other problem with Orkut was of privacy. I remember there were communities where pictures of real girls from their profile was hotlinked and posted. This obviously irritated a lot of people and they started to remove their content from Orkut. Almost at the same time, as I precisely remember, the Indian community was starting to look towards facebook because it was social, it was fun and it was secure. Orkut was still being used by those who were new to social networking and then they gradually graduated to use facebook.

image

Soon, everyone I knew was on facebook, even my mom, my dad and my 8 year old cousin. Life became easy. Google released OpenSocial in late 2007 and people started to develop games and apps for Orkut. It could have been a big hit if people had been using Orkut or they had interest. Orkut failed to attract new users and even continue old users. Orkut started to die, and pictures of Orkut – R.I.P became popular on the internet.

You like it

Sure you will ask me, what’s the big deal with that. Google is in search and ads, and facebook is in social networking. Facebook already beat Google’s Orkut, so do they still compete? The answer is – more now than ever.

Sometimes in last year or maybe last to last year “Like Button” was introduced, and very soon every webpage on the planet started to have a “Like This” button. (Even this page has one, please like/recommend it. Thank you 🙂 The concept is pretty neat. Your friends see that you like/recommend Bellicose beliefs, and they will probably come and read what is it. If they “like” it, it goes on virally. Alternatively, if you come to Bellicose Beliefs two years later and you see that one of your friends like it, you will be more interested in reading the content. This is a win win situation for the web admins/ bloggers/ any other website and probably that is the reason for it becoming so popular, so soon. Now looking at the other aspect, facebook has a record of all the pages you like and your friends like and their friends like. So, they are more close to figuring out your taste, your work, your life and provide you better ads/recommendations. Everything tailored, just for you.

Now let’s see how google tracks internet usage – “Ads by Google”. Most of the ads you see over the internet are served by Google’s Ad server. Every ad stores a cookie onto your PC and this helps track the click, the content. All this is done on a very broad scale and the results are generated so that they are fit for a majority of people who fall under the same category. This is where difference sneaks in. Google does not track individuals, it just track the pattern formed by many users and uses that pattern to server ads, which might not be suited for you, but are suited for a majority of population. It works.

What’s the need for a search engine?

Probably you’ve started to notice it. Every single link you share, every single web content you “like/recommend” comes in your facebook search box. So, if you are looking for something that you probably have liked in past, just go to search box and start typing it’s name. You will see it coming there as in the diagram below.

image

For more details, you can go to “Show All results” and alongwith the things that are related to facebook, you see results from Bing (which as per Google, copies their search result). If this continues to grow, fewer and fewer people will go to Google for searching something, and that will be done only when facebook fails to deliver. So the search for which Google is known, shall be taken by facebook and Google will get only facebook’s leftovers.

Does facebook pose a serious threat to Google’s main source of revenue?

In order to understand this, we first need to figure out what is Google’s main source of revenue. Google’s main source of revenue is Adwords which accounted for USD 23b in 2009 (http://investor.google.com/fin_data.html).

Facebook’s revenues for 2009 were as

  1. $125 million from brand ads
  2. $150 million from Facebook’s ad deal with Microsoft
  3. $75 million from virtual goods
  4. $200 million from self-service ads. (http://www.businessinsider.com/breaking-down-facebooks-revenues-2009-7)

This total amounts to USD 550m or USD 0.55b. Facebook’s total revenue in 2009 is 46 times smaller than the revenue of Google Adwords.’Looking at this figure it is clear that Facebook is not posing a serious threat to Google’s revenue.
Now here is the present scenario. Facebook Like Button on various sites, Facebook places, Facebook questions – Facebook knows which content you like/read, where you visit and what are your doubts. Using this data, Facebook can possibly come up with an Ad Sever that has if not more, equal powers as the Google Ad Servers. If they come up with this, and you start seeing “Ads by Facebook” instead of “Ads by Google”, then the war will get more interesting.

The social web – by Google

In this particular text, I will try to figure out, how the web could be more social with the help of Google. Google already has, and in much better form what facebook is offering – social interaction, videos, emails, news, web search but in separated forms. Things are are at different URLs and one must remember/click/bookmark each location. Let’s say Google comes up with a social web – a portal that is sufficient for all your needs and is social, I would call it GoSocial. It would be a mashup of Google Search, Gmail, Buzz, Picasaweb, Docs, Music Search, YouTube, Blogger, Knol, Groups, Latitude and Maps. So you can upload pictures which will be stored in your picasaweb albums. You can blog and your blogsppot.com address shall be linked to your GoSocial account. You can upload videos on GoSocial and they will be stored and served by YouTube. You can create documents and share them with Google Docs running in the backend. You can interact with groups and can create questions and answers with the Google Groups engine in background. You can create community pages with the help of Knol. You can use Latitude to implement a feature similar to facebook places, even better in some aspects. Maybe, I need to think more so that I can come up with a possible layout of this social web. But this is my general idea. I am a die hard Google fan. Everytime I visit their numerous services, I can picture different modules of a system which is highly social, real time and most important of all is not evil, lying around. In my personal opinion it’s time to come up with a version of web, which is more social and Google, you can do it.

Over the decade, Google has helped build the web, make it safe, clean and present the data in an organized manner to all the inhabitants on the planet. Why let someone else harness it when it essentially belongs to its creator.

There are many more things in my mind to write about, so keep watching for a second part of this post

What Not to do in a tech talk


Based on my experiences in attending tech talks and developer conferences recently, and watching YouTube videos of those, which I miss out. I came up with a list of certain things that most people do, and which brings down the interest level of audiences in the talk. This is my effort to sum it all down, and provide solutions to them. This post is continuously updated, so if you guys have points to add, just comment below.

Update

Added points 8 and 9 in During the Talk based on suggestions.

Before the talk

  1. Boasting about your talk. It is perfectly normal to discuss with people about your talk and grab audiences, but you should never keep boasting about your talks. This puts in a negative impression about the speaker, even if your talk is a beauty
  2. Do Rehearse. Many times, developers are confident about the talk they are about to give, because they might have been working on those stuff for years, but before you go on the stage, make sure that you have rehearsed. This will increase your timeliness and boost your confidence.

The recent trends in developer talks is to upload them on youtube, so every single mistake that you do in your talk is stored somewhere digitally, forever. So, make sure you are well prepared

During the talk

  1. Don’t be unplanned. Don’t start off without an agenda, target audience, what is inside the scope of the talk and what is outside of the scope, and finally what the audience should expect from the talk. It is a good idea to let people know the usefulness of the talk they are attending to.
  2. Don’t exceed timeline. A talk scheduled for 45 minutes, should complete by the end of 46th minute. And yes, that includes the question answer session, discussions and greetings. For every extra minute you consume, you are doing it at the expense of number of people sitting there.
  3. Don’t be stupid lecturer. The audience in tech talks come to gain from other’s experience. So, when you are given an opportunity to talk that’s because the talk-selection committee believes that your experience will help others grow and develop applications in your domain, by taking advantage of your experience. Talk about something challenging, how it should be handled, what are common myths, misconceptions, confusions and how to fix those things. People are there not to listen, what they read in the book titled “XYZ for dummies”.
  4. Avoid temptations. Usually there is a subtopic in your talk, which is your favorite. Probably because you are a guru in it, because you build it; the reason is irrelevant. What is relevant is that you should always avoid the temptation to go into too depth of the topic, stick to the timeline and provide a neutral view of it. Stressing too much on a topic creates a non uniform talk and the audience might loose grip at times
  5. Avoid Coding there itself I have seen a lot of engineers who start coding while speaking. This should always be avoided, without exceptions. Coding On The Spot or COTS, makes audience loose interest, takes too much time, and if you believe in Murphy’s rule, something will go wrong, while you are working there. In any of the cases, audience won’t like it. If showing coding is absolutely necessary, make sure you have a video for that, all planned with sub-titles or narration. You can always give your audience a homework to do, which will make sure that the session is alive, even days after.
  6. Avoid too much code in slides Showing parts of code, or snippets is absolutely fine, but make sure it is well balanced with the text/graphics in your slides. Keeping a slide mostly occupied with snippets is a bad idea.
  7. Identify hecklers There are always some people in the audience, who have a question for every line you speak. Avoid those people taking your talks. That ways, you will save time, annoyance. Reserve some time, usually 5 minutes at the end of your talk, for clarifications of doubts. Also, at this point, I would like to introduce you to Google Moderator. You can create a “meeting” on Moderator, and give its shortened URL to the audiences in the beginning of your talk. For every question the audience has, they will create a question in the moderator. Others can like, Vote up, Vote down and possibly answer that question. At the end of the talk, take the most voted questions or the questions that you think needs to be addressed at that time. For rest of the questions, you can answer them later after the talk
  8. Internet Connectivity and Demo If you are displaying web pages – make sure they are all loaded in tabs in your browser before you start. Also make sure you have offline copies in case internet stops working.
  9. Know thy system Make sure you know where your files are – do not spend half your talk searching your file system for those files you want to show.

After the talk

  1. Don’t stay behind the fort People will come to you after the talk to clarify things that got left in the session. Depending on the time you have (and you must be prepared for it) you should talk to them and try to solve their issues. They are the ones who were most attentive in your talk and took the pains to see you after the talk. They are your potential fans, and make sure you do not displease them 🙂
  2. Don’t compare Under any circumstances, you should never compare your talk with any one else. This gives a very bad image of you.
  3. Don’t give false promises If you have shared your email/ moderator URL (and you should) in the talk, you must keep checking them frequently for the next couple of weeks to see if someone has reported any problem/ doubt in your talk.

As always, I am open to more inputs. Kindly share your ideas and thoughts by commenting below so I will keep on updating this post.

CodeControl is now Bellicose Beliefs

There is a major change in the name of the blog. CodeControl.blogspot.com is now available at blog.MybLive.com. I had plans to rename the blog from CodeControl to Pranav’s blog. But a Google for pranav’s blog came up with lots of similar results, so in order to maintain it’s uniqueness, I dropped the idea. And then when I was thinking of new terms, a colleague of mine Amrita, came up with Bellicose Beliefs, and I finalised it.

This change in blog URL is a step in making up for the MyBLive portal. I plan to use this portal for my applications, opensourced projects, my blog, and many other things related to me, my work and my thoughts.

Women- Complicated yet so Simple

Life is a Wonderland: Women- Complicated yet so Simple…

I came across this simply amazing blog post about women. And usually, I am not into creating links for other’s blog, but I was so tempted to do this. Probably because, I have seen many geeks, who are insensitive to women’s feelings. Well, perhaps because we are more into explicit declaration of variables, rather than implicit ones. But, I seriously found it worth reading.

The following song Seekho Na By Shubha Mudgal suits well to this point.

Thumb Rule : Multiply by 1000

This rule I made up after few weeks of working in Cloud Computing Environment, Google AppEngine to be more specific. And later after that i started to apply this rule in a more general manner to test a lot of things’ effects on us, our environment and system.

Okay so the Multiply by 1000 rule stated formally is “A solution is good if and only if it works equally well when we multiply the situation by 1000”. Well this is too simple to be explained further, so i will start up with examples.

So, the idea occurred to me while i was studying the Shard Counter Article. The article deals with the simple problem of keeping a counter that increments itself on every page load. The approach of keeping one counter and increment it everytime is good and simple. Now consider the fact when the web page becomes too popular and the requests are like 100s in every second. Clearly this would over burden the server and a loss in performance is expected. Instead we come up with a new idea of keeping N numbers of counters, and upon page load update any one of it. Later using the associative property of addition, we can find the total number of page loads.

In the Big-Oh notation, we can say that ideally a solution is good if it goes O(n).

Now let’s consider some other situations where this rule fits in.

Usage of fossil fuels:
When the fossil fuels were first discovered, they became quite popular in very short amount of time. The then engineers and scientists might have worked upon it’s ill effects on our environment but certainly it was over looked. And then the whole human race started sing it for day to day life – electricity, industries, motor-vehicles.. you name it, we have it. So, looking at the present situation it can certainly be said that using fossil fuels to generate energy was certainly not a good solution.

There are many more numerous examples of such things going around in our day to day life. If you come upon some things, share it with me and i will do an analysis and post it on my blog.