The Need for Common Search Keywords.

« Previous article:   Next article: »
How can I easily log a message to a file for debugging purposes Blog Home DEV102's Programming Job Interview Challenge 4

If you ever tried to Google something like “how to write a linked list in C#” you may have noticed a problem. Most search engines have trouble dealing with the pound sign (hash/number sign/octothorpe). You run into the same problem search for information on “.Net” or “COM” or, for that matter, “Word” or “Access”.

I hit upon a similar problem a few years ago. I was trying to set up Microsoft Money to access my bank accounts online. I went to my banks’ websites, but had trouble finding the setup instructions. Searching a bank’s website for “Money” provides many false hits. Searching for “Microsoft” isn’t much better, when every page’s footer contains “Best view on Microsoft Internet Explorer 2.0 or later”. Finally, I hit upon the trick: I searched the site for “Quicken”. The instruction for Microsoft Money were always on the same page as the instruction for Quicken.

This lead to to the idea to solve the problem I mentioned up top. Basically, for very technology or product with an inconvenient name, we need a standard searchable keyword, so that whenever someone writes a blog post about a C# topic, if he includes the “csharp” keyword, then someone searching on “csharp” will be able to find it. Of course, there’s two problems with this: first we have to get bloggers to use the keywords and then we have to make sure the seekers know enough to use them.

Last night I was at a .Net (dotnet) users’ group meeting where some folks from MSDN (the website) were soliciting suggestions on improvements. I presented this suggestion to them, and they were receptive to it, but it really isn’t MSDN targeted at them. The real solution would be to be a list of officially sanctioned keywords coming direct from Microsoft and promoted by them (so that banks know to put “msmoney” on a page that described the setup for Microsoft Money.

But in the mean time, I figured I could leverage some of the blogosphere to help push this idea along.

So, let’s start defining the ground rules.

  1. A keyword needs to be a single term (“csharp”, not “c sharp”)
  2. A keyword needs to uniquely (or very close to it) indicate the subject (“msword”, not “word”) (If your spell-checker says it’s misspelled, that’s a good sign)
  3. A keyword should be a string that is decipherable when written as one word in all lowercase. (so we don’t run into the problem of “expertsexchange”) Unfortunately, there are probably trademark issues to deal with (Microsoft will probably want it to be “microsoftword” instead of “msword”)

So, to start us off, here are a few I thought up. Be sure to include them in any blog post (in the body or tags or header) on the subject.

  • “C#” = “csharp”
  • “C++” = “cplusplus”
  • “.Net” = “dotnet”
  • “ASP.NET” = “aspnet” (or should we go for “aspdotnet” ?)
  • “ASP.NET Ajax” = “aspnetajax”
  • “LINQ” = “linq” (that was easy – maybe Microsoft is learning).
<a href=""><img alt="kick it on" src="" border="0" /></a>