Tracking the Books

I need to find a replacement for Goodreads, because I hate using it.

Its UI is terrible. It looks like something I would’ve designed back in high school, and I’m a color-blind back-end developer that wouldn’t know a good font choice if there was only one to pick.

The performance of the site is terrible. Searching for books takes too long, and (and!) if you type too much of the book’s title into the search bar, the one you want will go whizzing by, replaced by books that are nothing like the one you’re looking for.

Even when you finally do locate the exact book you want to add to one of your shelves, if you later want to, say, find a list of all the books you’ve read this past year (as I tried to do back in January), you’ll find that Goodreads does not fill in the date every time you mark a book as read. I think somewhere between a quarter and a third of all the books on my “read” shelf have no dates attached to them, so they end up in a jumble at the bottom of the list, no rhyme or reason to them.

But what choice do I have? I have a few hundred books in hard copy in my house. Another two hundred or so scattered across various ebook formats: Kindle (follies of youth), Nook (ditto), Kobo (simply the best), and iBooks (don’t judge me). All of which I need to keep track of, if only to keep myself from buying a book I already own. Goodreads, for all its flaws, at least lets me do that.

I suppose as a developer I’m supposed to build my own solution. And I’ve thought about it; I could write an importer to take the xml junk Goodreads’ api barfs out, clean it up, and then shove it into a text search engine (probably Elasticsearch) for easy retrieval later.

But that’s a fair-sized project, and if I can, I’d rather take advantage of someone else’s work (and pay them for it, gladly).

So: Are there other, better, apps out there for tracking a personal library? If you use one, which one, and why?

Follow the Tweeting Bot

I have a problem.

No, not my fondness for singing 80s country in a bad twang during karaoke.

I mean a real, nerd-world problem: I have too many books to read.

I can’t leave any bookstore without buying at least one. For a good bookstore, I’ll walk out with half a dozen or more, balancing them in my arms, hoping none of them fall over.

I get them home and try to squeeze them into my bookshelf of “books I have yet to read” (not to be confused with my “books I’ve read and need to donate” or “books I’ve read and will re-read someday when I have the time” shelves). That shelf is full, floor to ceiling.

My list of books to read is already too long for me to remember them all. And that’s not counting the ones I have sitting in ebook format, waiting on my Kobo or iPhone for me to tap their cover art and dive in.

Faced with so much reading material, so many good books waiting to be read, my question is this: What do I read next?

I could pick based on mood. But that usually means me sitting in front of my physical books, picking out the one that grabs me. I could pick based on which ones I’ve bought most recently, which would probably narrow things down to just my ebooks.

But I want to be able to choose from all of my books, physical and virtual, at any time.

So I wrote a bot to help me.

It listens to my twitter stream for instructions. When I give it the right command, it pulls down my to-read shelf from Goodreads (yes, I put all of my books, real and electronic, into Goodreads. yes, it took much longer than I thought it would), ranks them in order of which ones I should read first, and then tweets back to me the top 3.

I’ve been following its recommendations for about a month now, and so far, it’s working. Footsteps in the Sky was great. Data and Goliath was eye-opening. The Aesthetic of Play changed the way I view art and games.

Now, if only I could train it to order books for me automatically…