Windows Desktop Search

 

A Review by Kunal Kundaje

http://kunal.kundaje.net

 

 

The MSN Search team at Microsoft recently released a final build of the MSN Toolbar Suite with MSN Desktop Search, now known as MSN Search Toolbar with Windows Desktop Search. This review covers the desktop search aspect of the application suite.

 

Installation:

 

The final build features a new installer with a few more options so that you can configure the application the way you want it. One particularly nice addition to the installer is the option to enable or disable the toolbars for Internet Explorer and Outlook. Many users (including myself) are interested only in the desktop search aspect of the application and don’t need two additional toolbars floating around.

 

Once installation is complete, a first-time configuration wizard pops up that allows the user to specify which folders should be indexed. By default, only the My Documents folder and emails are indexed. Many users don’t check the options and wonder why their files (stored in other locations) don’t show up in search results even after indexing is complete. Allowing them to specify what to index right after installation is a good move.

 

First Impressions – UI changes:

 

Probably the first thing most users will notice right after installation is the refreshed UI. The new deskbar looks much more polished and takes up less taskbar space than the one in the beta builds. It strongly resembles the MSN Search (on the web) UI with the simple white input box and the green Go/Search button (the latter can be removed through the Options dialog. No more registry hacking!). The “butterfly” button that existed in beta builds has now been moved into the fly-out panel that displays results as you type, presumably to save space on the taskbar. The fly-out panel itself also looks somewhat cleaner. Finally, the little icon in the notification area has also changed and is now simply a magnifying glass without the butterfly. 

 

      

 

The deskbar from the beta builds (left) and final version (right)

 

The full search window that comes up when you double click the magnifying glass or search for something also sports a new, more MSN Search like look with blue gradients, and a new Windows Desktop Search product logo. There’s also a Preview Pane that displays quick previews of documents, text files, emails, pictures, presentations etc. I will be covering that in greater details later in this review.

 

All-in-all, the new UI is welcome change and incorporates lots of feedback that users, including myself, submitted during the beta phase of the program.

 

Initial Indexing – a pleasant surprise:

 

One of the first things that happen immediately after installation is the initial indexing process. All the files in the folders that the user specifies need to be indexed before they can appear in the search results. This was a painfully slow process in the first public build that we had a chance to play with. However, the team has been constantly working to speed up this process, and it has been clearly noticeable along the way. The beta refresh build was already faster at indexing than the first build. The final release is significantly faster than the beta refresh as well. I’m currently using it on a two-year old Dell Inspiron 5100 laptop with a 2.4GHz Pentium 4 processor, 512MB of DDR RAM and a 30GB 4,200rpm hard drive. Indexing about 8 to 9 GB of mixed data, including content-rich Word documents, PDF files, C++ source code, pictures, music etc. took between 10 and 15 minutes on my system. Pretty impressive! One of the key factors that affect indexing time is the speed of the hard drive, since it’s a rather disk-intensive process. Desktop drives that spin at 7,200rpm and even 10,000rpm these days should be able to get through the process much faster.

 

More on Indexing – IFilters and the new options:

 

Windows Desktop Search indexes lots of different, commonly-used file types by default. However, users need to install IFilters for certain file-types like PDFs, ZIP archives etc. IFilters are add-ins for the indexer that enable it to index new file-types that it normally wouldn’t recognize. This is a common standard that has been used since the days of Windows 2000. IFilters are used to extend the functionality of the Indexing Service built into Windows as well. You can find a list of downloadable IFilters on the add-ins page and the Channel9 Wiki. Note that with the final build, it is not necessary to rebuild your index after you install new IFilters.

 

Links:

·         http://addins.msn.com/

·         http://channel9.msdn.com/wiki/default.aspx/Channel9.DesktopSearchIFilters

 

Now, indexing is not a one-time process. In order to keep your search results always up-to-date, the indexer has to collect information about files and emails that are created, modified or deleted all the time. Windows Desktop Search receives notifications from the system everytime such changes occur. However, by default, it waits for the system to remain idle for a few seconds before it actually goes ahead and indexes a file. The advantage of this approach is that system performance is not noticeably affected. The downside is that the index is not updated in real-time.

 

One of the most welcome features in this final release is the option to Prioritize Indexing. Enabling this option allows the indexer to run at a higher priority than it normally would (Normal, instead of Below Normal) so that it can index files and emails in real-time. If you have a reasonably modern machine, I highly recommend enabling this option since it keeps the index always in-sync. Create a file or modify the contents and the changes are committed to the index immediately. Delete a file, and it’s removed from the index right away.

 

Some other new options related to the indexer that are new (or were hidden away as registry hacks in the beta builds) include the ability to turn off indexing when a portable machine is running on battery power, the ability to specify where the index is stored, and the ability to specify which file-types should and should not be indexed. These options give power-users much more control over the indexer. Another welcome addition is the ability to specify which folders in Outlook and Outlook Express should be indexed. This was one of those most-wanted features during the beta phase. 

 

Update (07/10): An add-on protocol handler, now available as a free download from Citeknet, gives Windows Desktop Search the ability to index and search the contents of Thunderbird, Mozilla/Netscape Mail and Eudora mailboxes. Download here.

 

The Deskbar – A Swiss-Army Knife:

 

By default, the deskbar is placed at the end of the taskbar right next to the notification area.  This is the most accessible area since the taskbar is almost always visible. However, on smaller laptop screens, this can waste valuable taskbar space. I personally prefer to drag the deskbar out onto the desktop (the taskbar needs to be “unlocked” first). This makes it a floating toolbar (see image) that can be accessed at any time using the customizable shortcut key combination, which is Ctrl+Alt+M by default.

 

If you’ve used the deskbar before or if you’ve read my review of the beta builds, you’ll know that it’s extremely versatile and powerful. The primary function of the deskbar is searching, so let’s look at that first.

 

Searching:

 

To begin searching, you simply switch focus to the deskbar, either by clicking in the textbox or using the shortcut keystroke, and begin typing. The system begins searching through the index while you type and results are refined as you enter each new character of the search query. This means that, in most cases, you don’t need to type an entire word or filename to find what you’re looking for. The results appear in the fly-out search results panel even before you finish. The results are organized by type, just like Windows Explorer’s “Show in Groups” feature with “Arrange by Type” enabled.

 

There is also an advanced query syntax (look under the Help option) that allows users to fine-tune search results. For example, if you’re searching for all emails from Adam that contained some information about ACM funding, you could just type “from:Adam ACM funding” into the deskbar to find what you’re looking for. The advanced query syntax is pretty exhaustive and allows users to specify a variety of attributes.

Once the deskbar has found what you’re looking for, you can open it up directly through the fly-out results pane using your keyboard or mouse. Right-clicking a search result presents the user with the context-menu similar to the ones that are presented when a file is right-clicked anywhere else in the system. This can be handy if you want to copy or delete a file, or perform file-type specific actions like extracting a ZIP/RAR archive. Hitting Enter after typing a search query into the deskbar opens up the full results window which we will look at a little later.

 

In short, search works exactly like you would expect it to. However, there is one unfortunate bug/oversight in this latest release that has been brought to the MSN team’s notice already. If a filename contains underscore characters, the file does not appear in the search results if the user searches for anything following the underscore character. For example, searching for “presentation” will not display the file “Class_presentation.ppt.” This can be a problem for users who use underscores in place of spaces to separate words in filenames. The team plans to fix this in a future release.

 

Aliasing and Application Launching – the Run dialog on steroids:

 

I mentioned that the primary function of the deskbar is searching, but that’s not the only thing it can do. One of the unique features of Windows Desktop Search that none of the other desktop search apps have is the concept of aliasing. This is a killer feature for power-users.

 

Aliases are shortcuts that can be used to perform more complex queries and even launch applications! That’s right – if you’re a keyboard person like I am, you can throw away the Quick Launch toolbar and all your icons on the desktop. Heck, you probably won’t even use the Start Menu anymore once you get the hang of this.

 

You can launch common applications by prefixing their names with the ‘=’ character. For example, =iexplore opens up Internet Explorer, =firefox opens up Firefox, and so on. But that’s too much work, right? This feature can be combined with aliases to create short keywords to launch all your frequently-used applications. Defining an alias is a one-time process, and you do it by typing something like this into the deskbar and hitting Enter:

 

@fx,=firefox
@fz,="C:\Program Files\Filezilla\filezilla.exe"

 

The initial @ tells the deskbar that you’re defining an alias. You then give it a name (like fx or fz), followed by a comma, the ‘=’ character and the name or location of the application you want to launch.

 

Once you’ve set up aliases for all your apps, they’re saved until you change or delete them. You can then launch Firefox by simply typing fx and hitting Enter. Once you get the hang of it, using the mouse to point-and-click on icons will just seem too slow and cumbersome. Of course, this is assuming you’re quick at the keyboard. :)

 

But that’s not all you can do! You can also set up aliases for custom web searches. Do you use Google Maps often? How about Dictionary.com? Create aliases for them as follows:

 

@map,http://maps.google.com/maps?q=$w

@dict,http://dictionary.reference.com/search?q=$w

 

The $w gets replaced by the first argument you type after the alias keyword. For example, typing “dict omniscient” will open up your default browser and search Dictionary.com for the word omniscient. Fast and convenient!

 

Full Search Results View:

 

So the results displayed in the deskbar fly-out pane aren’t enough. You want to see more detailed information about each result. Not a problem. As mentioned earlier, just hit Enter after typing your search query and a window opens up with detailed search results.

 

It’s important to note that this window uses a shell namespace extension and that it is not an Internet Explorer window. The fact that Google Desktop Search displays search results in a browser window misled many users into thinking this does too. However, if you think about it, displaying search results in browser window is not very prudent for a desktop search app. It does not allow the kind of rich interaction that’s possible when using a shell namespace extension. For example, with Windows Desktop Search, you can right-click search results and work with the same familiar context-menu that you use everywhere else in the system. You can drag and drop search results into other folders and applications. None of this is possible if the results are displayed in a browser window.

 

Search results displayed in detail

 

Moving on, the full search results window displays additional information about your results, including thumbnails of images and presentations, excerpts of documents, text files, PDF files, source code, emails and other indexed files, as well as other metadata like the date the file was modified, the author, the file size etc. The user can also filter out results of only a particular type. The context menu for email messages includes a special option called “Show Conversation” that displays all messages in the same conversation thread. While this feature has existed since the first beta, I’m mentioning it here for those users who didn’t use those builds, and also because I think it’s a rather handy feature that I’ve used on multiple occasions.

 

New in this final build is the preview pane, which was another hot request during the beta period. The preview pane, as the name suggests, gives you a quick preview of the contents of indexed files like documents, text files, emails etc. as well as images and music. Users can specify what file-types are previewed in the pane through the Options dialog. One nice feature of the preview pane is that it displays similar files in the same folder as well. For example, if you click on a result that’s an image, it shows you a thumbnail of the image in the preview pane, along with smaller thumbnails of other images in the same folder. Same goes for music as well.

 

 

 

 

 

 

 

 

Preview pane displaying the contents of an email message

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Preview pane displaying music metadata and album art, along with a track listing of other songs in the same folder.

 

Notice how similar the UI is to the MSN Music Store.

 

 

 

 

 

 

 

 

However, there are a few quirks here. Displaying previews of Office-related files like Word documents, Powerpoint presentations etc. is a little glitchy and delayed the first time. I hope these issues will be ironed out in future releases. I also wish songs would play without opening an instance of a media player when the little play button next to them is clicked, but that goes on the wish-list rather than being a bug report. Other than that, the preview pane is definitely a great addition to the app and a time-saver that most users will appreciate.

 

Bookmarked Searches:

 

Now you’re familiar with the numerous capabilities of the versatile deskbar and how the whole search process works. So do you find yourself doing repeated searches for the same items throughout the day? That’s where bookmarked searches come in. This feature works almost exactly like the Favorites/Bookmarks feature in your web browser. Perform a search and bookmark the results. Next time you open the bookmark (which can be accessed through the Favorites menu item in Windows Explorer or IE), the results will automatically be populated with any new results that match the search query that was bookmarked. In effect, this is almost like the smart Search Folder feature that has existed in Outlook 2003 for a quite a while, but across the whole filesystem.

 

Concluding Thoughts:

 

I think the MSN team has been doing a fantastic job during the past few months. Community involvement has been great, and users have been submitting wish-lists and bug reports on the Channel9 wiki and the official MSN Search blog on MSDN. It’s wonderful to see how well the team has been responding to feedback from users during the entire beta program. Many features that I was hoping to see have been incorporated into this final build, and I’m confident that any quirks present in this build will be fixed in future releases.

 

Of course, there’s always room for improvement. One feature that would make Windows Desktop Search a real killer product is the ability to integrate deskbar-like functionality easily into third-party applications. Imagine having instant-search functionality in all of your applications using the same familiar interface. Providing .NET API’s for third-party software developers would make this possible. The Google Desktop Search SDK available today offers similar functionality, but it suffers from the same problem I mentioned earlier – the user interface does not allow Explorer-like interaction such as context-menus and drag-and-drop which, in my opinion, is essential when working with files and folders. I strongly urge the MSN team to look into something like this for future releases. Extensibility is always a good thing.

 

To conclude, I think Windows Desktop Search is a top notch product that will satisfy the needs and wants of most users until the release of Longhorn, which promises to deliver similar but more advanced search, data organization and visualization functionality. A big thank you to everyone on the MSN Search team responsible for this product for all the work they’ve put into it, and looking forward to seeing what the future of desktop search holds!

 

Update (07/10): A few days ago, the desktop search team at MSN announced the availability of a search API for ISV’s! There are a large number of apps that can greatly benefit from indexed search, and the new API's from MSN make the task quite a bit simpler. For more details on this, including a sample application with source code (in C#, that too!) check out the announcement on the MSN Search blog. This is fantastic!

 

 

 

 

--

All trademarks used are properties of their respective owners.

© 2005 Kunal Kundaje. All Rights Reserved.