Entering buttongroup
curpos $VAR1 = [ 'root', 'web', 'walkhugo' ];
indent 0

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/',
'button' => 'bhome-t',
'id' => 'home'
};

home

b $VAR1 = {
'subtree' => 'web',
'url' => 'http://dbpromo.dd-b.net/web/',
'button' => 'bdevelopment-t',
'id' => 'web'
};

web

Found button in curpos web

Entering buttongroup
curpos $VAR1 = [ 'web', 'walkhugo' ];
indent 1

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/philosophy.html',
'button' => 'bphilosophy-t',
'id' => 'philosophy'
};

philosophy

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/process.html',
'button' => 'bprocess-t',
'id' => 'process'
};

process

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/searchranking.html',
'button' => 'bsearchengines-t',
'id' => 'searchengines'
};

searchengines

b $VAR1 = {
'subtree' => 'walkhugo',
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/',
'button' => 'bunclehugos-t',
'id' => 'walkhugo'
};

walkhugo

Found button in curpos walkhugo

Entering buttongroup
curpos $VAR1 = [ 'walkhugo' ];
indent 2

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/homepage.html',
'button' => 'bhomepage-t',
'id' => 'homepage'
};

homepage

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/search.html',
'button' => 'bsearch-t',
'id' => 'search'
};

search

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/links.html',
'button' => 'blinks-t',
'id' => 'links'
};

links

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/mailinglists.html',
'button' => 'bmailinglists-t',
'id' => 'mailinglists'
};

mailinglists

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/archives.html',
'button' => 'barchives-t',
'id' => 'archives'
};

archives

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/other.html',
'button' => 'bother-t',
'id' => 'other'
};

other

b $VAR1 = {
'url' => 'http://www.unclehugo.com/',
'button' => 'blive-t',
'id' => 'live'
};

live

leaving buttongroup

b $VAR1 = {
'subtree' => 'walkaacfi',
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/',
'button' => 'baacfi-t',
'id' => 'walkaacfi'
};

walkaacfi

leaving buttongroup

b $VAR1 = {
'subtree' => 'photography',
'url' => 'http://dbpromo.dd-b.net/photography/',
'button' => 'bphotography-t',
'id' => 'photography'
};

photography

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/contact.html',
'button' => 'bcontact-t',
'id' => 'contact'
};

contact

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/misc/resume-web-20040818.html',
'button' => 'bresume-t',
'id' => 'resume'
};

resume

b $VAR1 = {
'url' => 'http://www.dd-b.net/redirdbpromo.html',
'button' => 'blive-t',
'id' => 'live'
};

live

leaving buttongroup

Homepage

As always, information is paramount. The physical location of the stores and their phone numbers and email are prominently featured. The normal business hours get pretty prominent placement too.

Navigation Bar

The navigation bar has a prominent place at the upper left, and appears in the same place on all pages of the site.

The featured content, the first 4 links in the navigation bar, is content from the most recent issue of the newsletter.

button highlighting

The reviews, signed book lists, and upcoming book information is divided into SF and mystery sections, and the buttons on the bar are marked to show you where to click. In fact, the whole left half of the button goes to the SF portion and the right half goes to the mystery portion. Hovering over those buttons emphasizes the labeled "SF" or "mystery" target on the button, to help people figure out that there are two different functions embedded in a single button. The other 5 buttons simply highlight when hovered over. This is all done using javascript, which is not usually something I will encourage. However, we were careful to ensure that it degrades gracefully; if the browser in question doesn't support javascript (or has it off), the buttons work perfectly, the only loss is the fancy highlighting functions. If I were doing this on my own, I think I would use CSS and inherent browser functionality to get similar effects, with smaller risks and less risk of ungraceful degradation.

Events

Upcoming events are listed in a box under the navigation bar. This appears on all pages of the site also. The header in the box is also a link to an events page, where slightly more information about a particular event can sometimes be found.

Search

While it's not terribly sophisticated, a site search function is provided using htdig, a free search package. Given the amount of content on the site, people will want help in finding things they remember from before (if they didn't bookmark them; we make some effort to keep the URLs stable, so if people did bookmark something they saw, the bookmark remains valid).

Features

Theyr'e not labeled as such on the page, but the set of boxes filling the remainder of the page are called "features". Each one is set up as a separate entity by Don using the Java interface software, and then the currently active ones are uploaded to the site. Although none of the ones in this example have images, features can include graphics, such as a cover image of a book (one of the expected uses of features was to promote new books).

Service Announcements

I don't have a good term for this class of stuff, really. The bottom navigation line linking to a contact page, privacy statement, and credits page appears on all pages. It's not terribly important to most people; but those who do want to know these things usually want to know fairly strongly.


© Copyright 2005 David Dyer-Bennet