March 2, 2005

How To Improve MSDN Search

The MSDN team has been touting their new search engine, but I don't think a new search engine is going to help people find the stuff that they're looking for.

I'm probably going to be lambasted for this, but I'm going to say that the best way to improve MSDN search is to make the site a bit more "crawler-frieldly", have MSN Search add in a "preferredsite:" tag to filter MSDN search results to the top of the list, and point their search to MSN Search.

Why do I think that? As developers, we're already accustomed to using Google to try to find these answers, but the reason we stick with those tools is not because they make searching MSDN easier, but because our searches will often lead us to other people who either have the same problem, or more commonly, have solved the same problem.

By allowing us to see the work of others like that, Google has essentially become a communal memory for developers. When we can't find our answers through Google, we go to the newsgroups or the forums and ask our questions. Once an answer has been found, it's posted and our communal memory is updated on the next crawl.

The other nice thing about Google is that the answer I need is usually right at the top. The MSDN searches don't seem to have any logical ordering. I was asked recently if there was a way to tell in Windows if a requested memory allocation was made in system memory or virtual memory. I wasn't sure, so I decided to try MSDN's search. I typed in "did allocation come from virtual memory" in the search window.

My first three search results were from the Windows CE network driver development kit. Next up was how to make a stock allocation system using Visual Studio Tools for Office. Next were two copies of the same article on finding leaks and bottlenecks using Windows NT PerfMon. Finally, I got an article on analyzing logs from Exception Monitor to troubleshoot IIS. That's it. Seven results, none of which were what I needed.

I then tried the search through the new MSDN Search Beta. No results found.

I then did the same search through, using as an add-on to the query. BAM! 26 results, but none of them were what I needed.

So I do the exact same page into Google, and I get 98 results. The first hit was about the Virtual Memory Manager in Windows NT. It told me that it does not discuss the Win32 memory management API, but that did give me something else to look for. I did a site search via Google for "Win32 memory management API," and hit #5 was one of a three-article series on the internals of Win32 memory management.

I stopped searching at that point because I had a meeting, but the fact of the matter is that I have no motivation to use your search, and from the looks of it, I won't for some time, so quit your seperate search initiatives and work on bringing MSN Search up to snuff.


Randy Charles Morin said...

There's also familiarity. I use Google to find stuff on MSDN, because I use Google to find stuff everywhere. I know how it works and performs. Other search engines behave differently, sometimes better, mostly worse. But that doesn't matter, Google meets my expectations almost everywhere, therefor, I use Google everywhere.

Anonymous said...

I use to search the MSDN. It is easy to switch from an MSDN-search to a full internet serach.