This is in reply to a thread on boycotting Amazon. I'd suggested my favorite alternative store and thought I'd follow up with a few bookmarklets which make book shopping simple.
First, know that I use Amazon to window shop. Their features make this so easy and interesting that I can't helpmyself. However, I prefer to shop where I get the best deal (and since Amazon never seems to have the best deal, I've never run into the 'boycott Amazon' issue). The following bookmarklets make it easy for me to window shop at amazon and then go somewhere else when I've found the book I want.
A bookmarklet is just a bookmark with a javascript URL. Use.perl.org strips javascript URLs from links, so I'll have to just dump the URLs here raw rather than letting you right-click and bookmark them. Sorry about that.
My favorite online bookstore is alldirect.com. They're cheap, they're efficient, and they've never messed up any of my many orders. (I order books online every few weeks, on average.) Their site is very minimalistic (like Amazon was back in the early days). The only glitch is that they don't list books not-yet-in-print, which most other online bookstores do.
I also like to comparison shop with other bookstores on occasion. However, alldirect is so often the best choice (and other stores so much less efficient or reliable) that I generally just go to alldirect.
I've got four book shopping bookmarklets on my Mozilla personal toolbar. They look like this:
In my mind amaZon is 'z', alldirect is 'a', and my favorite bookstore comparison shopper is '$'. When I'm looking at a book's page on amazon, I can click 'z2a' to find that book at alldirect.com or I can comparison shop by clicking 'z2$'. If I happen to be looking at a book's page on alldirect.com, I can switch over to amazon with 'a2z' (maybe to find related titles) or to comparison shop with 'a2$'.
The comparison shopping searches will include shipping costs, provided you can tell the script where you'll be shipping to. To figure that part out, go to their home page and fill in your shipping destination, state (for taxes), and currency (ie: USD). Then run a search for any old thing. Look at your resulting URL. Note the bits that look like
You'll want to take your curency/location/state values and use them in the 'z2$' and 'a2$' bookmarklets below instead of my values.
Also note that the following bookmarklets work for me, in my browser. I use Mozilla. If you use some other browser, you may find that these bookmarklets don't work. In that case, you'll need to adapt my javascript to work for your browser. A good way to do this would be to find some example bookmarklets which do work in your browser, and adapt them to use the code below. This page has an 'Up a Directory' bookmarklet in a number of forms for different browsers. That bookmarklet also changes the window's URL and would probably be a good starting point if you find a version that works for your browser.
And now for the bookmarklets. Use.perl.org will wrap these javascript URLs because they're so long. You'll need to remove the whitespace.
javascript:void(location.href=("http://alldirect.com/book.asp?isbn="+location.href.substr(location.href.indexOf("/ASIN/")+6,10)))
z2$ click from an amazon.com book page to comparison shopping
javascript:void(location.href=("http://addall.com/New/submitNew.cgi?type=ISBN&dispCurr=USD&location=10000&state=OR&query="+location.href.substr(location.href.indexOf("/ASIN/")+6,10)))
a2z click from an alldirect.com book page to the amazon.com page
javascript:void(location.href=("http://www.amazon.com/exec/obidos/ASIN/"+location.href.substr(location.href.indexOf("isbn=")+5,10)))
a2$ click from an alldirect.com book page to comparison shopping
javascript:void(location.href=("http://addall.com/New/submitNew.cgi?type=ISBN&dispCurr=USD&location=10000&state=OR&query="+location.href.substr(location.href.indexOf("isbn=")+5,10)))
Happy shopping, and happy reading :)
-matt
Update 2003_03_23:
Amazon no longer uses /ASIN/ in their URLs, but instead prefers to use /-/ in that place. The following bookmarklets take that into account...
z2a click from an amazon.com book page to the alldirect.com page
javascript:void(location.href=("http://alldirect.com/book.asp?isbn="+location.href.substr(location.href.indexOf("/-/")+3,10)))
z2$ click from an amazon.com book page to comparison shopping
javascript:void(location.href=("http://addall.com/New/submitNew.cgi?type=ISBN&dispCurr=USD&location=10000&state=OR&query="+location.href.substr(location.href.indexOf("/-/")+3,10)))
a2z click from an alldirect.com book page to the amazon.com page
javascript:void(location.href=("http://www.amazon.com/exec/obidos/tg/detail/-/"+location.href.substr(location.href.indexOf("isbn=")+5,10)))
a2$ click from an alldirect.com book page to comparison shopping
javascript:void(location.href=("http://addall.com/New/submitNew.cgi?type=ISBN&dispCurr=USD&location=10000&state=OR&query="+location.href.substr(location.href.indexOf("isbn=")+5,10)))