|
Claims  |
|
|
What is claimed is:
1. A method for generating an iconic representation of a web browser
session, said method comprising:
accessing a web page from the World Wide Web in said browser session;
displaying said web page on a display;
selecting a subset of the page, said subset being defined according to at
least one user input;
automatically transforming the subset to an icon, wherein the icon is
smaller than the page, whereby the icon contains at least some information
derived from said subset of the page; and
displaying the iconic representation of the web browser session on said
display, said iconic representation being user selectable to invoke the
web browser session.
2. The method of claim 1, wherein the displaying step is in response to a
user selecting a link, wherein the link is contained in another page.
3. The method of claim 1, wherein the iconic representation further
comprises a shortcut to an application.
4. The method of claim 1, wherein the step of displaying the iconic
representation further comprises displaying the iconic representation in a
taskbar on the display.
5. The method of claim 1, wherein the selecting step further comprises
calculating the subset based on a biggest image in the page.
6. The method of claim 1, wherein the selecting step further comprises
calculating the subset based on text content in the page.
7. The method of claim 6, wherein the selecting step further comprises
selecting the subset based on frequency of words in the page.
8. The method of claim 7, wherein the selecting step further comprises
selecting the subset based on frequency of words in a title in the page.
9. The method of claim 7, wherein the selecting step further comprises
ignoring common words in the page.
10. The method of claim 7, wherein the transforming step further comprises
mapping a word in the subset to an icon based on a word-icon database.
11. The method of claim 1, wherein the selecting step further comprises
calculating the subset based on a default-icon tag in the page.
12. The method of claim 1, wherein the transforming step further comprises
deciding whether to retain an aspect ratio of the subset.
13. The method of claim 12, wherein the transforming step further comprises
determining whether the width of the subset divided by the width of the
icon is greater than the height of the subset divided by the height of the
icon.
14. The method of claim 13, wherein when the determining step is false, the
transforming step further comprises:
scaling the subset on a x-axis and a y-axis by a ratio, wherein the ratio
is calculated by dividing the icon width by the subset width.
15. The method of claim 13, wherein when the determining step is true, the
transforming step further comprises:
scaling the subset on a x-axis and a y-axis by a ratio, wherein the ratio
is calculated by dividing the icon height by the subset height.
16. The method of claim 12, wherein when the deciding step is false, the
transforming step further comprises:
scaling the subset on a x-axis by a first ratio, wherein the first ratio is
calculated by dividing the icon width by the subset width; and
scaling the subset on a y-axis by a second ratio, wherein the second ratio
is calculated by dividing the icon height by the subset height.
17. An apparatus for browsing the World Wide Web, comprising:
a processor;
memory coupled to the processor;
a browser residing in the memory and executing on the processor, wherein
said apparatus is capable of generating multiple browser sessions
concurrently, each session accessing a respective web page, and wherein a
browser session displays a web page on a display, selects a subset of the
web page, said subset being defined according to at least one user input,
and transforms the subset to an icon representing the browser session,
wherein the icon is smaller than the page, whereby the icon contains at
least some information derived from said subset of the web page, wherein a
user may invoke the browser session by selecting said icon representing
the browser session.
18. The apparatus of claim 17, wherein the browser session displays the web
page in response to a user selecting a link, wherein the link is contained
in another page.
19. The apparatus of claim 1, wherein the icon further comprises a shortcut
to invoke the browser and display the web page.
20. The apparatus of claim 17, wherein the browser further displays the
icon in a taskbar on the display.
21. The apparatus of claim 17, wherein the browser further substitutes the
icon for an application icon, wherein the application icon identifies the
browser.
22. The apparatus of claim 17, wherein the browser further calculates the
subset based on a biggest image in the page.
23. The apparatus of claim 17, wherein the browser further calculates the
subset based on text content in the page.
24. The apparatus of claim 23, wherein the browser further selects the
subset based on frequency of words in the page.
25. The apparatus of claim 24, wherein the browser further selects the
subset based on frequency of words in a title in the page.
26. The apparatus of claim 24, wherein the browser further ignores common
words when calculating the frequency of words in the page.
27. The apparatus of claim 24, wherein the browser further maps a word in
the subset to an icon based on a word-icon database.
28. The apparatus of claim 17, wherein the browser further calculates the
subset based on a default-icon tag in the page.
29. The apparatus of claim 17, wherein the browser further decides whether
to retain an aspect ratio of the subset.
30. The apparatus of claim 29, wherein the browser further determines
whether the width of the subset divided by the width of the icon is
greater than the height of the subset divided by the height of the icon.
31. The apparatus of claim 30, wherein when the determination is false, the
browser further:
scales the subset on a x-axis and a y-axis by a ratio, wherein the browser
calculates the ratio by dividing the icon width by the subset width.
32. The apparatus of claim 30, wherein when the determination is true, the
browser further:
scales the subset on a x-axis and a y-axis by a ratio, wherein the browser
calculates the ratio by dividing the icon height by the subset height.
33. The apparatus of claim 29, wherein when the decision is false, the
browser further:
scales the subset on a x-axis by a first ratio, wherein the browser
calculates the first ratio by dividing the icon width by the subset width,
and
scales the subset on a y-axis by a second ratio, wherein the browser
calculates the second ratio by dividing the icon height by the subset
height.
34. A program product that generates an icon, comprising:
a browser for use in a multitasking system that supports multiple
concurrent browser sessions, each session accessing a respective web page,
wherein a browser session displays a web page on a display, selects a
subset of the web page, said subset being defined according to at least
one user input, and transforms the subset to an icon representing the
browser session, wherein the icon is smaller than the page, whereby the
icon contains at least some information derived from said subset of the
web page, whereby a user may invoke the browser session by selecting said
icon representing the browser session; and
signal-bearing media bearing the browser.
35. The program product of claim 34, wherein the browser displays the web
page in response to a user selecting a link, wherein the link is contained
in another page.
36. The program product of claim 34, wherein the icon further comprises a
shortcut to invoke the browser and display the page.
37. The program product of claim 34, wherein the browser further displays
the icon in a taskbar on the display.
38. The program product of claim 34, wherein the browser further
substitutes the icon for an application icon, wherein the application icon
identifies the browser.
39. The program product of claim 34, wherein the browser further calculates
the subset based on a biggest image in the page.
40. The program product of claim 34, wherein the browser further calculates
the subset based on text content in the page.
41. The program product of claim 40, wherein the browser further selects
the subset based on frequency of words in the page.
42. The program product of claim 41, wherein the browser further selects
the subset based on frequency of words in a title in the page.
43. The program product of claim 41, wherein the browser further ignores
common words when calculating the frequency of words in the page.
44. The program product of claim 41, wherein the browser further maps a
word in the subset to an icon based on a word-icon database.
45. The program product of claim 41, wherein the browser further calculates
the subset based on a default-icon tag in the page.
46. The program product of claim 41, wherein the browser further decides
whether to retain an aspect ratio of the subset.
47. The program product of claim 46, wherein the browser further determines
whether the width of the subset divided by the width of the icon is
greater than the height of the subset divided by the height of the icon.
48. The program product of claim 46, wherein when the decision is false,
the browser further:
scales the subset on a x-axis by a first ratio, wherein the browser
calculates the first ratio by dividing the icon width by the subset width,
and
scales the subset on a y-axis by a second ratio, wherein the browser
calculates the second ratio by dividing the icon height by the subset
height.
49. The program product of claim 46, wherein when the determination is
false, the browser further:
scales the subset on a x-axis and a y-axis by a ratio, wherein the browser
calculates the ratio by dividing the icon width by the subset width.
50. The program product of claim 46, wherein when the determination is
true, the browser further:
scales the subset on a x-axis and a y-axis by a ratio, wherein the browser
calculates the ratio by dividing the icon height by the subset height.
51. A method of user interface in a multitasking system, comprising the
steps of:
presenting to a user a web page of data, said web page being presented in a
window representing a session of an interactive web browser application
for browsing the World Wide Web on a display of said multitasking system;
receiving a user selection to iconize said window;
identifying, according to at least one user input, a subset of said web
page of data to be used in generating an icon;
automatically generating a customized icon for said window from said
identified subset of said web page of data, said customized icon
displaying at least some information constructed from said identified
subset of said web page of data, said customized icon being smaller than
said window; and
replacing said window with said customized icon.
52. The method of user interface in a multitasking system of claim 51,
wherein said step of identifying a subset of said page of data to be used
in generating an icon comprises retrieving at least one user-alterable
parameter from a profile, and using said at least one user-alterable
parameter to identify said subset of said page of data.
53. The method of user interface in a multitasking system of claim 51,
wherein said step of automatically generating a customized icon comprises
graphically mapping said subset of said page of data from a first area in
said page to a second area in said icon, said second area being smaller
than said first area. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates in general to improved information processing
systems. In particular, the present invention relates to a method and
system for the generation of image icons.
BACKGROUND
The development of distributed, computer networks, such as the Internet,
allows users to retrieve vast amounts of electronic information previously
unavailable. The Internet increasingly is displacing more conventional
means of information transmission, such as newspapers, magazines, and even
television.
Electronic information transferred between computer networks (e.g., the
Internet) can be presented to a user in hypertext, a metaphor for
presenting information in a manner in which text, images, sounds, and
actions become linked together in a complex, non-sequential web of
associations that permit the user to "browse" through related topics,
regardless of the presented order of the topics. For example, traveling
among links to the word "iron" in an article might lead the user to the
periodic table of the chemical elements (i.e., linked by the word "iron"),
or to a reference to the use of iron in weapons in Europe in the Dark
Ages. The term "hypertext" is used to describe documents, as presented by
a computer, that express the nonlinear structure of ideas, as opposed to
the linear format of books, film, and speech. The combination of hypertext
documents connected by their links in the Internet is referred to as the
World Wide Web (WWW).
Networked computers utilizing hypertext conventions typically follow a
client/server architecture. A "client" is usually a computer that requests
a service provided by another computer (i.e., a server). A "server" is
typically a remote computer system accessible over information to the user
as responses to the client. The client typically contains a program,
called a browser, that communicates the requests to the server and formats
the responses for viewing (browsing) at the client. The browser retrieves
a web page from the server and displays it to the user at the client. A
"web page" (also referred to as a "page") is a data file, or document,
written in a hyper-text language that may have hyperlinks, text, graphic
images, and even multimedia objects, such as sound recordings or video
clips, associated with that data file.
The user can create multiple instances, or invocations, of the browser,
each simultaneously running in a window on the display screen and each
displaying a web page. Since space on a display screen is limited, the
user may choose to minimize one or more of the browser instances.
Minimizing a browser creates an icon, which is a small image--plus
minimal, associated text--that represents the browser. In the future, when
the user wishes to see the web page again, the user can select the icon
using mouse or other pointing device, which causes the browser and its web
page to be restored to full view. Over time, the user may accumulate many
icons, which can be small and not easily distinguishable, especially
because the images in each browser icon are identical since the icon
represents the browser and not the web page (it is only the minimal,
associated text that might relate to the web page). In addition to the
browser, a user might also have many other windows open or minimized as
icons. This creates additional clutter on the display and causes the user
even more difficulty when searching for the desired icon.
Thus, users often spend much time squinting at small icons, trying to
remember which icon is associated with which web page or window. Some
operating systems allow the user to place the pointing-device pointer over
the icon, which creates bubble text that provides a description of the
associated web page or window, but this is time consuming when the user
has many icons from which to choose, and the text is not always helpful.
Some icons have minimal, associated text that relates to the web page, but
not all do and the space for such text is quite limited.
Thus, there is a need for a mechanism that creates icons that are easily
distinguishable.
SUMMARY OF THE INVENTION
The invention is a method and system for automatically generating icons. In
the preferred embodiment, a browser displays a web page in a window on a
display screen. The browser selects a subset of the page, and transforms
the subset to an icon. The browser then displays the icon, which
represents the browser and the page, on the display screen. Thus, when
multiple invocations of the browser are active, each invocation will have
a different, associated icon, depending on each invocation's current page.
In this way, the user can easily distinguish between the browser
invocations by viewing the different icons.
BRIEF DESCRIPTION OF THE INVENTION
FIG. 1 is a pictorial representation of a computer system that may be
utilized to implement a preferred embodiment.
FIG. 2 is a block diagram of a representative hardware environment of the
processing unit of the computer system illustrated in FIG. 1.
FIG. 3 is a block diagram of software stored within the memory of the
computer system depicted in FIG. 1.
FIG. 4 is a block diagram illustrative of a client/server architecture in
accordance with a preferred embodiment.
FIG. 5 is a detailed block diagram of a client/server architecture in
accordance with a preferred embodiment.
FIG. 6 is a diagram illustrative of a computer network that can be
implemented in accordance with a preferred embodiment.
FIGS. 7 and 8 are pictorial representations of the interfaces that a user
may operate to control the operation of a preferred embodiment.
FIG. 9 is a pictorial representation of a primary data structure of the
preferred embodiment.
FIG. 10 is a pictorial representation of the interface that the user may
operate to control the operation of the preferred embodiment.
FIG. 11a is a pictorial representation of a prior art user interface.
FIGS. 11b and 11c are pictorial representations of the user interface after
operation of the preferred embodiment.
FIG. 12 is a pictorial representation of display-screen contents and
associated parameters according to the preferred embodiment.
FIGS. 13, 14, and 15 are pictorial representations of the buffer-to-icon
transformation performed by the preferred embodiment.
FIGS. 16, 17, 18, 19, 20, and 21 are flowcharts that describe the operation
of the preferred embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Technology Overview
The development of computerized distributed information resources, such as
the "Internet," allows users to link with servers and networks, and thus
retrieve vast amounts of electronic information heretofore unavailable in
an electronic medium. Such electronic information increasingly is
displacing more conventional means of information transmission, such as
newspapers, magazines, and even television. The term "Internet" is an
abbreviation for "Internetwork," and refers commonly to a collection of
computer networks that utilize the TCP/IP suite of protocols, well-known
in the art of computer networking. TCP/IP is an acronym for "Transport
Control Protocol/internet Protocol," a software protocol developed by the
Department of Defense for facilitating communications between computers.
Electronic information transferred between computer networks (e.g., the
Internet) can be presented to a user in hypertext, a metaphor for
presenting information in a manner in which text, images, sounds, and
actions become linked together in a complex non-sequential web of
associations that permit the user to "browse" through related topics,
regardless of the presented order of the topics. These links are often
established by both the author of a hypertext document and by the user,
depending on the intent of the hypertext document. For example, traveling
among links to the word "iron" in an article displayed within a graphical
user interface in a computer system might lead the user to the periodic
table of the chemical elements (i.e., linked by the word "iron"), or to a
reference to the use of iron in weapons in Europe in the Dark Ages. The
term "hypertext" is utilized to describe documents, as presented by a
computer, that express the nonlinear structure of ideas, as opposed to the
linear format of books, film, and speech.
Hypertext, especially in an interactive format where choices are controlled
by the user, is structured around the idea of offering a working and
learning environment that parallels human thinking--that is, an
environment that allows the user to make associations between topics
rather than moving sequentially from one topic to the next, as in an
alphabetic list. Hypertext topics are linked in a manner that allows users
to jump from one subject to other related subjects during a search for
information.
Networked systems utilizing hypertext conventions typically follow a
client/server architecture. A "client" is a member of a class or group
that utilizes the services of another class or group to which it is not
related. In the context of a computer network such as the Internet, a
client is a process (i.e., roughly a program or task) that requests a
service provided by another program. The client process utilizes the
requested service without having to know any working details about the
other program or the service itself. In networked systems, a client is
usually a computer that accesses shared network resources provided by
another computer (i.e., a server).
A server is typically a remote computer system accessible over a
communications medium such as the Internet. The server scans and searches
for information sources. Based upon such requests by the user, the server
presents filtered electronic information to the user as server responses
to the client process. The client process may be active in a first
computer system, and the server process may be active in a second computer
system; the processes communicate with one another over a communications
medium that allows multiple clients to take advantage of the
information-gathering capabilities of the server. A server can thus be
described as a network computer that runs administrative software that
controls access to all or part of the network and its resources, such as
data on a disk drive. A computer acting as a server makes resources
available to computers acting as workstations on the network.
Client and server can communicate with one another utilizing the
functionality provided by a hypertext transfer protocol (HTTP). The World
Wide Web (WWW) or, simply, the "web," includes all servers adhering to
this protocol, which are accessible to clients via a Uniform Resource
Locator (URL) address. Internet services can be accessed by specifying
Uniform Resource Locators that have two basic components: a protocol to be
used and an object pathname. For example, the Uniform Resource Locator
address, "http://www.uspto.gov/web/menu/intro.html" is an address to an
introduction about the U.S. Patent and Trademark Office). The URL
specifies a hypertext transfer protocol ("http") and a name
("www.uspto.gov") of the server. The server name is associated with a
unique numeric value (i.e., a TCP/IP address). The URL also specifies the
name of the file that contains the text ("intro.html") and the
hierarchical directory ("web") and subdirectory ("menu") structure in
which the file resides on the server. A directory is a grouping of files
on the server that usually contain related information. A subdirectory is
a division within a directory. A URL might contain any number of
directories and subdirectories. The delimiter that separates the various
identifier components of the URL is a "/". The most-narrow identifier in
the hierarchical pathname is the filename, "intro.html". The most-broad
identifier in the pathname is the server name, "www.uspto.gov".
Active within the client is a first process, known as a "browser" that
establishes the connection with the server, sends HTTP requests to the
server, receives HTTP responses from the server, and presents information
to the user. The server itself executes corresponding server software that
presents information to the client in the form of HTTP responses. The HTTP
responses correspond to "web pages" constructed from a Hypertext Markup
Language (HTML), or other server-generated data.
The browser retrieves a web page from the server and displays it to the
user at the client. A "web page" (also referred to as a "page" or a
"document") is a data file written in a hyper-text language, such as HTML,
that may have text, graphic images, and even multimedia objects, such as
sound recordings or moving video clips associated with that data file. The
page contains control tags and data. The control tags identify the
structure: for example, the headings, subheadings, paragraphs, lists, and
embedding of images. The data consists of the contents, such as text or
multimedia, that will be displayed or played to the user. A browser
interprets the control tags and formats the data according to the
structure specified by the control tags to create a viewable object that
the browser displays, plays, or otherwise performs to the user. A control
tag may direct the browser to retrieve a page from another source and
place it at the location specified by the control tag. In this way, the
browser can build a viewable object that contains multiple components,
such as spreadsheets, text, hotlinks, pictures, sound, and video objects.
A web page can be constructed by loading one or more separate files into
an active directory or file structure that is then displayed as a viewable
object within a graphical user interface. A hyperlink is a link to a web
page. The hyperlink is often presented to the user as a button in a web
page, which the user may select, which causes the browser to retrieve the
linked web-page.
The user can create multiple instances of the browser, each simultaneously
running in a window on the display screen and each displaying a web page.
Since space on a display screen is limited, the user may choose to
minimize one or more of the browser instances. Minimizing a browser
creates an icon, which is a small image--plus minimal, associated
text--that represents the browser and the retrieved web page. In the
future, when the user wishes to see the web page again, the user can
select the icon using mouse or other pointing device, which causes the
browser and its web page to be restored to full view.
DETAILED DESCRIPTION
With reference now to the figures and in particular with reference to FIG.
1, there is depicted an embodiment of a computer system that may be
utilized to implement the preferred embodiment. Computer system 110
includes processing unit 112, display device 114, keyboard 116, pointing
device 118, printer 120, and speakers 126. Processing unit 112 receives
input data from input devices such as keyboard 116, pointing device 118,
and local area network interfaces (not illustrated) and presents output
data to a user via display device 114, printer 120, and speakers 126.
Pointing device 118 is preferably utilized in conjunction with a graphical
user interface (GUI) in which hardware components and software objects are
controlled through the selection and the manipulation of associated
graphical objects displayed within display device 114. Although computer
system 110 is illustrated with a mouse for pointing device 118, other
graphical-pointing devices such as a graphic tablet, joystick, track ball,
touch pad, or track pad could also be utilized.
Keyboard 116 is that part of computer system 110 that resembles a
typewriter keyboard and that enables a user to control particular aspects
of the computer. Because information flows in one direction, from keyboard
114 to processing unit 112, keyboard 116 functions as an input-only
device. Functionally, keyboard 116 represents half of a complete
input/output device, the output half being video display terminal 114.
Keyboard 116 includes a standard set of printable characters presented in
a QWERTY pattern typical of most typewriters. In addition, keyboard 116
includes a calculator-like numeric keypad at one side. Some of these keys,
such as the "control," "alt," and "shift" keys can be utilized to change
the meaning of another key. Other special keys and combinations of keys
can be utilized to control program operations or to move either text or
cursor on the display screen of video display terminal 114.
Video-display terminal 114 is the visual output of computer system 110. As
indicated herein, video-display terminal 114 can be a cathode-ray tube
(CRT) based video display well-known in the art of computer hardware. But,
with a portable or notebook-based computer, video display terminal 114 can
be replaced with a liquid crystal display (LCD) based or gas,
plasma-based, flat-panel display.
Pointing device 118 features a casing with a flat bottom that can be
gripped by a human hand. Pointing device 118 can include buttons on the
top, a multidirectional detection device such as a ball on the bottom, and
cable 129 that connects pointing device 118 to processing unit 112.
To support storage and retrieval of data, processing unit 112 further
includes diskette drive 122, hard-disk drive 123, and CD-ROM drive 124,
which are interconnected with other components of processing unit 112.
Computer system 110 can be implemented utilizing any suitable computer such
as the IBM Aptiva computer, a product of International Business Machines
Corporation, located in Armonk, N.Y. But, a preferred embodiment of the
present invention can apply to any hardware configuration that allows the
creating of icons, regardless of whether the computer system is a
complicated, multi-user computing apparatus, a single-user workstation, or
a network appliance that does not have non-volatile storage of its own.
Referring to FIG. 2, there is depicted a block diagram of the principal
components of processing unit 112. CPU 226 is connected via system bus 234
to RAM (Random Access Memory) 258, diskette drive 122, hard-disk drive
123, CD-ROM drive 124, keyboard/pointing-device controller 284,
parallel-port adapter 276, network adapter 285, display adapter 270, and
modem 287. Although the various components of FIG. 2 are drawn as single
entities, each may consist of a plurality of entities and may exist at
multiple levels.
Processing unit 112 includes central processing unit (CPU) 226, which
executes instructions. CPU 226 includes the portion of computer system 110
that controls the operation of the entire computer system, including
executing the arithmetical and logical functions contained in a particular
computer program. Although not depicted in FIG. 2, CPU 226 typically
includes a control unit that organizes data and program storage in a
computer memory and transfers the data and other information between the
various parts of the computer system. CPU 226 generally includes an
arithmetic unit that executes the arithmetical and logical operations,
such as addition, comparison, and multiplication. CPU 226 accesses data
and instructions from and stores data to volatile RAM 258.
CPU 226 can be implemented | | |