Search “All” now available

The most confusing aspect of Booko for new users is having to choose between the various search engines (The Amazons, The Nile or Fishpond) to find their book. Users often think they need to search on all the sites manually to get prices for their books, when actually, the search segment is literally, just to find the book – the price comparison is the second step.

Well, Booko should now be much easier to use (hopefully). I’ve added an “All” search option as the default search method. Searching “All” will search all four of the sites listed and aggregate the results.

All four sites are searched consecutively, each returning a list of books. Each book, in each list is given a score based on where it is in the list. The score is (100 – i), where i is the position in the list (Well, not quite – it’s the array index: 0 is the first entry, 1 is the second…) . So, first in the list gets 100, second gets 99, third gets 98 and so on. Then, a new list of all books is created. Each book has it’s score tallied, then the list is sorted in order of the score.

This is a pretty naive approach, which heavily weighs books which are in multiple result lists. I’m sure there are many ways to tune this to return better results. If you’ve got an idea, please add it in the comments below.

Another optimisation I’ll look at soon is searching all the sites concurrently, rather than consecutively. That’ll speed things up for sure.