Ovid (publius_ovidius) wrote,

  • Mood:

Powell's Books Amusements

This Saturday, I'll be at Powell's Books with a bunch of other Perl authors (for those who don't know, my real name is Curtis Poe). I find this amusing for a few reasons. First, the other authors who will be there are better known and respected than I. Second, my book isn't even out yet (and I'm only third on the cover -- I contributed less than the others). Third, and this is the biggie: no one told me I was going to be there.

Last night I received an email from one of the coordinators. He was trying to plan things, wanted photos for flyers, etc. That's when I found out I was on the list. Surprise! I don't mind since I'll be free on Saturday, but I admit that I'm caught a bit off guard.

And since I'm a geek, I must confess that I noticed something interesting about the Powell's Web site. It's probably a bad interesting and not a good interesting, but then, I don't know the technical reasons for the decision.

Let's a take a look at one of their hyperlinks:

<a href="http://www.powells.com/biblio/0596100922">Perl Testing: A Developer's Notebook</a>

Hmm, what's that number in the URL? The link goes to this page and that number is featured prominently. It's the ISBN of the book. The use of that number immediately struck me as a potentially bad decision because you don't want to use identifying information for links like this. When new editions of books are put out, the ISBN number sometimes change (and they definitely change when a different publisher puts the book out). _sister_madly_ points out that The Great Gatsby has been reissued so many times that it has many, many ISBNs.

I suppose they did this because you can easily link to a specific edition of a book. This is handy if there's a new edition you want to highlight. However, what happens if you have 20 ISBNs for a book, you have books in stock for 19 of those ISBNs but not for the ISBN you linked to? What if the book was published before ISBNs were introduced? (1966) Worse, what if an ISBN needs to be changed (perhaps it was entered incorrectly or the book is recalled and reissued)? Then the ISBNs on the Web site might need to be changed in multiple places rather than a single place in the database. If the hyperlink had simply used a non-identifying ID (a UUID or a database ID with an optional ISBN for a "default" edition), these problems would simply go away.

Of course, it's quite possible they've considered and eliminated all of these problems, but I strongly suspect they didn't (because I see mistakes like this all the time). If they did anticipate these problems, they probably had more work to do since they use identifying information in the first place.
Tags: databases, perl, programming, technology, writing
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded