Saturday, February 18, 2012

How to search information on google effectively

We search information over the web in our day to day activities by typing the search queries in the google search text box and get the results. If search results are not very much relevant then again we modify the search string a little and hit the search button again.We can do this in a better way to get the relevant information. Before doing this its good to know how Google works. What are various search options that Google offers, What are the Google Search Capabilities etc.  In this article I'm going to talk about various Google search options, tips and tricks. Its essential for internet user to know these tips to exploit the real power of Google search engine.

How Google Works?

There are three basic component of a search engine:
1.Crawlers: A software automated programs also known as “spiders” or “robots” that is responsible for the exploring the web, finding content and retrieving it for indexing and storage.
e.g. GoogleBot(Per Month) , FreshBot(Per day)
2. Indexers: It catalogs all the words and their positions on every page that the crawler fetches. There catalogs serve as maps for the search engine ,allowing it to match the words in your search request to specific web pages and pinpoint the location of those words in the searched web pages.
3. Query Processor: Understands the query submitted by user pass it on to the indexers and rank the pages got as a result of the search. 

How Does Google think?

Google consider about 100 of factors to decide ordering of links in the search result page called “metrics”.
There are two types of “metrics”:
1.”On-the-page” metrics: Important factors are
     a. Search text matching.
     b. Where it is appearing in HTML document.
     c. Font used for it.
     d. Frequency of the term.
     e. Other “prominent areas” e.g. bulleted list

How does Google interpret basic search?

Google places “AND” operator between all search terms entered in basic search box. 
Automatically searches for some plural/singular and grammatical variants.
You enter:         news reader
Google searches:     news AND reader OR readers
Does not search as exact phrase unless quotes present!

Full Google Search Capabilities
 
Use Quotes to have Google search exactly what you type: Yes if you want search results exactly how you entered it, then include your search query in quotes for example "news reader". Try out the difference between search strings Sachin Tendulkar and "Sachin Tendulkar" in the search text box.

Expand your search with Synonym: Use tilde (~) before your search query to find not only the string entered but also its synonyms. For Example ~Popular Restaurants and see the difference.

Search by file types: If you are searching for certain files you can use the keyword filetype and specify what files you are searching. For example. Service Oriented Architecture filetype:ppt. This will search you all the presentation files on Service Oriented Architecture

Negative Search Terms: The search String nano -car will return the results with word nano but not Tata Nano car. This is useful when you know upfront what search results can be and you don't want that. Just negate your search query with hypen(-).

Limit your search results to a particular website: Use site: keyword after your search query to search the information only in the website you specify. For Example. How to make computer site:wikipedia.com

Search for sites that link to particular website. Example link:india.com

Google is a dictionary also: Find the definition of a word or a phrase by adding keyword define before the search text.

Google is calculator as well!: Just type your calculations like 20*30 in Google search text box and you will see the results as 20*30 =  600.

Google is convertor too! :Convert currency, units and lot more. For Example, type 1USD in INR, you will find the search results as     1 U.S. dollar = 49.2707923 Indian rupees

There are advanced search operators which you will find here

Google Alerts - I liked this feature. If you are searching for a news at news.google.com, you can ask Google to alert you whenever same or similar news is published via mail. This is powered by Google Alerts.By using Google Alerts you can monitor the web for your interesting new content.

Google Scholar: Covers: law, medicine, social sciences, arts, humanities, business, & finance.
Included items: peer-reviewed papers, theses, book excerpts, abstracts & full-text articles
Sources for items: academic publisher web pages, professional societies, preprint repositories, universities, & other scholarly organizations. http://scholar.google.com/

Google Book Search: Searches full text of indexed books.
If work is in public domain, full contents usually available if not, users can view bibliographic info (author, title, publisher) and perhaps some excerpts.
Library partners:  UC, Princeton, Stanford, Univ. of Michigan, Univ. of Texas, Oxford, UVA, Univ. of Wisconsin, …… http://books.google.com/

Something interesting at the last
: Google provides Localized Search, Movie Search, Code Search, Patent Search. Just take a look at these to understand well the power of Google today.

Limitation of Search Engines: The Invisible Web

Yet there is tons of information that's not reached by Google. A large number of the web pages that don’t have any link to them can not be crawled by “Googlebot”. Webpage that requires human actions for entering them like filling form with relevant data. A book called “The invisible web” by “CyberAge” book discloses that it is 2-5 times larger than visible web.Google predicts it can fully solve this problem in 50 years!    


Friday, February 17, 2012

A Brief Overview On Software Product Branding

Software product branding involves change in the labels, images & user messages that contain brand specific words and/or product functionality remaining the same. And branding is product marketing strategy for many companies. Branding also involves inclusion or exclusion of certain product features across different brands. This depends on your brand requirements. In this article I’m going to talk about how software products are built for different brands from developers’ perspective.

What is a brand?

Brand is a company’s image; brand evolves from hard and sustained work by the company. When customers start using a brand of products and are delighted with it, then the company has successfully created a brand and earned the customers; they start looking for products with the same brand because they have trust on the brand now. This is how companies build brand promise to the customers. Companies have brand promises in different regions of the world. A company brand which is popular in one country or region may not be popular in other countries. And hence it becomes important to brand your product to different brands for different regions.

How to brand a software product?

To understand this better, let’s us understand what is a software product line. The software brands are made out of a single software product line.  Wiki defines software product line as “a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way”.  For a developer it means that it’s a common software product source code from which various products can be built. This is best explained by seeing how software for different mobile handsets is maintained. There are many phone models and there may not be different source code bases for each model but a single software line and an infrastructure to compile and build for different models. The phone software for different features like camera, audio player etc is a reusable asset. While building software for a phone model that does not support camera feature, the build process needs to have infrastructure to exclude the camera feature. Read below to understand how we can include or exclude product features while building the software for brands.

Software Brand Requirements

List all the brands you are going to support and collect the branding requirements.  Yes, there will be branding requirements; probably the marketing people will be able to provide these requirements.  For example, what name the product is going to be called in each brand. In my case this was true because the product name was being called wasn’t really explain what the product is going to be all about. As I said earlier in this post, for certain brands, we may have to disable/remove certain product features. All these variations are collected as brand requirements before starting the brand work.

Brand build infrastructure

There are two parts, the first part is to process all the labels, as best practice all the labels/user messages are stored under a resource file and this resource file is processed to change the labels as per the brand requirements. The second part is to add/remove or disable/enable the product features across the brands. The first part can be achieved through simple word processing script, kind of find and replace utility. The build tool ant does this or else you can write your own logic (kind of utility program) to process the resource file.  The second part is to handle variations in product features across different brands. For achieving this, we may have to modify the source code files like .java, .cpp, .xml files. For example, we may have to remove a piece of code or include another piece of code (The code that is required for a specific product feature) based on the brand that we are building.  To handle the source code file variations effectively we can use available tools used to manage Software Product Lines. The one I used is BigLever SoftwareGears. I found this tool very useful while dealing with source code files variations.  The gears tool actuates the source code as per the selected brand. Let me quickly explain how gears modify the source files. The Gears tool requires the source code files to mark with something called blocks. It has different syntaxes for different types of files (ex: java, xml files). 
Related Posts Plugin for WordPress, Blogger...