Anatomy of pressure in “corporate life”

All that I have written so far pales in front the this brilliance. Hats off!

Some gems -

While preparing for a challenge, there is a parallel mental game which we subject ourselves to. While we are engaged in the preparation we start developing the fear of failure syndrome.

Sometime we stretch ourselves, and consciously or unconsciously set the benchmark for us. Since life always do not let us operate in perfect conditions, but in general the expectations do not take into account all these factors. Thus we continuously engage into stretching ourselves.

Thus the some characters in the hierarchy in group, who are supposed to take decisions, starts building the fear failure mania and starts feeding this back to the whole group.

Don’t leave a path without concluding it, as situations created by the fickle minded jokers will ask to to dig hundred 10 inch holes to see if there water underground.

put forth your best and don’t think about the results too much, because come what may you cannot better your best. Thus you have already contributed for the worst case scenario.


Community powered applications

The webspace today is getting flooded with websites which are community powered. Everybody wants to build a community around their website. The website could be doing big things like building a better encylopedia, describing the whole world, or they could be doing social things like finding the interesting stories, finding the best deals, or they could be just a blog, a news/information website.

The reasons are very simple and very compelling.

First, all that you do is build a website and the real work is done by "others" ("others" being the "community"). You write and deploy Wiki software and others come and write the content. What’s more valuable? Wikipedia software or wikipedia content? Digg software or digg content? Wikimapia software or Wikimapia data? Thousands or millions of people working to make you rich! Isn’t it very nice? :)

Secondly, you build a website so that people come and use it. And if there is a community around your website, you have got the users as well. And it’s not just some random, curious visitor to your website. It’s a person who’ll keep coming back to your website. What does StumbleUpon do? People bring in the content and people keep coming in to see what content has come from others.

So, a lot of people (a lot of meaning millions of people) contributing to your website and then using the contributions that they have made as a community at the same time. And what are you doing? Isn’t it a dream thing?

I have talked to many people in last couple of years whose business idea is to build a community around "something". That something could be education, shopping, research, a specific city like Bangalore etc. And even I wouldn’t mind that since it sounds fascinating and the latest easy way to get rich :) Only glitch is that it’s not so easy to make something community powered. And it should be obvious from the number of failures in social networks.

So, what makes it work is a billion dollar question. Isn’t it? Considering that most of the websites going forward will need to have some kind of community power to be successful, it becomes very very important to understand how that community power comes. In my opinion, there are only two ways of bringing this community power to a website: 1) don’t do anything about it and rely on a bucketful of luck, 2) design your system for community power and rely on a cupful of luck.

Over next couple of days, I’ll put down some random thoughts on drawing community power and retaining it. Stay tuned…


Is science what the scientists do?

Is everything that a scientist does qualifies as science?

I have heard this argument so many times that if you are religious, you are not scientific. If you believe in God, you are not scientific. Is it true? Let’s look at some interesting things in history of science.

When Galileo contradicted Aristotle on the law of falling bodies, people laughed at him. You know why? Not because he was unscientific. He was considered unscientific because Aristotle was an established scientist and what he said was considered science.

You know what Einstien said about quantum physics? He dismissed it by saying, "God doesn’t play dice". Yes, that’s what he said. And we know he was wrong in dismissing quantum physics.

So, scientists can be pretty unscientific at times. Not everything that they say or do qualifies to be science.

Out of all the people I have talked to, their notion of science is anything and everything that has been "concluded by scientists".

Come on guys, grow up. Advancements in science were not made by those who relied on what was concluded. The advancements came from the people who challenged the established conclusions.


A long lost poem

Were you the first ray of sun
That kissed me good morning?

Or you were the breeze
That touched me deep inside?
So deep, that I felt a sensation
Even in my heart

Or you were the rain
That tempted me to dance?
Out in the open
And left me all drenched?

So many times I met you
Even before I saw you

Yes, you are my love.

[It was written 3 years back for yet-to-be-released-movie "You were not like this before"]


Web Within Web : Where one-size-fits-all “Web Search” doesn’t fit!

[First published at pluggd.in.]

Search is not an application. It is not a feature. It is a navigation method. It is a must-have for any website.

Fortunately, for most of the websites, Google is there so they don’t have to do their own search. That’s why mysql.com doesn’t have to do search. Google does it for mysql.com. But Google’s one-size-fits-all doesn’t really fit all. SlideShare cannot rely on Google search. Flickr cannot rely on Google search. They have to do their own search. Flight booking portal cannot rely on Google search. It has to do its own search of flight availability.

Now we are getting into an interesting area. We are talking about what Google search cannot do.

But before I dive deeper into what Google search cannot do, I must lay down the yard-stick for measuring success in doing search. Since, search is primarily a navigation thing and navigation is done best when it is almost invisible to people, search is done best when people don’t realize that they are doing search.
It just flows. I search, I get the definite winner among the top results, I don’t even register that I searched. However, search is bad when I realize that I am searching. If I want to know the best restaurants in Bangalore, and I search it on Google, what do I get? Is there a definite winner? No. So, Google search has failed.

So, where all Google search fails? Several places. In fact, it’s amazing that Google search fails at so many places. And it’s even more amazing that the number of such places is increasing. Let’s look at some broad categories -

1. A rather closed cluster of information. Google search is based on popularity of a page across the web for given keywords. But consider Slideshare. It’s a small web within the world wide web. Consider scribd. Consider video sharing sites. Consider social networks. Consider friendfeed. Consider twitter. The rules that determine the popularity of some content at these places are different. On slideshare, it matters how many times a PPT was viewed, how many comments it has, how many users saw it through the end and how many left it in between. It has its own mechanism by which the popularity for a PPT can be determined. Search for “website scalability” on Google and Slideshare and compare the quality of results. Twitter? Isn’t a lot of interesting stuff happening there? Can Google mine it the way it mines general web pages? The rules for ranking are different.

So, Google search fails (well, mostly ;) when it comes to a web within the web.

2. Not everything on the web is a webpage. And Google’s one-size-fits-all doesn’t work for non-webpages. That’s why Google has several other specific search implementations – Images, Code, Groups, Blogs etc. And there are many that are yet to come – Word documents, PDF, PPT, microblogs, blog comments and what not. I can go on but you got the idea. Right? While Google is a clear winner for webpages but there are several other things which are not webpages, which need to be searched on the web and Google either doesn’t search it or doesn’t search it with equal maturity. What’s even more interesting is that you’ll find overlap in point #2 and point #1. A lot of things on the web which are not webpages are found in closed clusters which will have their own custom method for ranking.

3. There is also data on the web. List of available flights from Delhi to Mumbai, their price, airline name, airline number, available seat details, timings etc is data. It is not a webpage or something like PDF which can be just displayed. This is data and it can be shown in interesting ways and it can be used in interesting ways. Same goes with the hotels. List of hotels in a city and various attributes of those hotels like location, room sizes, ambience, facilities etc. If you are wondering what search has to do with all this data, let me remind – search is a navigation method. When I am going to a new city and I want to decide which hotel to stay in, my decision is based on various such parameters.

But Google search doesn’t work here. And it will not. The purpose is different. Google search is for heading to a page whose URL I don’t know but I know some keywords pertaining to that page. It is not for viewing the data.

4. Search as an integral component of a service. I would have taken trip planner example for this i.e. booking a flight for a city, booking the cab, the hotel, deciding the sight-seeing etc. But since that’s already widely talked about, I’ll take something else. Just to prove the wide applicability of search and how we need to see search in a different perspective.

Let’s talk about phulki.com. It’s a search engine for desi music. Its interface looks very much like Google search. But is that how it should be? No. I go to Google to navigate to the final destination page. Go to Google, search for “mysql linux download”. Click on the top result and go to mysql.com page. But I go to phulki.com for listening to the music online or for downloading it. The purpose is different. If I search for “Maula mere le le meri jaan”, I don’t want 10 results showing me the same song from different sources. I don’t care which source it comes from. I just want the best listening/downloading experience. So, show it to me as one song with a drop-down list of various sources (the supposedly best one auto-selected) and a download link (yes, just a single download link) and again a drop down list of sources for download.

If I search for “chak de india”, it should figure out that it’s an album and show me a list of songs from that movie, nicely ordered with an option to put all songs of that movie in my playlist with a single click.

And how about “Those who listened to Maula-mere-le-le-meri-jaan also listened to ek-parinda-aisa-toota”?

It will have technical challenges. It will require phulki to index differently. But phulki is not a search engine for desi music! It is a website for playing desi music!! Search being just the navigation model to reach the music that I want.

Take local search for example. When I search for electronic appliance shop in Pune Camp area, I want not only the name/phone/address, I would also like to be shown the reviews people have left for those shops on different sites.

Summary

There are a lot of contexts in which general purpose, “web search” as provided by Google and others doesn’t work (at least not with as much maturity). And it’s interesting to note that such contexts are growing. The number of sites which are web-within-the-web are increasing. More and more non-webpages are making appearance on the web. Web based applications have started bringing in data (hotels in a city is data, not a webpage; let’s accept this). And finally, there are several web based applications coming up (like phulki, local search) where search is an integral part of their workflow.

These trends spell an interesting future for search but that’s a topic for another article some other time.


Search as Navigation!

When I want to get to a webpage whose URL I don’t know, I usually have two options – go to the website that hosts the page and subsequently navigate to the page by clicking here and there OR go to Google search box and type some appropriate keywords and pick that page from the list. So, if I want to download mysql for Linux, I can either go to mysql.com and follow the download link or I can go to Google, type mysql linux download and pick up the relevant search result.?


We all know that the method #2 has won over method #1. And there are several good reasons for it. The regular, good old navigation method is dying (well almost). I’ll come back to it in sometime but for now, let’s see why I go to Google for getting to my destination page instead of the website that hosts the page.?

First, there is just too much information out there for me to navigate my way through it. Too much of text to be scanned through by my eyes before I can find the link to click. Each website has its own navigation model and my mind has to get trained every time I go to a new site. And there is no predictability about how many times will I need to click before I reach the desired page.?
With Google, the interaction model is simple. I go to Google, type the keywords, hit Enter, scan the results vertically downwards, click on the link where I want to go. Predictable, fast (because Google loads fast), and my mind is trained so that repeat cycles don’t require so much effort.?

Secondly, if I am looking for hotels in Shimla, I wouldn’t even know which website hosts the page that I am looking for. How will I navigate my way through “Hotels in Shimala” in that case??

And thirdly, it’s about choice. If I am looking for “Hotels in Shimla”, I would like to do some “research” and check out multiple sites that provide relevant information.?

I wouldn’t say that these are the only reasons but these are enough to paint a picture of why I go to Google, type “mysql linux download”, click on the relevant link from the results page instead of going to mysql.com, navigating my way through the site, and reaching the mysql download page. In fact, it’s very easy to navigate to mysql download page from their home page but still I don’t do it because I have chosen a method for myself now.?

I would also like to tell a small story here. No, I am not digressing. The story is very very relevant.?

I used to stay in Bangalore till sometime back. I don’t know how bad the Forum junction is now but it used to be pretty bad 2-3 years back. Once I was talking to one of my ex-manager when I mentioned that I stopped going to Forum because I found it very difficult to drive down to that place. My manager said with a wicked smile, “Oh! But it’s very easy for me. I just tell my driver that you take me to Forum”.?
Navigating to a place in Bangalore was very easy for my manager. He just had to say “Take me to that place”. That’s what Google Search is for me. I just say “Take me to mysql download page”. Or “Take me to all the hotels-in-shimala pages”. That’s all I have to do in the name of navigation.?

So, the point here is not that the navigation is dead. The point here is that search is the new navigation method. When I am lost in Pune Camp area, I roll down the window of my car, ask the scooter guy next to me on a red signal, “hello, where is the race course road?” The scooter guy says, ?Go left, 1 km down the road, take right, skip 4 signals, turn left and immediate right?. Or he says, “I am also going there, follow me”. Ah! Such a relief!!?

That’s what search is now and that’s the navigation model in the new web. And why talk about web, even for individual websites, that’s how it’s got to be. The sooner we realize and build the navigation model of our websites around it, the better it is. We were looking at the usability of one network management product which had hundreds of screens to do hundreds of things on the network devices. One of the important feature we thought for navigation model was to have a screen search box at the top. You want to configure routes, just put “route configuration” at the top and you’d be taken to the relevant screen or a list of potentially relevant screens.?

Of course regular, good old navigation is not dead. It is still needed when one is in an exploratory mode and doesn’t necessarily have a specific objective. If I am just curious about mysql, I would go to mysql.com and would likely use the regular, good old navigation. If I am just a curious visitor to Bangalore, I wouldn’t tell my driver “Take me to Forum”. I would rather say “Show me the city” and expect the driver to provide a “guided-tour” kind of thing.?

So, search is not just search. It’s navigation especially when I know what I want but don’t know where it is. And search is not just Google search. It is search. Google may be the best way to do it in most of the cases. Good old navigation is for exploration and may be for serving 5 most common purposes for which people come to a site.?

Does it change the way I approach the navigation design for my website? Does it change the way I think about navigation on web in general?


Designing for usability

[Note: It was first published at PuneTech.]

Ultimately, we build all the systems so that they are used at one point of time, and the system that we build will be used only if they are usable. If a system is not usable, how will someone use it?

It is very common to come across doors that are supposed to be pushed to open (and there is a sticker close to the handle bar which says PUSH) but most of the people will pull it. Also, it is very common to see doors that are supposed to be pulled but people end up pushing them. It’s not really a problem with the people. It’s a problem with the design of the door. It’s a usability issue. There are doors that are pushed when they are expected to be pushed. It’s all in the design, isn’t it?

When Gmail was launched, it was an instant hit. Even though it didn’t do as many things as other email services did at that point of time (like support for all browsers, drafts etc) but it was still a revolution by itself. And the reason was simple – usability. What was the need of Gnome project? Wasn’t it the usability of GNU/Linux for non-programmers?

Two levels of system usability

1. Conceptual usability

A system is not an island. It is connected with various other entities by various means. And it shares one relationship or the other with those entities. A conceptual model effectively captures these various entities and what kind of relationship our system has with these external entities.

The model of Britanica Encyclopedia is that a group of experts together create an encyclopedia over important topics which can then be read by people. The model of Wikipedia is that people (and that includes everyone in the world) can help in writing the encyclopedia that everyone can read. The model of Google Knol is that experts can write articles on specific subjects which everyone can read. The readers can suggest improvements that the original authors can incorporate.

The conceptual model must be made usable. The entire system will eventually be built on top of the conceptual model.

2. Interface usability

So, we have settled that a system maintains some relationships with some external entities. This relationship is exposed through interfaces and we need to think through the usability of those interfaces.

Gmail is an excellent example of interface usability. As I mentioned earlier, there were several email services when Gmail was introduced but its interface usability was far superior. This is an example of how the same conceptual model can be presented to the user with completely different interfaces.

The conceptual usability is a must to help the user understand the system. Wikipedia is an encyclopedia which can be read and modified by anyone. And interface usability is a must to help the user *do* something with the system. On each page of Wikipedia, everywhere your eye goes, you’ll find a link to edit the page or a section thereof. It almost invites you to modify the page.

Methodology and Evaluation

There are ways/methodologies to design usable systems. The usable systems are still created by people whose thought process naturally evaluates the usability at every step. However, these methods can make the system designer better grounded in the real world and make him/her more efficient too.

Much like a system cannot be declared as functional till it is tested for the same, usability of the system has to be tested with equal vigor. After all, if the system is not usable, who is going to use it (even if it is functional)? And there is only one way to test the usability of the system – by letting target users use it and that too without providing any guidance. Closely observing the users can be an eye opener many times.

And the system designer/developer cannot verify the system usability. In the course of developing, the developer has learnt too much about the system and knows exactly how it works. However, the user would not have so much of knowledge about the system and may not attempt to do things in the same ways. If you don’t believe me, go and re-read the doors example.

And what else?

Ultimately, it is possible to educate people how the system works. But the willingness of people to be educated will depend on why they need to use the system and how often. So, keep it as the last resort.

And first thing is still the last thing. We need to create usable systems because nobody uses unusable systems. And very few systems are usable by accident. Most of the usable systems are developed with usability as a focus.


Follow

Get every new post delivered to your Inbox.