U.S. patent application number 13/041210 was filed with the patent office on 2011-06-23 for method, system and computer readable medium for addressing handling from a computer program.
This patent application is currently assigned to ARENDI S.A.R.L.. Invention is credited to Atle Hedloy.
Application Number | 20110154179 13/041210 |
Document ID | / |
Family ID | 19902384 |
Filed Date | 2011-06-23 |
United States Patent
Application |
20110154179 |
Kind Code |
A1 |
Hedloy; Atle |
June 23, 2011 |
Method, System and Computer Readable Medium for Addressing Handling
from a Computer Program
Abstract
A method, system and computer readable medium for providing for
providing a function item, such as a key, button, icon, or menu,
tied to a user operation in a computer, whereby a single click on
the function item in a window or program on a computer screen, or
one single selection in a menu in a program, initiates retrieval of
name and addresses and/or other person or company related
information, while the user works simultaneously in another
program, e.g., a word processor. The click on the function item
initiates a program connected to the button to search a database or
file available on or through the computer, containing the person,
company or address related data, in order to look up data
corresponding to what the user types, or partly typed, e.g., name
and/or address in the word processor, the correct data from the
database, data related to the typed data, e.g., the name of the
person, company, or the traditional or electronic address, or other
person, or company, or address related data, and alternatively the
persons, companies, or addresses, are displayed and possibly
entered into the word processor, if such related data exists.
Inventors: |
Hedloy; Atle; (Luxembourg,
LU) |
Assignee: |
ARENDI S.A.R.L.
Luxembourg
LU
|
Family ID: |
19902384 |
Appl. No.: |
13/041210 |
Filed: |
March 4, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12841302 |
Jul 22, 2010 |
7921356 |
|
|
13041210 |
|
|
|
|
12182048 |
Jul 29, 2008 |
7917843 |
|
|
12841302 |
|
|
|
|
09923134 |
Aug 6, 2001 |
7496854 |
|
|
12182048 |
|
|
|
|
09189626 |
Nov 10, 1998 |
6323853 |
|
|
09923134 |
|
|
|
|
Current U.S.
Class: |
715/230 |
Current CPC
Class: |
Y10S 715/968 20130101;
G06F 40/274 20200101 |
Class at
Publication: |
715/230 |
International
Class: |
G06F 17/21 20060101
G06F017/21 |
Claims
1. At least one non-transitory computer readable medium encoded
with instructions which establish processes for information
handling, the processes comprising: displaying textual information
electronically; analyzing, in a computer process, displayed textual
information to identify first information from the textual
information as a type of contact information, from a plurality of
contact information types, wherein the analyzing is performed
without user designation of a specific part of the displayed
textual information to be subject to the analyzing; providing an
input device configured to allow the user to initiate at least one
operation from a set of potential operations, wherein the at least
one operation depends at least in part on the type of contact
information the first information is; and after determining the
type of contact information the first information is, and in
consequence of receipt of an execute command from the input device,
performing the at least one operation using the first information;
wherein the set of potential operations includes: causing an
electronic search in an information source, distinct from the
displayed textual information, for the first information in order
to find whether the first information is included in the
information source and to find second information, of a specific
type or types, associated with the first information, and when the
first information is included in the information source and the
information source also includes associated second information,
causing display of at least part of the associated second
information.
2. At least one non-transitory computer readable medium according
to claim 1, wherein the specific type or types of second
information is dependent at least in part on the type of contact
information the first information is.
3. At least one non-transitory computer readable medium according
to claim 1, wherein the set of potential operations includes:
initiating electronic communication using the first
information.
4. At least one non-transitory computer readable medium according
to claim 1, wherein the set of potential operations includes:
allowing the user to cause addition of at least some of the first
information into the information source as new information for an
existing contact.
5. At least one non-transitory computer readable medium according
to claim 1, wherein the set of potential operations includes:
allowing the user to cause addition of at least some of the first
information into the information source as a new contact.
6. At least one non-transitory computer readable medium according
to claim 1, wherein receipt of the execute command precedes the
process of analyzing.
7. At least one non-transitory computer readable medium according
to claim 1, wherein the process of analyzing is completed after the
receipt of the execute command.
8. At least one non-transitory computer readable medium according
to claim 1, wherein the process of causing display of at least part
of the associated second information comprises causing insertion of
at least part of the associated second information into the
displayed textual information.
9. At least one non-transitory computer readable medium according
to claim 1, wherein the operation comprises: if searching results
in a plurality of distinct instances of second information,
displaying such instances and enabling user selection of one of
them for use in performing an action.
10. At least one non-transitory computer readable medium according
to claim 1, wherein the input device is a menu and the execute
command includes the user's selection of a menu choice from the
menu.
11. At least one non-transitory computer readable medium according
to claim 1, wherein the plurality of contact information types
includes at least one of a name, an address, an e-mail address, and
a telephone number.
12. At least one non-transitory computer readable medium according
to claim 3, wherein when the first information is a telephone
number, the operation comprises initiating electronic communication
using the telephone number.
13. At least one non-transitory computer readable medium according
to claim 3, wherein when the first information is an e-mail
address, the operation comprises creating an email using the e-mail
address.
14. A computerized method for information handling, the method
comprising: displaying textual information electronically;
analyzing, in a computer process, displayed textual information to
identify first information from the textual information as a type
of contact information, from a plurality of contact information
types, wherein the analyzing is performed without user designation
of a specific part of the displayed textual information to be
subject to the analyzing; providing an input device configured to
allow the user to initiate at least one operation from a set of
potential operations, wherein the at least one operation depends at
least in part on the type of contact information the first
information is; and after determining the type of contact
information the first information is, and in consequence of receipt
of an execute command from the input device, performing the at
least one operation using the first information; wherein the set of
potential operations includes: causing an electronic search in an
information source, distinct from the displayed textual
information, for the first information in order to find whether the
first information is included in the information source and to find
second information, of a specific type or types, associated with
the first information, and when the first information is included
in the information source and the information source also includes
associated second information, causing display of at least part of
the associated second information.
15. A method according to claim 14, wherein the specific type or
types of second information is dependent at least in part on the
type of contact information the first information is.
16. A method according to claim 14, wherein the set of potential
operations includes: initiating electronic communication using the
first information.
17. A method according to claim 14, wherein the set of potential
operations includes: allowing the user to cause addition of at
least some of the first information into the information source as
new information for an existing contact.
18. A method according to claim 14, wherein the set of potential
operations includes: allowing the user to cause addition of at
least some of the first information into the information source as
a new contact.
19. A method according to claim 14, wherein receipt of the execute
command precedes the process of analyzing.
20. A method according to claim 14, wherein the process of
analyzing is completed after the receipt of the execute
command.
21. A method according to claim 14, wherein the process of causing
display of at least part of the associated second information
comprises causing insertion of at least part of the associated
second information into the displayed textual information.
22. A method according to claim 14, wherein the operation
comprises: if searching results in a plurality of distinct
instances of second information, displaying such instances and
enabling user selection of one of them for use in performing an
action.
23. A method according to claim 14, wherein the input device is a
menu and the execute command includes the user's selection of a
menu choice from the menu.
24. A method according to claim 14, wherein the plurality of
contact information types includes at least one of a name, an
address, an e-mail address, and a telephone number.
25. A method according to claim 16, wherein when the first
information is a telephone number, the operation comprises
initiating electronic communication using the telephone number.
26. A method according to claim 16, wherein when the first
information is an e-mail address, the operation comprises creating
an e-mail using the e-mail address.
27. An apparatus for information handling, the apparatus
comprising: a processor; and a memory storing instructions
executable by the processor to perform one or more processes that
include: displaying textual information electronically; analyzing,
in a computer process, displayed textual information to identify
first information from the textual information as a type of contact
information, from a plurality of contact information types, wherein
the analyzing is performed without user designation of a specific
part of the displayed textual information to be subject to the
analyzing; providing an input device configured to allow the user
to initiate at least one operation from a set of potential
operations, wherein the at least one operation depends at least in
part on the type of contact information the first information is;
and after determining the type of contact information the first
information is, and in consequence of receipt of an execute command
from the input device, performing the at least one operation using
the first information; wherein the set of potential operations
includes: causing an electronic search in an information source,
distinct from the displayed textual information, for the first
information in order to find whether the first information is
included in the information source and to find second information,
of a specific type or types, associated with the first information,
and when the first information is included in the information
source and the information source also includes associated second
information, causing display of at least part of the associated
second information.
28. An apparatus according to claim 27, wherein the specific type
or types of second information is dependent at least in part on the
type of contact information the first information is.
29. An apparatus according to claim 27, wherein the set of
potential operations includes: initiating electronic communication
using the first information.
30. An apparatus according to claim 27, wherein the set of
potential operations includes: allowing the user to cause addition
of at least some of the first information into the information
source as new information for an existing contact.
31. An apparatus according to claim 27, wherein the set of
potential operations includes: allowing the user to cause addition
of at least some of the first information into the information
source as a new contact.
32. An apparatus according to claim 27, wherein receipt of the
execute command precedes the process of analyzing.
33. An apparatus according to claim 27, wherein the process of
analyzing is completed after the receipt of the execute
command.
34. An apparatus according to claim 27, wherein the process of
causing display of at least part of the associated second
information comprises causing insertion of at least part of the
associated second information into the displayed textual
information.
35. An apparatus according to claim 27, wherein the operation
comprises: if searching results in a plurality of distinct
instances of second information, displaying such instances and
enabling user selection of one of them for use in performing an
action.
36. An apparatus according to claim 27, wherein the input device is
a menu and the execute command includes the user's selection of a
menu choice from the menu.
37. An apparatus according to claim 27, wherein the plurality of
contact information types includes at least one of a name, an
address, an e-mail address, and a telephone number.
38. An apparatus according to claim 29, wherein when the first
information is a telephone number, the operation comprises
initiating electronic communication using the telephone number.
39. An apparatus according to claim 29, wherein when the first
information is an e-mail address, the operation comprises creating
an e-mail using the e-mail address.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] The present application is a continuation of U.S.
application Ser. No. 12/841,302 filed on Jul. 22, 2010, which in
turn is a continuation of U.S. application Ser. No. 12/182,048
filed on Jul. 29, 2008, which in turn is a continuation of U.S.
application Ser. No. 09/923,134 filed on Aug. 6, 2001, issued as
U.S. Pat. No. 7,496,854, which in turn is a continuation of U.S.
application Ser. No. 09/189,626 filed on Nov. 10, 1998, and which
issued as U.S. Pat. No. 6,323,853. Each of the above-described
applications is hereby incorporated by reference in their
entireties.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] This invention relates to a method, system and computer
readable medium for name and address handling (hereinafter called
"address handling"), and more particularly to a touch screen,
keyboard button, icon, menu, voice command device, etc.
(hereinafter called "button") provided in a computer program, such
as word processing program, spreadsheet program, etc., and coupled
to an information management source for providing address handling
within a document created by the computer program.
[0004] 2. Discussion of the Background
[0005] In recent years, with the advent of programs, such as word
processors, spread-sheets, etc. (hereinafter called "word
processors") users may require retrieval of information, such as
name and address information, etc., for insertion into a document,
such a letter, fax, etc., created with the word processor.
Typically, the information is retrieved by the user from an
information management source external to the word processor, such
as a database program, contact management program, etc., or from
the word processor itself, for insertion into the document.
Examples of such word processors are WORD.TM., NOTEPAD.TM.,
EXCEL.TM., WORDPAD.TM., WORDPERFECT.TM., QUATROPRO.TM., AMIPRO.TM.,
etc., and examples of such information management sources are
ACCESS.TM., OUTLOOK.TM., ORACLE.TM., DBASE.TM., RBASE.TM.,
CARDFILE.TM., etc.
[0006] However, the information in the database must constantly be
updated by the user. This requires the user to learn how to use and
have access to the database. In this case, a change in the
information, such as change in address or a name, etc., requires
the user of the word processor to implement this change in the
database, or alternatively, the change is made to the database
centrally by a database administrator.
SUMMARY OF THE INVENTION
[0007] Accordingly, an object of the present invention is to
provide a method, system and computer readable medium for address
handling within a computer program.
[0008] Another object of the present invention is to provide a
method, system and computer readable medium for address handling
within a computer program, such as a word is processing program,
spreadsheet program, etc.
[0009] Another object of the present invention is to provide a
method, system and computer readable medium for address handling
within a computer program, such as a word processing program,
spreadsheet program, etc., using an input device provided in the
computer program.
[0010] Another object of the present invention is to provide a
method, system and computer readable medium for address handling
within a computer program, such as a word processing program,
spreadsheet program, etc., using an input device, such as a touch
screen, keyboard button, icon, menu, voice command device, etc.,
provided in the computer program and coupled to an information
management source.
[0011] Another object of the present invention is to provide a
method, system and computer readable medium for address handling
within a computer program, such as a word processing program,
spreadsheet program, etc., using an input device such as a touch
screen, keyboard button icon, menu, voice command device, etc.,
provided in the computer program and coupled to an information
management source, such as a database program, contact management
program, etc.
[0012] The above and other objects are achieved according to the
present invention by providing a novel method, system and computer
readable medium for providing a function item, such as a key,
button, icon, or menu, tied to a user operation in a computer, to
whereby a single click on the function item in a window or program
on a computer screen, or one single selection in a menu in a
program, initiates retrieval of name and addresses and/or other
person or company related information, while the user works
simultaneously in another program, e.g., a word processor. The
click on the function item initiates a program connected to the
button to search a database or file available on or through the
computer, containing the person, company or address related data,
in order to look up data corresponding to what the user types, or
partly typed, e.g., name and/or address in the word processor, the
correct data from the database, data related to the typed data,
e.g., the name of the person, company, or the traditional or
electronic address, or other person, or company, or address related
data, and alternatively the persons, companies, or addresses, are
displayed and possibly entered into the word processor, if such
related data exists.
[0013] The present invention also includes a computer readable
medium storing program instructions by which the method of the
invention can be performed when the stored program instructions are
appropriately loaded into a computer, and a system for implementing
the method of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The invention description below refers to the accompanying
drawings, of which:
[0015] FIG. 1 is a flow chart illustrating a method for address
handling within a computer program, according to an exemplary
embodiment of the present invention;
[0016] FIG. 2 is a flow chart illustrating a method for address
handling within a computer program, according to another exemplary
embodiment of the present invention;
[0017] FIG. 3 is a screen shot illustrating the inputting of a name
to be searched and an address handling button within a word
processor, according to an exemplary embodiment of the present
invention;
[0018] FIG. 4 is a screen shot illustrating a retrieved address in
a word processor, according to an exemplary embodiment of the
present invention;
[0019] FIG. 5 is a screen shot illustrating the inputting of a name
and address to be searched and an address handling button within a
word processor, according to an exemplary embodiment of the present
invention;
[0020] FIG. 6 is a screen shot illustrating an add new contact
message window, according to an exemplary embodiment of the present
invention;
[0021] FIG. 7 is a screen shot illustrating a contact register
message window, according to an exemplary embodiment of the present
invention;
[0022] FIG. 8 is a screen shot illustrating an address missing
message window, according to an exemplary embodiment of the present
invention;
[0023] FIG. 9 is a screen shot illustrating a modify contact's
address message window, according to an exemplary embodiment of the
present invention;
[0024] FIG. 10 is a screen shot illustrating a select a contact
address register message window, according to an exemplary
embodiment of the present invention;
[0025] FIG. 11 is a screen shot illustrating a more detailed mode
of registering an additional address for the contact register of
FIG. 9, according to an exemplary embodiment of the present
invention;
[0026] FIG. 12 is a screen shot illustrating a contact management
program window in a full detailed mode, according to an exemplary
embodiment of the present invention;
[0027] FIG. 13 is a screen shot illustrating an address already in
use message window, according to an exemplary embodiment of the
present invention;
[0028] FIG. 14 is a screen shot illustrating the inputting of a
name to be searched and an address handling button within a
spreadsheet, according to an exemplary embodiment of the present
invention;
[0029] FIG. 15 is a screen shot illustrating a retrieved address in
a spreadsheet, according to an exemplary embodiment of the present
invention; and
[0030] FIG. 16 is a schematic illustration of a general purpose
computer for performing the processes of the present invention,
according to an exemplary embodiment of the present invention.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
[0031] In an embodiment of the present invention, single button
addressing is a achieved by providing an input device, such as a
touch screen, keyboard, icon, menu, voice command device, etc.
(hereinafter called "button"), in a computer program, such as a
word processing program, spreadsheet program, etc. (hereinafter
called "word processor"), for executing address handling
therein.
[0032] Accordingly, in a word processor, the button is added and a
user types information, such as an addressee's name, or a part of
the name, etc. in a document created with the word processor, such
as a letter, fax, etc., and then clicks, selects, commands, etc.
the button via the appropriate input device, such as a touch screen
button, keyboard button, icon, menu choice, voice command device,
etc. A program then executes and retrieves the typed information
from the document, and searches an information management source,
such as a database, file, database program, contact management
program, etc. (hereinafter called "database") to determine if the
information, such as the name or part of the name typed and
searched by the program exists in the database. If the program does
not find stored information, such as a name, corresponding to the
name or part of the name typed, the user is asked by the program
whether the information, such as the name that was not found,
should be added to the database. In addition, the user may enter
any other information besides the name, such as addresses,
businesses, telephone numbers, fax numbers, e-mail address, etc.,
so that this other information can be stored in the database for
later use.
[0033] If the program finds name(s) and address(es) corresponding
to the part of the addressee's name typed, this additional
information is automatically entered into the user's word
processor, optionally with a confirmation from the user that this
is the correct data. If the typed address information does not
correspond to data already stored in the database, after clicking
on the button, the program, for example, lets the user decide: (1)
if this is new data (e.g., a new address) for an existing contact;
(2) if the stored data should be changed to what the user just
typed; (3) if this is a new contact with the same name as the one
already entered into the database; or (4) if the typed address is
only to be used once, and therefore not to be stored in the
database at all. If, later, for example, a name with several
address stored in the database is recalled, all addresses for this
contact will be displayed, so that the correct address can be
selected by the user.
[0034] The program may be extended to also store and retrieve other
information, such as telephone numbers, fax numbers, e-mail
addresses, etc. Once the program recalls the telephone numbers, fax
numbers, email addresses, etc., the user can command the program to
send e-mails, faxes, etc. Similarly, if the user types in the name
of a mailing list, the program create merge letters, group emails,
etc.
[0035] Referring now to the drawings, wherein like reference
numerals designate identical or corresponding parts throughout the
several views, and more particularly to FIGS. 1 and 2 thereof,
there is illustrated flow charts of single button addressing,
according to exemplary embodiments of the present invention.
[0036] In FIG. 1, after the user has inserted the address in the
word processor, the user commands the button at step 2 and the
program analyzes what the user has typed in the to document at step
4. AT step 6, the program decides what was found in the document
and if the program found nothing in the document or what it found
was un-interpretable the program goes to step 8 and outputs an
appropriate message to the user and then quits at step 16. The
program analyzes what the user has typed in the document at step 4,
for example, by analyzing (i) paragraph/line
separations/formatting, etc.; (ii) street, avenue, drive, lane,
boulevard, city, state, zip code, country designators and
abbreviations, etc.; (iii) Mr., Mrs., Sir, Madam, Jr., Sr.
designators and abbreviations, etc.; (iv) Inc., Ltd., P.C., L.L.C,
designators and abbreviations, etc.; and (v) a database of common
male/female names, etc.
[0037] If the program find an e-mail address mailing list/category
name telephone number or other information, at step 10 an
appropriate action is performed by the program and then the program
execution quits at step 16. If the program only finds a name or
initials, or the like, the program looks up the name in the
database at step 12 and at step 18 the program determines what was
found. If the program finds more than one possible contact/address
match, at step 20 the program displays menu choices to the user to
let him choose an appropriate answer. Then at step 22 the program
inserts a correct address and name in the document and then at step
16 the program quits execution. If the program finds one match
exactly, i.e., one contact with one address, the program inserts
the correct address and name in the document at step 22 then quits
and then quits execution at step 16. If the program does not find a
name in the database, at step 24 the program prompts the user to
specify an address and then quits execution at step 16. If the
program at step 6 fords a name and an address, at step 14 the name
is looked up in the database. Then, at step 26, if no match is
found, at step 28 the program inserts an address and a name which
are possibly corrected by the user into the database and then quits
execution at step 16. If at step 26, the name and address is found,
at step 32 the program either takes no action or displays the data
for the user to edit. If at step 26, the name is found but not the
address, the program prompts the user for a decision at step 30. If
the user decides that this is another contact with a same name, the
program goes to step 28. If the user decides that this is a one
time occurrence, no action is taken and the program quits at step
16. If the user decides that the contact has, for example, moved
and that this is a new address, at step 34 one of the old addresses
for the contact is replaced with the new one and the program with
the new one and the program quits at step 16. If the user decides
that this is an additional address for the contact, at step 36 the
additional address is inserted into the database for that contact
and execution quits at step 16.
[0038] The flowchart shown in FIG. 2 is similar to the flowchart in
FIG. 1, except for some additional steps which will now be
discussed. At step 6, if the program only finds a name or a similar
name then the name is looked up in the database at step 12, then at
step 18 if the program found more than one possible contact/address
match, the program displays choices to the user to let him choose
an address at step 20. Then at step 21 the user decides whether to
insert the selected address into the document. If the user does not
decide to select the address into the document the program quits
execution at step 16. If the user decides to insert the selected
address into the document the program inserts the address and name
into the document at step 22 and then quits at step 16.
[0039] If the program finds a name and address in the database at
step 6, then at step 14 the program looks up the name in the
database and at step 26 the program determines what it has found.
If the program does not find the name at step 26, at step 27 the
prow gram prompts the user for a decision and review and whether to
insert the contact and address. If the user does not decide to
insert the contact address, the program quits at step 16. If the
user decides to insert the contact address, at step 28 the program
inserts the address and name which may be possibly corrected by the
user for program in the database then execution quits at step
16.
[0040] If at step 26 the program finds a name and not an address,
then at step 29 the name is looked up in the database. Then at step
31 the program decides whether this contact has another address. If
the contact does not have another address, at step 33 the program
prompts the user for a decision and review and whether to add the
address. If the user does not want to add the address at step 33,
the program quits at step 16. If the user wants to add the address
at step 33 because this is an additional address for the contact,
at step 36 the address is inserted in the database for the contact
and execution quits at step 16.
[0041] At step 30, if the user decides that this is another contact
with the same name, then the program goes to step 28. If at step 30
the user decides that this is a one time occurrence, then the
program quits at step 16. If at step 30, the user decides that the
contact has, for example, moved, the program goes to step 34. If at
step 30, the user decides that this is an additional address for
the contact, at step 36 the program inserts the address in the
database for the contact and then quits at step 16.
[0042] Various exemplary screen shots which are generated during
execution of the program, according to the present invention, will
now be described with reference to FIGS. 3-15 and examples 1-7 as
follows.
Example 1
Retrieving an Existing Address from the Database
[0043] FIG. 3 illustrates a starting point in word processor
document such as WORD document, wherein the user has typed a name
40. The user hits the button 42, for example, marked "OneButton"
and the program according to the present invention retrieves is the
name 40 from the document, searches a database for the name 40, and
inserts the retrieved address 44 associated with the name 40 into
the document as shown in, for example, FIG. 4.
[0044] The above example corresponds to steps 2, 4, 6, 12, 18, 22
and 16 in the flow charts of FIGS. 1 and 2.
Example 2
Adding a New Contact to the Database
[0045] FIG. 5 illustrates a starting point in word processor
document such as WORD document, wherein the user has typed a name
and address of a new contact 46. The user commands the button 42,
for example, marked "OneButton," and the program according to the
invention retrieves the new contact 46 from the document, searches
a database for the name of the new contact 46 and generates a
screen as shown in, for example, FIG. 6. This screen includes a
message 50 informing the user that the new contact does not exist
in the database, a message 52 including the address retrieved from
the document, an address type selection 54, such as home, business,
etc., and "OK," "Details," and "Cancel" buttons 56, 58, and 60,
respectively.
[0046] At this point, the user can cancel the operation by
commanding the Cancel button 60, ask the program to store data in
the database and return the document by commanding the OK button
56, or check details before storing data into the database by
commanding the Details button 58. If the user commands the Details
button 58, as shown in, for example, FIG. 7, a message screen is
provided so that the user can review and edit data 62 and the
selection 54, store the data 62 and 54 in the database by
commanding a "Add and Choose" button 64, see more options by
commanding an "Options" button 66, or cancel the operation by
commanding the Cancel button 60.
[0047] The above example corresponds to steps 2, 4, 6, 14, 26, 28
and 16 in the flow chart of FIG. 1 and steps 2, 4, 6, 14, 26, 27,
28 and 16 in the flow chart of FIG. 1 and steps 2, 4, 6, 26, 27, 28
and 16 in the flow chart of FIG. 2.
Example 3
Try to Retrieve Existing Address, but Contact is not in
Database
[0048] FIG. 3 illustrates a starting point in word processor
document, such as WORD document, wherein the user has typed a name
of a contact 40. The user commands the button 42, for example,
marked "OneButton," and the program according to the present
invention retrieves the name 40 from the document, searches a
database for the name of the contact 40 and generates a screen as
shown in, for example, FIG. 8. This screen includes a message 68
informing the user that the contact does not exist in the database
and to specify an address, and "OK" buttons 56. At this point when
the user commands the OK button 56, the user returns to the
document so that he contact's address can be included as in Example
2 above.
[0049] The above example corresponds to steps 2, 4, 6, 12, 18, 24,
and 16 in the flow of charts of FIGS. 1 and 2.
Example 4
Adding a New Address for an Existing Contact (Short Version)
[0050] FIG. 4 illustrates a starting point in word processor
document, such as WORD document, wherein the user has typed a name
and new address of an existing contact 44. The user commands the
button 42, for example, marked "OneButton," and the program
according to the present invention retrieves the existing contact
44 from the document, searches a database for the same name of the
existing contact 44 and generates a screen as shown in, for
example, FIG. 9. This screen includes a message 70 informing the
user that the contact already exists in the database with an
existing address, a message 72 including the existing address, add
new contact with same name selection 74, change existing address
selection 76, use existing address in document selection 78, add
the new address contact selection 80, the address type selection
54, such as home, business, etc., and the "OK," "Details," and
"Cancel" buttons 56, 58 and 60 respectively. AT this point, the
user may select one of the four options 74-80, and command the OK
button 56 to execute the selected options. The user can also cancel
the operation by commanding the Cancel button 60, or check details
before storing data into the database by commanding the Details
button 58.
[0051] The above example corresponds to steps 2, 4, 6, 14, 26, 28,
30, 34, 36, and 16 in the flow chart of FIG. 1 and steps 2, 4, 6,
14, 26, 29, 31, 30, 28, 34, 36, and 16 in the flow chart of FIG.
2.
Example 5
Selecting Between Several Possible Matching Addresses
[0052] FIG. 3 illustrates a starting point in word processor
document, such as WORD document, wherein the user has typed a name
and possibly address of at least one existing contact 40. The user
commands the button 42, for example, marked "OneButton," and the
program according to the present invention retrieves the existing
contact 40 from the document, searches a database for the name of
the existing contact 40 and generates a screen as shown in, for
example, FIG. 10. This screen includes a message informing the user
the name corresponds to several addresses and possible contacts
which already exist is in the database, with existing contacts and
addresses for selection 82, a message 84 including the full name
and address for the contact that the user selects in 82, the
Options button 66, a "Choose" button 86, a "Full details" button
88, a "More>>>" button 90, and the Cancel button 60. The
above screen indicates to the user that at least one contact with
the same name exists, and that there are more than one addresses
and/or contacts that match.
[0053] At this point, the user may command the Choose button 86 to
use the selected address and return to the document, or the user
may command the More >>>button 90 to view how the program
interpreted what he user typed in the word processor, and possibly
change this data, wherein the program generates an updated screen
as shown in for example, FIG. 11. The updated screen includes the
data 62 which displays the name for example, FIG. 11. The updated
screen includes the data 62 which displays the name typed in the
word processor as interpreted by the program, address fields, and
the fields for the address type selection 54, such as home,
business, etc., which may be changed by the user before the program
stores it in the database, the Add and Choose button 64, a
"<<<Less" button 90 corresponding to the
More>>>button 90 for returning to the screen of FIG. 10,
and an "Add this address to the selected contact above" button 92.
The user might then command the Add this address to the selected
contact above button 92 and the result in the word processor is
illustrated in FIG. 4. The user can also cancel the operations by
commanding the Cancel button 60, or command the add choose button
64 to add this name and address as a new contact and address, or
open the database before storing data into the database by
commanding a "Full details" button 88 as will be later
described.
[0054] The above example corresponds to steps 2, 4, 6, 12, 18, 20,
22, and 16 in the flow chart of FIG. 1 and steps 2, 4, 6, 12, 18,
20, 21, 22, and 16 in the flow chart of FIG. 2.
Example 6
Adding a New Address for an Existing Contact (Long Version)
[0055] FIG. 4 illustrates a starting point in word processor
document, such as WORD document, wherein the user has typed a name
and new address of an existing contact 44. The user commands the
button 42, for example, marked "OneButton," and the program
according to the present invention retrieves the existing contact
44 from the document, searches a database for the name of the
existing contact 44 and generates a screen as shown in, for
example, FIG. 9. As previously described the screen includes a
message 70 informing the user that the contact already exists in
the database with an existing address, and the user may command the
Details button 58 to see the details of the new address for
potentially modify the details before they are stored in the
database and the program generates a screen as shown in, for
example, FIG. 10. From this screen, the user may choose to use
another address than the one he typed, and return to the document,
or the user may command the "Full details" button 88 to enter a
database program, such as OUTLOOK.TM., directly as shown in, for
example, FIG. 12. In FIG. 12, the database program, such as
OUTLOOK.TM., may include portions 94-104 for allowing the user to
modify various to pieces of data before they are stored in the
database.
[0056] Alternatively, in the screen shown in FIG. 10, the user may
command the More>>>button 90 at which time the program
generates the screen as shown in, for example, FIG. 11 and as
previously described. In this screen, the user might then command
the Add this address to the selected contact above button 92. If
the address typed is already in use, the program generates a screen
including a message 106, and "Yes" and "No" buttons, 108 and 110,
respectively, as shown in, for example, FIG. 13. If the user hits
the Yes button 108 the program overwrites the contact address with
the address specified by the user (e.g., if the contact has moved)
and the result in the word processor is shown in, for example FIG.
4.
[0057] The above example corresponds to steps 2, 4, 6, 12, 14, 26,
28, 30, 34, 36, and 16 in the flow chart of FIG. 1 and steps 2, 4,
6, 12, 14, 26, 29, 31, 30, 28, 34, 36, and 16 in the flow chart of
FIG. 2.
Example 7
Spreadsheet Application
[0058] FIG. 14 illustrates a starting point in word processor
document, such as an EXCEL spreadsheet, wherein the user has typed
a name 112. The user hits the button 42, for example, marked
"OneButton," and the program according to the present invention
retrieves the name 112 from the spreadsheet, searches a database
for the name 112, and inserts the retrieved address 114 into the
spreadsheet as shown in, for example, FIG. 15. Accordingly, the
examples 1-6 apply not only to word processor documents, such as
WORD.TM. documents, etc., but to other word processor documents,
and spreadsheets, such as EXCEL.TM. spreadsheets, etc.
[0059] The above example corresponds to steps 2, 4, 12, 18, 22, and
16 in the flow of charts FIGS. 1 and 2.
[0060] FIG. 16 is a schematic illustration of a computer system for
implementing the single button addressing according to the present
invention. A computer 200 implements the method of the present
invention, wherein the computer includes, for example, a discs play
device 202, such as a conventional display device or a touch screen
monitor with a touch screen interface, etc., a keyboard 204, a
pointing device 206, a mouse pad or digitizing pad 208, a hard disk
210, or other fixed, high density media drives, connected using an
appropriate device bus (e.g., a SCSI bus, an Ultra DMA bus, a PCI
bus, etc.), a floppy drive 212, a tape or CD ROM drive 214 with
tape or CD media 216, or other removable media devices, such as
magneto-optical media, etc., and a mother board 218. The mother
board 218 includes, for example, a processor 220, a RAM 222, and
ROM 224 (e.g., DRAM, ROM, EPROM, EEPROM, SRAM, SDRAM, and Flash
RAM, etc.), I/O ports 226 which may be used to couple to external
devices, networks, etc., (not shown), and optional special purpose
logic-devices (e.g., ASICs) or configurable logic devices (e.g.,
GAL and re-programmable FPGA) 228 for performing specialized
hardware/software functions, such as sound processing, image
processing, signal processing, neural network processing, object
character recognition (OCR) processing, etc., a microphone 230, and
a speaker or speakers 232.
[0061] As stated above, the system includes at least one computer
readable medium or alternatively, the computer readable medium may
be accessed through various paths, such as networks, internet,
drives, etc. Examples of computer readable media are compact discs,
hard disks, floppy disks, tape, magneto-optical disks, PROMs
(EPROM, to EEPROM, Flash, EPROM), DRAM, SRAM, SDRAM, etc. Stored on
any one or on a combination of computer readable media, the present
invention includes software for controlling both the hardware of
the computer 200 and for enabling the computer 200 to interact with
a human user. Such software may include, but is not limited to,
device drivers, operating systems and user applications, such as
development tools. Such computer readable media further includes
the computer program product of the present invention for
performing any of the processes according to the present invention,
described above (see, e.g., FIGS. 1-15). The computer code devices
of the present invention can be any interpreted or executable code
mechanism, including but not limited to scripts, interpreters,
dynamic link libraries, Java classes, and complete executable
programs, etc.
[0062] The invention may also be implemented by the preparation of
application specific integrated circuits or by interconnecting an
appropriate network of conventional component circuits, as will be
readily apparent to those skilled in the art.
[0063] Address handling, according to this invention, is a
significant simplification relative to existing methods, and
requires little or no training on the part of a user, as correct
addresses are retrieved with a minimal number of user commands,
"clicks," keystrokes, etc. In addition, a program according to the
present invention, can be programmed and created in most existing
programming languages and be connected to most modern word
processors. Therefore, according to the present invention, the
process of creating and updating records in an address database is
significantly simplified, since this may now be performed directly
from the word processor.
[0064] Although the present invention is defined in terms of word
processing documents, such as WORD.TM. documents and EXCEL.TM.
spreadsheets, the present invention is applicable to all types of
word processing documents such as NOTEPAD.TM., WORDPAD.TM.,
WORDPERFECT.TM., QUATROPRO.TM., AMIPRO.TM., etc., as will be
readily apparent to those skilled in the art.
[0065] Although the present invention is defined in terms of
information management or is database programs, such as
OUTLOOK.TM., etc., the present invention is applicable to all types
of information management or database programs such as ACCESS.TM.,
ORACLE.TM., DBASE.TM., RBASE.TM., CARDFILE.TM., including "flat
files," etc., as will be readily apparent to those skilled in the
art.
[0066] Although the present invention is defined in terms of
providing an input device, such as a button 42 in a word processor
for address handling therein, the present invention may be
practiced with all types of input devices, such as touch screen,
keyboard button, icon, menu, voice command device, etc., as will be
readily apparent to those skilled in the art.
[0067] Although the present invention is defined in terms of a
program retrieving information from a document before searching a
database, the user may select the information in the document to be
searched by the program in the database (e.g., by highlighting,
selecting, italicizing, underlining, etc.), as will be readily
apparent to those skilled in the art.
[0068] Although the present invention is defined in terms of a
program retrieving a name or portion thereof from a document before
searching a database the program may retrieve an address or portion
thereof from the document before searching the database and insert,
correct, complete, etc., the retrieved address based on the
information found in the database corresponding to the retrieved
address or portion thereof, as will be readily apparent to those
skilled in the art.
[0069] Obviously, numerous modifications and variations of the
present invention are possible in light of the above teachings. It
is therefore to be understood that within the scope of appended
claims, the invention may be practiced otherwise than as
specifically described herein.
[0070] This application claims priority and contains subject matter
related to Norwegian patent application No. 984066 filed on Sep. 3,
1998, the entire contents of which are hereby incorporated by
reference.
* * * * *