U.S. patent application number 11/055956 was filed with the patent office on 2005-07-07 for method and apparatus for automatic form filling.
Invention is credited to Martin, Anthony, Pennell, Mark E..
Application Number | 20050149854 11/055956 |
Document ID | / |
Family ID | 26805157 |
Filed Date | 2005-07-07 |
United States Patent
Application |
20050149854 |
Kind Code |
A1 |
Pennell, Mark E. ; et
al. |
July 7, 2005 |
Method and apparatus for automatic form filling
Abstract
A method and apparatus allowing for entry of form data in a
browser. In the described embodiment, a browser automation program
executes on the user's computer and communicates with a browser
program in order to determine when forms are encountered.
Inventors: |
Pennell, Mark E.; (Austin,
TX) ; Martin, Anthony; (Los Altos, CA) |
Correspondence
Address: |
SQUIRE, SANDERS & DEMPSEY L.L.P
600 HANSEN WAY
PALO ALTO
CA
94304-1043
US
|
Family ID: |
26805157 |
Appl. No.: |
11/055956 |
Filed: |
February 11, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11055956 |
Feb 11, 2005 |
|
|
|
09436973 |
Nov 9, 1999 |
|
|
|
60107791 |
Nov 10, 1998 |
|
|
|
Current U.S.
Class: |
715/226 ;
707/E17.119; 715/205 |
Current CPC
Class: |
G06Q 30/06 20130101;
G06F 16/957 20190101; G06Q 20/108 20130101; G06F 40/174 20200101;
G06Q 30/0633 20130101 |
Class at
Publication: |
715/507 |
International
Class: |
G06F 017/00 |
Claims
What is claimed:
1. A method for inputting information into a form, comprising:
detecting an access to a first site that presents a form for
receiving data from a user; determining whether a script for
completing at least a portion of the form resides in a database
local to the user; accessing a second site to ascertain whether the
second site has a version of the script if the script does not
reside in the local database; and completing at least a portion of
the form utilizing the script.
2. The method of claim 1, wherein a browser is monitored for
detecting the access to the first site.
3. The method of claim 1, wherein the second site is accessed via a
network.
4. The method of claim 1, wherein an identifier associated with the
first site is utilized to determined whether the script resides in
at least one of the local database and the second site.
5. The method of claim 4, wherein the identifier comprises a
Universal Resource Locator (URL).
6. The method of claim 1, wherein the script includes contact
information associated with the user for inputting into the
form.
7. The method of claim 1, wherein the script is utilized to present
data for completing the at least a portion of the form prior to the
user.
8. The method of claim 7, wherein the user is permitted to modify
the presented data prior to the completing.
9. The method of claim 7, wherein the presented data is presented
in a pop-up window displayed to the user.
10. A system for inputting information into a form, comprising:
means for detecting an access to a first site that presents a form
for receiving data from a user; means for determining whether a
script for completing at least a portion of the form resides in a
database local to the user; means for accessing a second site to
ascertain whether the second site has a version of the script if
the script does not reside in the local database; and means for
completing at least a portion of the form utilizing the script.
11. The system of claim 10, wherein a browser is monitored for
detecting the access to the first site.
12. The system of claim 10, wherein the second site is accessed via
a network.
13. The system of claim 10, wherein an identifier associated with
the first site is utilized to determined whether the script resides
in at least one of the local database and the second site.
14. The system of claim 13, wherein the identifier comprises a
Universal Resource Locator (URL).
15. The system of claim 10, wherein the script includes contact
information associated with the user for inputting into the
form.
16. The system of claim 10, wherein the script is utilized to
present data for completing the at least a portion of the form
prior to the user.
17. The system of claim 16, wherein the user is permitted to modify
the presented data prior to the completing.
18. The system of claim 16, wherein the presented data is presented
in a pop-up window displayed to the user.
19. A computer program product for inputting information into a
form, comprising: computer code for detecting an access to a first
site that presents a form for receiving data from a user; computer
code for determining whether a script for completing at least a
portion of the form resides in a database local to the user;
computer code for accessing a second site to ascertain whether the
second site has a version of the script if the script does not
reside in the local database; and computer code for completing at
least a portion of the form utilizing the script.
20. The computer program product of claim 19, wherein an identifier
associated with the first site is utilized to determined whether
the script resides in at least one of the local database and the
second site.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 09/436,973, filed Nov. 9, 1999 (and which is incorporated by
reference herein in its entirety), which itself claims the benefit
of U.S. Provisional Application No. 60/107,791, filed Nov. 10,
1998.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates to the field graphical user
interfaces and more particularly to a method for entering
information into a form on a screen display associated with an
electronic device.
[0004] 2. Description of the Related Art
[0005] Many a site on the Internet's World Wide Web (hereafter "web
site," "web page" or simply "site") require the entry of various
information in order to gain full access to the site and the
services offered by the site. For example, many commercial sites
require a user to set up an account and, in doing so, to provide
various levels of personal information. Typically, the information
is relatively repetitive from site to site--e.g., name, address,
telephone number, electronic mail (email) address, credit card
number, etc. In some cases, the information must be entered each
time the user attempts to use the site. In other cases, an account
is actually set up for the user and maintained--the user needs only
to enter the full information the first time the site is
accessed.
[0006] An example of an account set up screen is provided in FIG.
1. The figure illustrates a screen shot 100 of a web site accessed
via, for example, web browser software executing on computing
device such as a personal computer. The web site provides for
online ordering, in this particular instance, of cookies. As can be
seen, the user is invited to complete the shipping and billing
information by visiting each data field and entering the
appropriate information (e.g., name 101, address 102, phone number
103, email address 104, etc.). Alternatively, at some web sites,
the user may click on a button, hyperlink, etc., to log in and fill
in ordering information automatically (presuming the user has a
previously set up account).
[0007] One method of addressing the inconvenience of repetitive
data entry of account information is the so-called "wallet"
technology. Using "wallets", a user may enter certain information
(name, address, billing/credit card information) once and sites
that run the particular wallet technology will be able to receive
the information without requiring the user to reenter the data.
Unfortunately, this technology requires sites to execute the wallet
technology in order to allow a user to benefit from it. A diagram
200 illustrating a particular embodiment of the wallet technology
is shown in FIG. 2.
[0008] One other method of addressing the inconvenience of
repetitive data entry is the so-called "type-ahead" technology in
which the user's computing system attempts to "remember" certain
information and, if a user starts to type a sequence of characters
using, for example, a keyboard or other character input device, the
system attempts to recognize the character sequence and complete
the sequence. For example, if the user named John Smith starts to
type his name in a name field, the system may recognize the user is
typing "John Smith" after the user has only typed "Joh" and
automatically fill in the remaining "n Smith".
[0009] Unfortunately, the type ahead technology is limited in that
it may or may not correctly recognize the phrase being typed and
implementations are typically browser software dependent. Moreover,
the type ahead technology requires the user to independently visit
each field in a form, rather than filling in multiple fields with a
single click.
[0010] Thus, it would be useful to provide a method and apparatus
which reduces the inconvenience of repetitive data entry. It would
be particularly useful to provide a method and apparatus which was
not browser dependent and which did not require implementation by
each individual web site in order to allow a user to benefit from
it.
BRIEF SUMMARY OF THE INVENTION
[0011] A method and apparatus providing for improved automation for
entry of data in forms displayed on a screen via a web browser.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0012] FIG. 1 is an exemplary form displayed by a web browser.
[0013] FIG. 2 illustrated a prior art wallet technology.
[0014] FIG. 3 illustrates a network as may utilize an embodiment of
the invention.
[0015] FIG. 4 illustrates a form helper window as may be utilized
by an embodiment of the present invention.
[0016] FIG. 5 illustrates a form helper window as may be utilized
by an embodiment of the present invention.
[0017] FIG. 6 illustrates a form helper window as may be utilized
by an embodiment of the present invention.
[0018] FIG. 7 illustrates a form helper window as may be utilized
by an embodiment of the present invention.
[0019] FIG. 8 illustrates a login helper window as may be utilized
by an embodiment of the present invention.
[0020] FIG. 9 illustrates a login helper window as may be utilized
by an embodiment of the present invention.
[0021] For ease of reference, reference numerals in the
accompanying drawings typically are in the form "drawing number"
followed by two digits, xx; for example, reference numerals may be
numbered 3xx. In certain cases, a reference numeral may be
introduced on one drawing and the same reference numeral may be
utilized on other drawings to refer to the same item.
DETAILED DESCRIPTION OF THE INVENTION
[0022] FIG. 3 provides a diagram illustrating an overall system
implementing an embodiment of the present invention. In the
described embodiment, a user computing device, such as user
computer 301, is automated with browser automation software 302.
The browser automation software interfaces with any of a number of
web browsers 303 such as Netscape Navigator available from Netscape
Corporation of Mountain View, Calif. or Internet Explorer available
from Microsoft Corporation of Redmond, Wash. As a user moves
between web pages in the World Wide Web using browser 303, the
browser automation program 302 communicates with the browser and
determines the Universal Resource Locator (URL) of the web site 306
being browsed. In certain embodiments, functionality of the browser
automation program 302 may be added to the browser program 303
rather than executing the automation program 302 as a separate
executable program.
[0023] In the described embodiment, the browser automation program
302 may gain knowledge of the format of a form encountered on any
number of web sites. For purposes of this invention, a web site for
which the format of the form has been learned by the browser
automation program 302 is termed a "scripted" site. One method for
the browser automation program to gain this knowledge is for the
user to have previously filled out the same form. The browser
automation program 302 then associates the content and order of the
fields for the form with the content of personal data in the user
database 304 (e.g., the program 302 learns that the field named
"Name" on a particular form should be associated with the user's
name in the user database 304).
[0024] A second method for the browser automation program to gain
this knowledge is for the form to have been analyzed and
information stored regarding the fields and expected contents. This
may be done, for example, for popular or well known web sites that
utilize forms. The information may be stored locally on each user's
computer 301 or may be stored at a central location accessible to
the user via network 307, such as the browser automation home site
305.
[0025] In an embodiment that stores this information at the home
site 305, when a new URL is encountered, the home site 305 is
contacted over the network 307 (it should be noted that the network
could be the Internet or an intranet). In certain embodiments,
information may be stored on the user's computer allowing local
identification of which forms are stored at the home site 305. For
example, a hash code may be developed to allow local (at the user's
computer) determination of whether the form is scripted, i.e.,
whether information regarding the format of the form is stored, at
the home site.
[0026] In addition, when encountering a form, whether for the first
or a subsequent time, the browser automation program 302 may
analyze the underlying structure of the form to determine if there
are fields for which data is available from the user database 304.
Typically, this process may involve analyzing the HyperText Markup
Language (HTML), extensible Markup Language (XML), or other
underlying code received from the visited web site 306.
[0027] Regardless of the method, if a script is available for the
form, a pop up dialog window 401 is displayed in conjunction with
the visited web site. An example in FIG. 4 shows pop up window 401
overlaying a portion of a visited web site, for which a partial
screen shot 100 is illustrated. The pop up window 401 allows the
user to automatically place the information displayed in the fields
of the pop up window into the corresponding fields of the form
provided at the web page that is displayed on the screen of the
user's computer. The user may supply all of the listed information
in pop up window 401 or may modify some or all of it before
supplying it to the form. FIG. 7 illustrates a web page form 100
filled in automatically by selecting the "fill in" button.
[0028] The pop up window 401 is better viewed with reference to
FIG. 5. The user may supply the necessary information for the form
provided at the scripted site by selecting the "fill in" button 402
of pop up window 401 (assuming a script exists for the form or
alternatively the program 302 can gain sufficient knowledge of the
form from analyzing the underlying HTML). The "fill in" button may
be selected, for example, by performing a single click of a user
input device such as a mouse. Alternatively, if the browser
automation program 302 is unfamiliar with the form, the user is
provided with the pop up window 601 shown in FIG. 6 (FIG. 6 does
not illustrate the form for which information displayed in pop up
window 601 may be supplied). Pop up window 601 generally is
utilized the first time a form is encountered, so that the user may
select each of the individual fields in the window. The user may
double click on any one particular field in pop up window 601 to
supply only that field of information to the form. That information
is supplied, in particular, to the currently focused field in the
form displayed by the browser. The browser automation software then
causes the browser to automatically advance the focus to the next
field in the form, in a step wise fashion. For example, if the user
double clicks on the name field 602, only the name field is
supplied from the pop up window to the name field 101 in the form
displayed on screen 100. Alternatively, the user may "drag and
drop" the contents of a field in pop up window 601 to the
corresponding field in the form displayed on screen 100.
[0029] It should be further noted that the pop up windows
illustrated in FIGS. 5 and 6 provide for multiuser support. For
example, if multiple individuals share the same computer or web
browser software, information about each user may be stored and
subsequently accessed by supplying a uniquely identifying user name
as input to the browser automation program 302. A user can select
their data by specifying their name at field 403 in pop up window
401. In one embodiment, field 403 is set up as a pull down list
providing for the ability to select one of multiple users or to add
a new user.
[0030] Moreover, for each user, any one of a number of profiles 404
may be provided from which to select to fill in the form. For
example, the user may click on different profiles for home, work,
or other. The multiple profiles allow for different sets of data to
be input into the form, e.g., shipping address, phone, fax, and
email address. For instance, depending on whether the user desires
to communicate with the provider of the web site from home, work,
or some other logical or physical designation, the user can select
a desired profile to provide the appropriate information necessary
for the web site provider to communicate or transact with the user
accordingly. FIG. 4 illustrates the user's home profile is
selected.
[0031] Yet further flexibility is provided by the browser
automation program in utilizing pull down lists 405 for many of the
fields of personal information accessible via pop up window 401.
The user may specify one of multiple shipping addresses, phone
numbers, email addresses, etc, for each profile. Thus, if a user
maintains multiple offices and wishes to register or otherwise
communicate personal contact information to a particular web site,
the user may specify one particular office address. The user may
then register at another web site using a different office address,
by selecting a different office address via the pull down list
associated with the shipping address field in the pop up window
401.
[0032] The information displayed in the pop up window 401 may have
been initially supplied directly by the user or may have been
learned as the user entered data in the normal course of 20 filling
out forms on web pages. The data is stored, typically in an
encrypted format, on the user's computer 301 as user data in
database 304. When the browser automation program 302 is executed,
the user is asked for a password in order to access the encrypted
data. In one embodiment, the data is stored in a separate file
which may be copied by the user and transported from computer to
computer. In one embodiment, the data within the file 304 is
retained with time stamp information. Using the timestamp
information, the browser automation program 302 may merge two user
data files, keeping the most recent information from both
files.
[0033] In addition to assisting in completing relatively long forms
as was shown in FIGS. 4-7, the browser automation program 302 can
assist with other types of forms 800. An example is provided in
FIG. 8 in which a "login helper" pop up dialog window 801 is
displayed overlaying login screen 800. For ease of reference,
dialog window 801 is shown separately in FIG. 9 as well. The
browser automation program 302 has learned the user's login names
and passwords for given web sites (in this case, the Microsoft msn
Hotmail web site). One problem increasingly facing web users is the
need to remember not only many passwords but also many user
identifications, or "member names". The browser automation program
stores in the user data file 304 the login member names and
passwords (in an encrypted format) for sites for which the user has
registered. When the user accesses the URL for a site, the user is
presented with the login helper 801. Login helper 801 allows the
user to select the appropriate member name and automatically then
enters the correct password for the user. Of course, the user may
have multiple member names for a particular site and the browser
automation programs 302 store each of the various member names. The
user may select the desired member name from a pull down list 802
in pop up window 801. Note also that, as in the case of pop up
window 401, login helper window 801 provides for multiuser support,
by allowing a user to select from one of multiple users via pull
down list 803.
[0034] The user may be provided with the option of having the form
filled in by selecting the login button 804, for example, via a
single click of a mouse pointer device. Thus, for example, when a
login form is encountered, the browser automation program 302 may
fill in the form with a minimum number of keystrokes or input from
the user to log in to the site.
[0035] In one embodiment, changes to the information stored in the
user database 304 causes notifications to be automatically sent to
web sites which have been supplied with this data. Thus, for
example, if the user changes the home address information,
information may be sent to those web sites which have been
previously supplied with the user's home address information
notifying the web sites of the change. The appropriate scripts for
updating this information may be stored, for example, at the home
site 305.
ALTERNATIVES TO THE PREFERRED EMBODIMENT OF THE PRESENT
INVENTION
[0036] There are, of course, alternatives to the described
embodiment which are within the reach of one of ordinary skill in
the relevant art. The present invention is intended to be limited
only by the claims presented below.
[0037] Thus, what has been disclosed is a method and apparatus for
entry of form data in a web browser.
* * * * *