Archive for March, 2009

Firefox’s Built in SQLite History Database

March 31st, 2009 No comments

As of Firefox 3.0, the history and bookmarks have been stored in an SQLite instance that is natively available. You can actually interact with this database using the following JavaScript code snippet.¬† Now all you need is the person’s name, and voila, you know their entire browsing history !

How do you get their name, well, ask them! Provide a textbox and some incentive, and you’ll have their name and email soon enough.

Warning: I have only run this script locally, and do not know as yet how it behaves if you load it off a remotely accessed web page. If you do manage to get this working remotely, please leave a note in the comments.

Querying the Mozilla Places SQLite Datastructure

//Create Useful Shorthand Notations
var Cc = Components.classes;
var Ci = Components.interfaces;
var rc = Cc[“;1”];
var rs = rc.getService(Ci.nsINavHistoryService);
var myquery = rs.getNewQuery(); //returns nsINavHistoryQuery
var myqueryoptions = rs.getNewQueryOptions(); // return sINavHistoryQueryOptions

//Execute the query on the History Object

var myresult = rs.executeQuery(
); // returns nsINavHistoryResult

var node = myresult.root; //Of type nsINavHistoryResultNode;

//Parse the results, and collect the URLS in the following string

var collect_string = “”;

//var node = result.root;
node.containerOpen = true;
for (var i = 0; i < node.childCount; i ++) {
var node_new = node.getChild(i);
collect_string += node_new.uri + “\n”;
node.containerOpen = false;



Penny Wise, Pound Foolish – Avoiding Failure in Search Technology Deployment

March 9th, 2009 No comments

As someone who has spent many years seeing all manners of information technology solutions bought and implemented, I find it painful that most IT failure deployment are not due to the technology, but to the decision making that accompanied the technology. When will we collectively realize that IT is not a silver bullet.

Throwing money at the problem does not a solution make.

The most important resource¬† that organizations have is their people, and the output of these individual is the bits of knowledge and wisdom that accumulate at different places in the organization in the form of emails, documents and databases. To truly leverage this information, it is important that a means be made available to index this information, and make it seamlessly accessible. However, this is easier said than done, and cannot be solved merely with technology. The unique workers who create this knowledge, and power the firm’s strategic advantage will definitely rebel against a solution that radically changes the way they have carried out work. Even if the knowledge is successfully indexed, there are no guarantees that the ability to search through this information repository will be used.

To increase the likelihood of the firm’s information lifeblood being properly utilized, some serious research needs to be done into the firm’s information flows, and the work processes that the knowledge-workers employ to create and access this information. In the absence of this research, simply buying a ‘search appliance’ will be an expensive mistake.

Search is a very strategic investment, and must be treated that way, with all the love and care that is required to make sure that this investment succeeds. It is a far different story from simply purchasing another laptop computer.


Faceted Search — The Superior Search Method

March 3rd, 2009 No comments

One of the most intuitive methods available for searcher is faceted search. This builds on the strength of both direct search, and browsing.

The two paradigms that search professional are most familiar with are:

  • Navigational search (browsing) uses a topic hierarchy that allows users to iteratively narrow down the scope of their quest by digging into the hierarchy. This hierachy is usually predetermined, and may be either hand-created or automatically generated. Good examples can be seen in the classic Yahoo! Directory, and DMOZ. This is useful for those with some search proficiency, as they can examine the set of topics available at the current node in the hierarchy to improve the description of their ‘information need’.
  • Direct search allows users to simply write their queries as set of keywords in a text (search-)box. Most people are much more familiar with this interface, as it has no learning curve. However, there is no attempt made to give the user a sense for what is available in the content. The responsibility lies with the searcher to examine the returned set of document, and improve the search by choosing relevant keywords. Most search engines (including the one on this site) employ this metaphor.

There is however a third metaphor, which combines the best feature of both paradigms that have been discussed, Faceted Search.

Faceted search essentially starts out as a direct search, however, as soon as the results have been returned, the user is also presented with a set of filters that they can use to ‘dig’ down through the results. Three excellent examples are available at Ebay, Yahoo Mail‘s search feature and Autocatch.

Ebay allows you to carry out a search and narrow it down by geographic location, price, classification of the product and other ‘facets’. They have done a commendable job of making it possible for people to navigate through a constantly changing, and diverse set of auction items. Faceted search is an important aspect of their strategy to provide easy-to-use product access for their customers.

Ebay Faceted Classification Example

Autocatch has also provided a number of different ways to navigate through the large repository of cars that are available for sale. After the initial search, the user can narrow down based on location, make, model, year, price and whether the seller is a private party or a dealer.

Autocatch Faceted Classification Example

Note that in both examples, the faceted search is based on the actual content, and the ‘natural’ steps that the user would take when they are fulfilling their information access task. It is essential that the faceted search strategy is aligned with the content and the user’s needs, otherwise it will drive off your user’s and not have the intended benefit.