The Social Dimension of Enterprise Search
December 13th, 2007by Jeremy Thomas
No, this is not another post about combining social bookmarking and enterprise search. Instead I wanted to highlight how the social dimension of enterprise search - the search terms people use and the links they click as a result - can add to the effectiveness of an enterprise search solution.

The idea is simple:
- Capture “fruitful” search queries - queries that cause a user to actually click a search result.
- Capture the link, title, query and timestamp for each search result a user clicks. This can be done by re-writing the URLs to post to the search application first before redirecting to the original link.
- Display the number of times a document has been viewed (”views:5″, as is the case with the first document in the screenshot). Documents that are viewed more than others tend to be more helpful, and this information can be useful when determining what to look at.
- Massage the search statistics so that popular search terms are displayed in a “Search tag cloud”. This lets the user knows what the enterprise is looking for and helps create stickiness.
“Rabble” is a simple proof of concept that we developed in Ruby on Rails, and we could probably do a lot more with it. It integrates to a Google Search Appliance on the backend, and I’ve discussed how to do this integration before.
Interestingly, much of the information captured by Rabble exists inside the search appliance, and yet there’s no API to access it. Hopefully such an API is on Google’s roadmap, as information about user behavior can go a long way toward adding a valuable social dimension to enterprise search.
Integrating Google Enterprise Search with Social Bookmarking
June 20th, 2007by Jeremy Thomas

I don’t generally write technical posts, but the geek inside me wanted to share some insights into how to “mashup” Google Enterprise Search and Social Bookmarking. Here’s what you’ll need:
- A Google Mini or Google Search Appliance
- Scuttle - an open source, delicious-like social bookmarking application
- Xalan - a Java-based, open source XSLT engine
The Value Proposition
The idea behind this is this: when a user performs a search, each of the results on the page display social bookmarking information (tags and “saved by” count) if that URL has been bookmarked by somebody within the enterprise. This helps the searcher make an more informed choice when deciding which content to look at. If somebody else inside the enterprise has found a relevant content item to be helpful then perhaps the searcher should look at it first. It also exposes the searcher to others within the enterprise who have a mutual interest in the content being looked for.
Technical Mumbo Jumbo
Out of the box the Google Search Appliance provides a great amount of flexibility in modifying how search page behaves and feels. This is done through modifying the default XSLT (which produces a UI nearly identical to google.com). So, ideally all I’d have to do to include scuttle into the search results is use the document() XSLT function invoke a scuttle API that returns XML data about the URL (including the tag list and saved by count). I could then aggregate this XML with Google results XML displaying a seamless result to the user. Unfortunately the Google Search Appliance XSLT engine does not support the document() function, so I’m left to run an external XSLT engine - hence Xalan.
So, here’s what I did:
- Downloaded Xalan and made some minor tweaks to the “SimpleServlet” demo application (class and package name change, modified the configuration to use my XSLT and invoke the Google Search Appliance to retrieve the results in XML format).
- Packaged the modified version of the “SimpleServlet” and deployed it on my Tomcat instance.
- Copied the Default XSLT style sheet from the Google Search Appliance, and modified it starting at line 2398 (the XSLT template for a snippet) adding code to invoke the Scuttle API and incorporate tags and saved by count at the bottom of the snippet. Saved the XSLT and bundled it with my “SimpleServlet” war file.
- Copied the scuttle “posts_get.php” API and made a new API that returns bookmark information for a given URL.
That’s it. Users now access my custom web application to perform enterprise searches (instead if using the default GSA frontend), but so far so good. Hopefully one day Google will support the document() function so we can do integration like this using the XSLT engine on the appliance. That would certainly make life a lot easier.
Why Google Could Dominate Enterprise 2.0
June 15th, 2007by Jeremy Thomas
I recently pondered over the myriad applications and services Google has acquired and produced over recent months and realized that they are well positioned to dominate the Enterprise 2.0 market. The best way to illustrate is to give a simple rundown of how Google addresses the Enterprise 2.0 SLATES approach (I’m not going to argue the value of SLATES as I and others have done that before):
- Search: Google Enterprise Search
- Links: Page Rank
- Authoring: Google Apps for the Enterprise, JotSpot, Blogger, YouTube
- Tags (Social Bookmarking): Google Base
- Extensions: Adsense
- Signals: Google Reader, Feedburner
We musn’t forget Orkut, Google’s Social Networking application (Social Networking is one key element that is missing from SLATES), as this could easily be bundled into the commercial offering as well.
All of these applications are, or can be, converted for commercial use using either the cheaper SaaS model for economies of scale as Google has done with Google Apps, or packaged as a more expensive Appliance. In my experience larger companies feel better when they control their data, so the appliance option for them might be more compelling.
As a consumer, we already get single sign on to most of these applications. For example, when I sign in to GMail I can access Google Reader or Google Base without signing in again, and this cohesiveness is fundamental for user acceptance of any Enterprise 2.0 solution.
I also see a lot of potential for Adsense in the Extensions camp, where instead of promoting ads as one would do in the consumer world, companies will promote presentations, deadlines, important documents and highlight employee contributions using Adsense technology.
Enterprise YouTube could also significantly change the way people blog inside the firewall. Imagine your engineering team recording and uploading their status updates on a biweekly basis, or your boss sending you an email with a video message about his meeting in Shanghai yesterday, and having all of these video blogs stored in a searcheable repository.
As of now all Google really offers in the Enterprise 2.0 space is Enterprise Search (and I think Search is the first and most important element), and Docs and Spreadsheets (online, collaborative versions of Excel and Word). I’d bet money that Google will come to the market with a more compelling offering in the near term.
The Appliance Model
February 23rd, 2007by Jeremy Thomas
We’re starting to see a shift in the industry where software vendors package their products inside servers and deliver them as a single cohesive unit. The “appliance model” has a lot of benefits and makes sense for IT Managers who wish to deploy software that maximizes value but minimizes the infrastructural impact and the time required to implement.
The Benefits
- “Plug and Play”: Appliances are designed to swiftly integrate into the network and be up and running within minutes or hours. I’ve personally installed the Google Search Appliance several times and have had it up and running in 20 minutes with some content being indexed and served about an hour after that.
- Service Level Agreement: Generally license models bind the entire appliance to a single SLA. This means if something, anything (hardware or software), breaks, the vendor is liable. This removes a lot of risk from customers as traditionally liability was dealt with as follows:
- customer: “The software’s broken”
- vendor: “No, it’s your server that’s broken. You didn’t configure and scale it correctly”.
- customer: “No, I followed your installation instructions and it doesn’t work”.
- You get the idea
Trends in the Market
Google was the first company I’ve had experience with that’s offered appliance-based products. I’ve since noticed several Enterprise 2.0 solution providers with appliance offerings. These include:
This is a fantastic idea and will dramatically diminish the complexity in deploying an Enterprise 2.0 solution. Companies won’t have to worry about sizing their infrastructure to meet internal demand and the total cost of ownership of maintaining these systems is reduced considerably. I’d bet money that the appliance model will be the status quo in a few years.
Follow Me