My second Chrome extension (sort of) – eReaderIQ Integrator

I read a lot of books.

About three years ago I bought a Kindle, so now I read a lot of eBooks.

Although books have a pretty low entertainment cost per hour, it can still get expensive to read a lot.

eReaderIQ Logo

eReaderIQ

There’s a helpful website called eReaderIQ that can track eBooks you want to read and notify you when the price drops.  This works especially well for me because I have a long wishlist of books I want to read, and when I need a new book I just take a look at the high priority items on my wishlist.  So by importing my wishlist into eReaderIQ I get automatically notified when a book I already know I want to read gets cheaper.

eReaderIQ can also notify you when a paper book you’re interested in becomes available as an eBook.  This isn’t as important as it was back before all new books came out as eBooks, but there is still a back catalog of books that haven’t been digitised yet.

eReaderIQ is great but it can still be a bit labor intensive to add a new eBook to be watched for price drops.  You have to copy the book’s ASIN or URL, open up a tab to eReaderIQ’s Kindle Price Drop Tracker and paste it in.

Kindle Paperwhite

Kindle Paperwhite (Photo credit: Zero2Cool_DE)

eReaderIQ also has price history graphs for eBooks that it’s watching, but again it takes some work to get to.  I really wanted a price history graph for eBooks – I never understood why Chrome extensions like The Tracktor and The Camelizer have price graphs for everything but eBooks.

eReaderIQ has a tools page with bookmarklets to make watching an eBook for price drops and checking their price history easier.  This is great, but I thought it could be better – clicking the bookmarklet still involved changing pages, and I really just wanted to be able to do things from the Amazon product detail page.

Since I had a bit of experience writing Chrome extensions, I thought it would be pretty easy to create an extension that embedded the price history for an eBook into its product detail page (zero clicks!) and had a page action that let you watch the eBook on the current page for price drops (one click!).  I could even make the extension determine whether the product detail page was for an eBook or a paper book and either price watch or watch for availability as an eBook automatically (still one click!).

Initially I thought I might be able to create the extension without any help from eReaderIQ since getting a price history graph should just be a matter of retrieving the right URL, and adding a price watch should similarly only require posting to the right URL.

I did an initial attempt but quickly hit a roadblock in that some of the URL parameters weren’t obvious to me.  Rather than spend a lot of time trying to work it out, I thought it would be worth contacting eReaderIQ and seeing if they were interested in helping me out.  I thought there was a chance they would be interested, because although it would mean extra traffic to their servers, it could also mean more people using their site.

I really had no idea what sort of response I would get – some companies are very insular, insist that all development is done in-house and are opposed to anyone else interacting with their site in any way.  Others are very open and allow anyone to do anything, some going as far as providing public APIs.

It turns out that eReaderIQ wanted to make a Chrome extension but didn’t have any experience with them.  We ended up collaborating and  so, the eReaderIQ Integrator Google Chrome extension was born.

I had intended to do all of the work myself so as not to take up any of their developers’ time but they were very forthcoming and added server-side code to support the extension.  In fact, by the end the extension ended up just passing information to server-side code that did all of the rest of the work.

It also turned out that inserting a price history graph into the page like The Tracktor extension does might fall afoul of Amazon’s TOS, so we decided to show it in a popup instead.  It’s one click instead of zero clicks, but that’s still very good.

I’m now working on converting the extension to a Firefox extension.  It will be my first Firefox extension, and so far… it’s a pain.  As the new kid on the block Chrome was playing catch-up with Firefox for a long time, but I have to say that going from developing Chrome extensions to Firefox extension, Firefox are now behind.

Enhanced by Zemanta