February 22, 2005
On Search Engines
When I talked about Careerlink I mentioned their search engine and said I could have done it better myself. Well, I ought to back that up. Geekiness ahoy!
The Search Box
It's a simple thing; you type something in the box and the search engine finds it. But there are many ways of going about it.
The Dumb Way: Take the entire contents of the box, and look for it in the database. Thus if you type in web developer you'll find only the entries that have "web developer" in them. Programming time: About 5 minutes. Pros: None. Cons: Does the exact opposite of what you'd expect.
The Smart Way: Split the contents of the box into words, then look for any of the words in the database. In this case web developer would find "web developer", "webmaster", "web analyst" and "software developer", among other things. Programming time: About 10 minutes. Pros: Makes more sense. Cons: Can return too many useless things.
The Smart Way, With Bonus: Let users search for phrases. When you use Google you can group words together by wrapping them in quote-marks. In this case, searching for web developer will work like the smart way, while "web developer" will only return "web developer". This way you can search for "web developer" "web programmer" to return both those terms. Programming time: About 25 minutes. Pros: Users can be as exact or inexact as they want. Cons: Minor learning-curve problem, but easily solvable.
The Super-Smart Way: Do it the smart way, preferably with the bonus, and rank the returns as they come out of the database. Thus, the most relevant returns (by whichever algorithm you use) are listed first. Programming time: Depends on the algorithm; at least a couple hours. Pros: Extremely useful and maximizes time the users spend using your site. Cons: None.
I've used the smart way (with bonus) on BTEC. The super-smart way would have been overkill for Careerlink since there are better things to sort on (date and location, for starters). Careerlink used the dumb way.
You can also narrow your Careerlink search by location, specifically by county. Some of this stuff will be specific to location searches, but a lot of it applies to any list of non-mutually-exclusive items.
The Dumb Way: Create a drop-down list that can only have one item selected. Either one county is picked and the results are narrowed down, or no county is picked and the entire state is returned. Programming time: Less than 5 minutes. Pros: Well, at least you can do one county. Cons: To search multiple counties you must either repeat the search for each county or search the whole state and manually find the counties you want. Which brings us to...
The Dumb-As-A-Rock Way: Use the one-pick-only list, then don't list the counties in the search results. Programming time: Slightly less than the dumb way. Pros: None. Cons: If you don't want to do the same search multiple times you have to know every municipality/township in each county you're interested in.
The Smart Way: Use a multiple-select list box so users can pick every county they want. Also list counties in the search results if there was more than one county (or the whole state) selected. Programming time: About 15 minutes. Pros: Much easier to use, gives the users more control. Cons: Users don't seem to know how to do a multiple select. So tell them.
The Smart Way, With Bonus: Same as the smart way, but add a clickable map that will select or deselect a county. Programming time: A few hours for the map. Pros: Easy for 'tards like me who don't actually know the names of the counties, and it looks cool. Cons: Lots of effort for a potentially small reward.
The Hella-Smart-I-Want-To-Be-Like-You Way: Have a text area that can recognize either a municipality/township, a county (maybe by looking for the word "county"), or a ZIP code. Have a second textbox to take a number as a radius. Return every employer in the muni/county/ZIP (simple address match) and connect to a GIS database to find every employer within x miles of the region's centroid. Combine the results and remove duplicates. Programming time: Hell if I know. A lot. Pros: Wicked powerful, still pretty simple to use. Cons: Probably takes a long time to program, and requires users to type in place names (people get "Pittsburgh" wrong; think they can get "Duquesne" consistently?)
Anyway, I've done the smart way at Brady before. (Or, I'm pretty sure I have. It's pretty easy.) Careerlink didn't settle for the dumb way; they decided to go whole-hog and do it the dumb-as-a-rock way.
Quite possibly the most useless search in existence. Add that to the fact that two of the four matches it found in Allegheny County were from Thanksgiving, and I'd be surprised if that site has ever helped someone find a job.