Re: Shopping baskets (was: Session tracking)

Lou Montulli (
Fri, 21 Apr 1995 18:12:09 +0500

On Apr 21, 12:21am, Paul Burchard wrote:
> Subject: Shopping baskets (was: Session tracking)
> "Lou Montulli" <> writes:
> > My proposal is meant to solve a much broader set of
> > problems than a simple session id. [...] One of it's more
> > useful applications is an online shopping basket.
> As I feared. A cookie hidden in the HTTP headers is not the way to
> implement this! Just think about it from the customer's point of
> view: With a real shopping basket, I can see at all times what I've
> collected so far. I can compare what's there with my budget, and
> with other competitive products that I come across. As a result of
> my comparisons, I can take products out at any time and put them
> back on the shelf. Your solution compares poorly with a cardboard
> box :-)

Cookies make for a very good "cardboard box". Since they
are fully replaceable you can embed arbitrary information within
them including products for a shopping cart. When you want to
add another product the server simply adds another cookie or
replaces your current one with another one that represents
an additional product. The same can be done to remove a product.

> Instead, like any client-side state, the shopping basket makes most
> sense as a document -- something the user can see and act upon.
> And like any association, the relationships tying various "vendor
> stalls" with the associated shopping basket should be established
> using links.

Document level information storage fails quite badly at providing that
Since the server needs to process the information to make it
usable and since documents don't get resent to servers trying
to embed information in a document doesn't work in practice.
People have tried to embed the information in hidden form
elements and URLs but the systems inevitably have their problems
since alternate navigation mechanisms available to the user
break these systems.


Lou Montulli       
       Netscape Communications Corp.