-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Carl Youngblood wrote:

| That's what I've been told.  Supposedly Borges is for application
| development so users shouldn't be bookmarking URLs, since they reflect a
| particular state of the program and not a place where content is
| located.  I disagree with this compartmentalization, since I can
| envision plenty of content-based web sites that use authentication.
| Please correct me if I'm wrong here, Borges people.

There are two kinds of state information in Borges, as in every other
web application:
a) Stuff that is page view related
b) Stuff that is session releated

And of course there is a third category that needs to stick around like
my login at rubyforge for example (if I choose it to stick around).

The two points a) and b) can easily be done in Borges in a scope that is
limited by a session timeout (600 secs default). After that, things get
cleared and user restarts from scratch, *unless* of course the
application saves off some state to a database, like my basket's
contents. Or saves it off to the users computer, like my login cookie.

Limited support for path handling is also provided, meaning that if my
application lives at /borges/app, I can provide bookmark links to
/borges/app/user/manager and have new sessions to that path directly
start at the right point in application. Using this feature, I can even
deal out a bookmark to /borges/app/user/manager@SESSIONID to my friends.
This will prompt a new session if SESSIONID is old, or reuse the old
session, *unless* the old session depends on a cookie for authorization
of course.

So everything that always was there can be done with Borges, it's just
that it makes handling of short time application state a lot easier with
the added bonus of being able to fork&backtrack user threads (not in an
os kind of meaning here).

The bookmarking of application state is encouraged on a short time
scale, and can be made possible on a long time scale.

Now to the question where you would use Borges, I think that your
average display of dynamic lists from a database is not where Borges is
best. (For example shops, search over a big database with result
browsing, etc..) Borges is very good at neatly describing complex
interaction tasks: Everything that goes in the direction of one window
on top of that other one, closing it and reopening another one.. in
short the more complex application like web interactions that are a pain
to bring to life with traditional request/response web systems.

It probably is wise to mix Borges in on systems partly built with
traditional paradigms.

These are extremely complex issues to explain when trying to describe it
~ based on the vocabulary that is in use on the web right now. I would
encourage you all to make a short investigation, running the tests and
considering the implications.


- --
kaspar

semantics & semiotics
code manufacture

www.tua.ch/ruby
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAnNhgFifl4CA0ImQRAiJIAJ9cHTzagAhCFN1ibYXGRpaziopEtQCfdFaK
M4iQiJL2RxXqVyv/6qrU3zY=
=OQGf
-----END PGP SIGNATURE-----