CHI-WEB Archives

ACM SIGCHI WWW Human Factors (Open Discussion)


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"ACM SIGCHI WWW Human Factors (Open Discussion)" <[log in to unmask]>
Brigitte Eaton <[log in to unmask]>
Thu, 4 Feb 1999 20:49:19 -0600
Tony Costa <[log in to unmask]>
Tony Costa <[log in to unmask]>
TEXT/PLAIN (86 lines)
When I was still at CDnow, I developed a mechanism for allowing people to
bookmark web pages that were dynamically generated. The basic mechanism
involved developing a syntax for abstracting urls into formula-like
sentences. This allowed me to build an interpreter that would direct (or
redirect after a redesign) the link to the correct page.

A url might look like this:

The part to focus on begins with 'id=6384845'; everything earlier is the
typical stuff. The id is the session ID number. The cgi (called
'mserver') parses out everything in the url. If the session ID has
expired, you just assign a new one (of course, you check their cookies to
see who they are and all the usual tracking stuff).

The real important part is what follows. The 'page=discography' specified
the type of page that is returned. Alternatives might be a biography,
discussion, shopping+cart, links, help, home, etc. It is essential that
you develop a name for every page on your site.

For each page, you creat a set of relevant data descriptors. In the
example, it is the artist Pearl Jam. This could easily be something like a
help topic, sort preference (for search results), etc.

The key is to develop a switchboard that will translate the abstracted url
into a path + filename that the server will then use to generate the
desired page. Since we used an in-house application similar to Microsoft
ASP (we beat them by a couple years), the pages contained all the info to
generate themselves.

The switchboard is really nothing but a huge case statement (or nested 'if
then' statements). Our tests showed that the performance hit was not an

In addition to making the url readable to the user, it also freed us to
restructure the web site pages, change filenames, change directories, etc.
while maintaining 100% backward compatibility (with old urls).

I think you get the idea. If you want more detailed specs on how it works,
let me know. I have an early draft of what I hoped would be a white paper.
But that never quite happened.


On Thu, 4 Feb 1999, Brigitte Eaton wrote:

> this is actually an issue right now, even without using frames. currently on's site we are replacing discontinued items with a "not found" error.
> ideally, both from marketing's pov and a usability standpoint, we would rather replace it with the replacement item (assuming there is one). unfortunately, we don't have the capability to do that right now.
> is anyone handling it differently?
> brig
> At 05:41 AM 2/4/99 , Michael Albers wrote:
> >Many on-line stores and other sites create the page dynamically.  How will
> >this affect the use of bookmarking and what type of usability
> >considerations will it bring up in the design?
> >
> >Assume, for an on-line computer store, you bookmark a CD-ROM.  A month
> >later, when you can buy it, the store has discontinued that item.  What
> >should your bookmark lead to?  Is it the discontinued item, the replacement
> >item, or a 'not found' error.
> >
> >I see that as dynamic page generation uses more information content that is
> >truly dynamic (as opposed to static data sitting in a database), that a
> >whole new set of issues for effective design and later!! retrieval will
> >become an issue.  Is anyone addressing this area now?
> >
> >Mike Albers
> --------------------------
> brigitte eaton
> some type of web/ui/architecture/information designer
> "If you were inclined to lose your mind,
> you could stay on the Internet all day."
> -- New Yorker Editor in Chief David Remnick