Writing a search mashup with ASP.NET and Atlas

At MIX '06, and at the Real World AJAX Seminar, I demoed a mashup application that uses ASP.NET and Atlas to provide a richer experience. The application, called MySearch, lets the user enter a search query, and simultaneously searches several services - books from Amazon, web pages and news from MSN, blogs from Technorati, and images from Flickr. The app shows how easily Atlas and ASP.NET can deliver a mashup with a rich user experience.

Here is a ZIP file containing the source code for that demo.

Installation

Using this application requires a few setup steps, because you need to register with the different service providers, and enter the registration information in the <appSettings> section of web.config.

You'll also need to copy the Atlas assembly (Microsoft.Atlas.dll) and the Atlas Control Toolkit assemblies into the bin directory. You can get these from http://atlas.asp.net.

Key Features

The MySearch application uses several Atlas features to deliver a richer UI, including:

  • Several levels of UpdatePanels to enable partial updates of the page,
  • Use of the AutoComplete extender to provide a history of recent searches in the search input box. This allows the user to easily repeat recent searches.
  • Use of the HoverMenu extender to provide hovering menus for text, and also zoom rollovers for images on the image pane.
  • Use of the ASP.NET server side profile to save and restore application state. If you close the application and return to it again, the application will restore your last state.

Next Steps

To take this demo to the next level, some of the next steps would involve providing predictive background loading of non-active tabs, so you don't have to wait for an update when you switch tabs, and implementing the MyStuff functionality. I'll add these features to the demo soon - first I need to get the blog starter kit out. :)

Download MySearch.zip.

Feedback

Please post your comments:
Name:  
Email (optional): Your email address will not be posted.
URL (optional):
Comments: HTML will be ignored, URLs will be converted to hyperlinks  
Enter the text you see in the box:
 
Copyright © 2006 Shanku Niyogi