January 2009
1 post
Housekeeping - and an 'Out of Office' Alert
Oops - been a while since I updated. Well, not too much to say. Really chuffed how it’s all going. You all seem like lovely, bookish people. That is good. Look at all those people reading books! Isn’t that great? Thank you. First thing: there have been a couple of days of downtime, for which I apologise. These were caused by a php upgrade (by my host, who didn’t forewarn me)...
Jan 16th
October 2008
1 post
The bkkeepr API
I’ve added an API for bkkeepr. Yay! More info here and here.
Oct 24th
July 2008
2 posts
Bookmooch Support
In response to a Get Satisfaction request, I’ve just added Bookmooch support to book pages, so you can swap your finished books to your hearts content. To keep clutter to a minimum, I’ve removed Bookrabbit support, as Bookrabbit is currently in severe financial difficulty, and it’s future looks bleak. If the situation changes - or people complain - I’ll bring it back.
Jul 30th
Twittercounter
This is nice, isn’t it? Will integrate at the next update…
Jul 29th
June 2008
2 posts
Twitter backlink and Microformats
After another Get Satisfaction request, people pages now have a link back to the user’s Twitter stream, marked with a rel=”me” microformat, for added XFN goodness.
Jun 9th
Adding bookish social networks
In response to requests over at Get Satisfaction, I’ve added links to Goodreads and BookRabbit books pages (e.g.). Unlike LibraryThing, neither service currently offers a direct ‘add this book’ link if you’re logged in. I’ve talked to BookRabbit about this, and they have no plans to add such a service, I’m also waiting to hear back from Goodreads on the same...
Jun 9th
May 2008
11 posts
ISBN X's
Just caught a little problem I hadn’t noticed before - books pages with ISBNs ending in X (e.g.) were 404’ing, and CodeIgniter was only looking for number ISBNs after bkkeepr.com/books/… when of course, as in this case, ISBNs are strings, containing the digits 0-9 and the letter X. Fixed.
May 29th
1 note
Some issues
So, as soon as we launch bkkeepr, Twitter starts stumbling hard. One thing they’ve done is reduce the number of permissible API calls per hour from 70 to 30, so I’ve reduced bkkeepr’s request rate accordingly. Not a problem while we’ve still got relatively few users. However, something is also up with @replies, so these have been suspended until further notice, and the site...
May 29th
1 note
GO GO GADGET
Bkkeepr is officially open. The beta has not exactly been “closed”, but it has been quiet. Am bracing myself for traffic, and hoping nothing falls over.
May 22nd
Worldcat, xISBN, and preg_match_all
Some books are still cropping up as the dreaded “Unknown Work by Somebody”. This is because someone has supplied a valid ISBN that doesn’t appear anywhere at Amazon UK or US (in either format, see posts passim). Now, so far these have all been actual books - the problem is, they’re not in English, so they don’t appear on the English-language Amazon. It is possible to...
May 22nd
Finishing a book before starting it again.
Somebody started a book five times. Thanks to a couple of new lines of code, that won’t happen again.
May 21st
Error reporting
CodeIgniter, the framework that bkkeepr is built on automatically reports errors. So when LibraryThing went down for maintenance this morning, all the books pages borked. All that was required to fix this was to catch the SimpleXML parsing error being thrown - and then turn off CodeIgniter’s error reporting (called in the first line of the root index.php file). But it took me a while to...
May 21st
1 note
Adverts
Yes, the bane of our online existence has come to bkkeepr. A few thoughts about ads: I’m not a huge fan of them either, and I’m certainly not a fan of google ads. Inefficient advertising is nothing but clutter. If bkkeepr succeeds, I’ve spent a lot of my personal time and an increasing amount of money on it. It’s a free service, with ongoing costs, so I need some form of...
May 15th
Summer Time!
British Summer Time finally comes to bkkeepr via this simple hack: $now = time() - (60 * 60); Will have to remember to turn the clocks back in September. Unless someone knows a better way of doing this. 
May 15th
ISBNs and PHP: The last hurdle?
It is still anoshing to me that after a couple of months on this, my ISBN-handling code is *still* throwin up errors. However, with this code here I think I may finally have found the holy grail: full functioning php classes that validate and convert ISBNs correctly. Famous last words. Oh, and user icon updating actually works now. Not like before, when it, er, didn’t.
May 14th
Where did you all come from?
From a base of eight invited users, bkkeepr now has 75 followers and about 50 active users, if anyone else is counting. Some organic motion is mostly responsible, although bkkeepr has already graced the hallowed pages of rotorblog, Killer Startups and TwitterApps.
May 7th
addslashes
One of those things you don’t know until you build a web app from scratch learning PHP/MySQL as you go: DBs don’t like appostrophe’s. Thanks to sheskali and her copy of The Moment It Clicks: Photography Secrets from One of the World’s Top Shooters, I now know to use addslashes() on any DB input. 
May 7th
April 2008
16 posts
Reader Icons
A small thing, but bkkeepr now updates your icon every time you post a record, as I know lots of Twitter users change their avatar regularly.
Apr 28th
ThingISBN and multiple editions
I’ve implemented ISBN grouping in the /books section of the site, using LibraryThing’s ThingISBN API class. In simple terms, this means that in /books/ you’ll see everyone who’s reading/read/bookmarked that book, even if it’s a different edition (i.e. a different ISBN). This throws up a couple of issues. For one, the URL, which contains the ISBN, actually refers to a...
Apr 28th
404
There is now a 404 page. It has a poem on it. This was actually quite crucial as CodeIgniter was throwing php errors all over the place instead of 404s. Fixed now.
Apr 28th
Beta monsters
New users are appearing on bkkeepr, without invites - the sneaky b*tards. I shall attempt to assimilate them. Seriously though, they’ve actually (inadvertantly) pointed out some issues with the site, which I’m now fixing. So thank you.
Apr 28th
More code: ISBN-10 validation
Sodding ISBNs. Found another problem, now fixed, with some ISBN-10s which weren’t validating properly. Thanks to this fix on John Blyberg’s php-isbn code, it should working now. Also just found this class - another ISBN implementation - which may prove useful.
Apr 28th
Damn IE
Fixed tabs and the lined background on Win IE 6,7 thanks to a combination of positioniseverything and Joshua Kaufman’s CSS Tabs 2.0. Just get Firefox, will you?
Apr 13th
Badges!
Another user request fulfilled, as we launch the bkkeepr badge. It’s very stripped-down, as this is how I like my third-party code. Requests are via JSON, and opens up all sorts of possibilities for an expanded bkkeepr API in the future. The JSON response is generated  dynamically by CodeIgniter (the framework bkkeepr is built on) and php-json.
Apr 13th
Covers (and Amazon's unlucky 13)
bkkeepr is now all covered up, thanks to Amazon Web Services’ Associates API, which lets you pull all sorts of product data from their site, including cover images. The process does slow the site, slightly, but for the moment I think it’s worth it. I don’t want to store and serve these images myself, although it may become necessary in future. At least some kind of caching is...
Apr 13th
RSS
Now featuring lovely, valid RSS feeds for all records and for individual readers. All records: http://bkkeepr.com/feed Readers: bkkeepr.com/people/username/feed e.g. http://bkkeepr.com/people/stml/feed
Apr 10th
ISBNs sorted
ISBN-based author and title searching is now performed in the following order: Check Amazon UK (.co.uk) If ISBN-13, check Amazon UK for ISBN-10 equivalent Check Amazon US (.com) If ISBN-13, check Amazon US for ISBN-10 equivalent Check ISBNdb.com Only if all that turns up nothing is the dreaded ‘Unknown Work by Somebody’ added. So far, this appears to be catching pretty much...
Apr 8th
No ISBN required (after the first time)
The #1 feature request so far has been to remove the requirement to supply an ISBN if you’ve previously left a record of it. I’m very pleased to say that this is now live. You can text/send all the existing commands (http://bkkeepr.com/how) without prefixing an ISBN, and bkkeepr will update the last ISBN you sent. Be careful if you’re reading more than one book at a time!
Apr 8th
Amazon and ISBNs
Less than happy with ISBNdb’s performance so far, I’ve added Amazon Web Services for ISBN checking. If ISBNdb doesn’t return a Title and Author for a given ISBN, it check’s Amazon as well. However, I’ve now noticed that Amazon isn’t so reliable either, in that some ISBN-10s get results where the corresponding ISBN-13 does not - even when that book came out after...
Apr 7th
ISBN validation and conversion
Two thing immediately popped up today in beta testing. One reader got an ISBN slightly wrong, but it was treated as valid (and nothing was known about it obviously), and another user submitted different ISBNs - the 10-digit and 13-digit versions - for the same work. Now, all ISBNs are validated properly by calculating the checksum, and in the case of ISBN-10s are converted to ISBN-13s before being...
Apr 7th
We have launch
Just sent out the first (five) beta invites for bkkeepr. Been having intermittent PHP/cron issues but all appears to be working fine now. Of course, my dear friend kikujiro’s first record proved to be an ISBN unknown to ISBNDB.com (although, interestingly Google Books had it, with a cover). Shall have to see how well ISBNDB copes over the next week, and if I need to institute another ISBN...
Apr 6th
Nearly there: PHP issues
Nearly there. The one remaining obstacle is that the bkkeepr server is running on PHP5, but auto-executing files via cron (to poll Twitter for updates) runs under PHP4. We’re currently working to resolve this.
Apr 5th
Welcome
This is the development blog for bkkeepr, tracking changes and giving updates on performance. For more information on bkkeepr, see the about page and the how-to page.
Apr 5th