Re: Automatic Entry and Forms

Daniel W. Connolly (connolly@beach.w3.org)
Fri, 23 Feb 1996 22:22:45 -0500


Message-Id: <m0tqAZK-0002U6C@beach.w3.org>
To: murray@spyglass.com (Murray Altheim)
Cc: Robert Hazeltine <rhazltin@bacall.nepean.uws.edu.au>, hallam@w3.org,
Subject: Re: Automatic Entry and Forms 
In-Reply-To: Your message of "Fri, 23 Feb 1996 11:10:33 -0400."
             <v02110103ad52dd1bf63f@[140.186.34.50]> 
Date: Fri, 23 Feb 1996 22:22:45 -0500
From: "Daniel W. Connolly" <connolly@beach.w3.org>

In message <v02110103ad52dd1bf63f@[140.186.34.50]>, Murray Altheim writes:
>Robert Hazeltine <rhazltin@bacall.nepean.uws.edu.au> wrote:
>>On Thu, 22 Feb 1996, Phillip M. Hallam-Baker wrote:
>>
>>> Here is a proposal on Automated Forms Filling
>
>I would make a recommendation: make it an registration scheme (possibly
>through IANA), where a registered field name would be accompanied with a
>text description. If the form designer agreed that the text description
>matched the input requirement, they'd use the registered field name.

Ack! Good heavens, no! Phil's idea to use URIs to name templates
disintermediates so nicely. No need for a central registry.

Let me elaborate on how Phil's idea works in practice:

The browser keeps a table that maps:

	URI , field-name -> value

The table is initially empty (except for vendor-specific, or
site-specific defaults, perhaps), but it persists between
invocations. For example, it's stored in the users' $HOME directory,
or in a .ini file.

Then the user visits a form at http://shoes.com/ that says:

	<p>Fill in the following info, and we'll show you a 3-d rendering
	of your foot in any of our shoes:

	<form action="/visualize-foot" template="/measurements">
	<p>Shoe size: <input name=shoe-size>
	<p>Model: <select><option>Jumbo<option>WhingDig<option>Zowie</select>
	</form>

The user fills in 9.5 for the shoe size, picks WhingDig, and submits
the form.  At that point, the browser records the tuples:

	http://shoes.com/measurements	shoe-size	9.5
	http://shoes.com/measurements	model		WhingDig

in its table.

Next time the user visits that page, the browser consults the
table (keyed on template=... and name=...) and fills in 9.5 for
the user in the shoe-size field. Nifty, no?

The shoes.com folks should have a document at
http://shoes.com/measurements that describes each of the fields in the
table, and gives their policy on how they handle the data they
collect.

User agents should provide a way to visit that page. In fact, user
agents should probably use template#field as the address for "help" in
the form field; e.g. http://shoes.com/measurements#shoe-size gives
help on the shoe-size field.

Information providers that want to share data fields may, by using the
same template=... address. That is, foo.com and bar.com can share a
"user-id" field if they like. If arena had a dialog box for the user's
name, email address, home URL, etc., we might describe a template for
these fields at http://www.w3.org/pub/Arena/forms-template.  Netscape
and Microsoft might do the same. Hmmm... now I see why you need more
than one template=... address. Perhaps individual form input elements,
as well as the <form> container, need the template= attribute.


Daniel W. Connolly        "We believe in the interconnectedness of all things"
Research Scientist, MIT/W3C     PGP: EDF8 A8E4 F3BB 0F3C  FD1B 7BE0 716C FF21 
<connolly@w3.org>                  http://www.w3.org/pub/WWW/People/Connolly/