Pimp My Code 16 Discussion

Discussion in 'Mac Programming' started by GorillaPaws, Aug 21, 2009.

  1. GorillaPaws macrumors 6502a


    Oct 26, 2003
    Richmond, VA
    Wil Shipley posted an interesting article Pimp My Code, Part 16: On Heuristics and Human Factors. I thought it was a pretty good read, although there's a part of me that's struggling with the fact that the ultimate solution isn't 100% bulletproof. I realize that's kind of the point of the article, but I can't help thinking about ways you could do this even better and catch that 0.000001% of people who will need to search for "an author or title that is all numbers and dashes AND has exactly 10, 12, or 13 digits [in] it."

    I was wondering if there were other ways to solve this problem while keeping true to Shipley's primary maxim of the article:
    Alternative Solution 1: Use Shipley's ultimate solution as the default behavior, but also add a checkbox in the preferences to "allow for dashes and spaces in ISBN Search" which would be checked by default. Also maybe make a reference to this issue somewhere in the help. My question is whether the rules about killing kittens every time you add an extra UI element applies to preferences as well as the main application windows. This alternative solution seems like it may end up causing more questions to support than the original solution as users might become confused about the purpose of that preference.

    Alternative Solution 2: Create a conditional that runs both searches (with the dashes/spaces and without) under the appropriate circumstances, and display the union of those two search result sets as a single result to the user (i.e. it would appear as only one search took place to the user). I think this is probably the nicest way to handle this edge-case scenario, although it will add a bit more code. What do you guys think?
  2. jpyc7 macrumors 6502

    Mar 8, 2009
    Denver, CO
    I like Alternative 2. I started thinking that you could set it up so that you only run second search if the first search does not return any results. However, most likely, both searches will return results but we don't know which results better match the user expectations.

    Even a true ISBN number returns one exact match and many other matches where a title or text contains a subset of the digits in the ISBN number. I did an example search for "12341234" (not an ISBN number as far as I know) and got several programming books that had text inside them using that string in examples. Then I used a shorter string "123412" and got a different set of books (many of them Music books where the string seems to match arpeggios).

    So providing an union is okay, but you want to provide the more relevant results first. This is when you have to be like a Google and "learn" which links the user presses for a given search.

Share This Page