Sunday, 25 October 2009

Dog Biscuit's Trading Pages

Sorry For Any Delay

Each year about this time, I get an email from someone asking me kindly to reinstate one of my old websites; a plea that's remained unanswered before, due to my being busy with other things. Shame on me. But I'll miss that message this year; it will be bounced back to sender (we've dropped Virgin Media, losing old early adopter mailboxes like 'j.kerr' and 'yesman', in favour of Sky Broadband's unique, truly unlimited offering).

The website in question, Dog Biscuit's Yes & Led Zeppelin Trading Pages, grew, between its 1990s origins and the subsequent demise of mass CDR trading (at the hands of BitTorrent) around 2005, to become the world's fourth biggest CDR trading site for bootleg recordings (aka ROIOs: Recordings Of Indeterminate Origin) of the progressive rock band Yes - behind the similar efforts of France's Yann Clochec, Holland's Ruud Ermers, and Germany's Matthias Müller (Matze's Yesshows).

I've reinstated it here: http://jmkerr.com/db.

My Yes collection contained some 600-odd recordings, while those 3 other sites all had twice or three times that. The popularity of Dog Biscuit's Pages was as a resource for other collectors. It contains artwork links for all recordings where available, and a handy print utility for these; is searchable by artist/tour, song, keywords (date, venue, recording title, catalog number), media type, source and grade; and displays search results in five different formats, depending on the task in hand.

Thought I'd write a little about it here, as someone recently noticed this blog, "My Code Here", actually contains thus far, not one binary digit's worth of my code.

The main site is distinctly Web-1.0. All of the corners are sharp. It has a quaint, naked click counter. There are no Frames, no IFrames, no Tables, and minimal CSS which is only used to provide printer-friendly output. Everything is done with JavaScript, for two reasons: primarily because this was a learning exercise in that language, and also because its original home was a paltry 50MB of free hosting space, with no server database support.

Basically, the site functions by downloading to the browser its entire database, which is embedded in highly compressed, manually maintained, .js script files. Once there, your page or search parameters control the building of that content into HTML. Here is a sample db entry, expressed as a function call:
add('Yes', '1968', '1966-73', '', "Moments", '1CD', 'VAR', "'B-' to 'A'", '7148/10001', 'MomentsEarly',
"[RS] (BBC, 1973-11-01), [BAB|IOYAM|J] (Mabel Greer's Toy Shop, BBC 1968), [DF|BAB|FORE] (BBC 1969-70), [DF|ER|ISY] (Live in Sheffield, 1969-12-21), [WTP] (Larry Smith single, featuring Chris Squire, Tony Kaye; 1970).",
'',
A1 + 'momentsf.jpg">Front ' + A1 + 'momentsb.jpg">Back')
Once processed into HTML, expanded and rendered, this example comes out like this:

1966-73 "Moments" (1CD) Various Sources 'B-' to 'A'

The Revealing Science Of God (Dance Of The Dawn) (BBC, 1973-11-01), Beyond And Before, Images Of You And Me, Jeanetta (Mabel Greer's Toy Shop, BBC 1968), Dear Father, Beyond And Before, For Everyone (BBC 1969-70), Dear Father, Eleanor Rigby, I See You (Live in Sheffield, 1969-12-21), Witchi-Tai-Po (Larry Smith single, featuring Chris Squire, Tony Kaye; 1970).


The script also does a few other things. It alternates the thumbnail alignment on the page, to give both a pleasing layout and an economy of real estate. It also adds mouseover hints, visible in all browsers that support these. Finally, when a recording is awarded a grade of A+, it slaps on a cheerfully yellow The Dog's Bollocks sticker, modelled above.

There exists a parallel, static site, comprising one page per artist/tour; this is what you will see if you browse to jmkerr.com/db with scripting disabled. To ensure these pages are kept current, they are autogenerated periodically using a further JavaScript program, embedded in the page generate.htm. If you want to look at that code, be warned that it's full of ActiveX (for local disk access), so IE-equipped is forearmed.

The addition of Led Zeppelin and other artists was a half-arsed attempt to ensure the code remained scalable. That's impossible of course, given the highly unconventional data access design. But in the pre-AJAX ecosphere, this little site did a perfectly acceptable job of maintaining a typical boot collection, and providing useful reference resources to other collectors.

No comments:

Post a Comment