The International Standard Text Code (ISTC) is a new ISO standard for identifying textual works.

Where an ISBN is used to identify a particular version of a textual work, the ISTC will be be identical across all versions. There are many versions (and therefore ISBNs) of Harry Potter and the Half Blood Prince, but there will be a single ISTC for all of them.

This should make it easier for companies like the one I work for to identify alternate versions, improve product recommendations and track sales trends.

It’s likely we won’t start seeing them in the wild until sometime in 2009, but I’ve been exploring how they work and have created a rubygem for working with them.

Installation is easy:

gem install istc

And so is using it:"0A9200800000007C").valid?
    => true

    => true

    => false

    => "0A9200800000007C""0A9200800000007").to_s
    => "0A9-2008-00000007-C"