|
Claims  |
|
|
We claim:
1. A system including a display screen and a first database of records,
each record represented by a record cell having preview data, content
data, identification data, and attributes, providing a user interface to
the first database and comprising:
a) a first plurality of displayed cell positions, each cell position
displaying either:
a.1) identification data of a record cell; or,
a.2) identification data of a parser cell;
the cells displayed in the first plurality of cell positions selected from
of a hierarchical plurality of matrices, each matrix including a plurality
of cells, the plurality of cells including record cells or parser cells,
each parser cell associated with a matrix in the plurality of matrices;
each of the first plurality of cell positions responsive to:
a.3) a first user input to focus the cell displayed in the cell position;
and
a.4) a second user input to select the cell in the cell position when the
cell displayed therein is focused; and,
a.5) a third user input to play the cell in the cell position when the cell
displayed therein is focused;
b) a content window that displays selected data of a cell;
c) a computer program stored in a computer readable memory and receiving
user inputs, that:
c.1) in response to a first user input to focus a cell in a cell position:
c.1.1) displays in the content window a preview of the focused cell, the
preview of a focused record cell containing preview data of the focused
record cell, and the preview of a focused parser cell including a sequence
of previews for the plurality of cells in the matrix associated with the
focused parser cell;
c.1.2) continues to display in the cell position of the focused cell the
identification data thereof; and,
c.1.3) continues to display in the cell position of each non-focused cell
the identification data of the non-focused cell.
2. The user interface of claim 1, wherein the computer program stored in
the computer readable memory:
c.2) in response to a second user input to select a focused record cell,
the preview of which is displayed in the content window, the computer
program either:
c.2.1) initiates in and continues to displays in the content window content
data included in the record cell while continuing to display in each cell
position of each non-selected cell the identification data of the
non-focused cell; or,
c.2.2) removes all displayed cell positions, and initiates and continues to
display at full screen size content data included in the record cell;
c.3) in response to a third user input to play a focused parser cell, the
preview of which is preview data of a record cell which is displayed in
the content window at a time when the third user input is received, the
computer program either:
c.3.1) initiates in and continues to displays in the content window content
data included in the record cell which is displayed in the content window
at the time when the third user inputs is received, while continuing to
display in each cell position of each non-selected cell the identification
data of the non-selected cell; or
c.3.2) removes all displayed cell positions, and initiates and continues to
display at full screen size content data included in the record cell which
is displayed in the content window at the time when the third user inputs
is received.
3. The user interface of claim 2, wherein the computer program stored in
the computer readable memory:
c.4) in response to a second user input on a cell position of a focused
parser cell to select the parser cell:
c.4.1) updates the plurality of cell positions to display the matrix
associated with the selected parser cell; and,
c.4.2) focuses one of the cell positions, causing a preview of the focused
cell to display in the content window.
4. The user interface of claim 3, wherein the computer program stored in
the computer readable memory:
c.5) in response to a fourth user input to move back to a previous display
of cells of a first matrix during the display of cells of a second matrix
associated with a parser cell in the first matrix:
c.5.1) displays in the plurality of cell positions the cells in the first
matrix including the parser cell; and,
c.5.2) focuses the parser cell to display in the content window of a
preview of the parser cell, the preview including a sequence of previews
for the cells in the second matrix.
5. The user interface of claim 3, further comprising:
a default cell position in the first plurality of cell position that is
automatically focused after a matrix of cells is displayed by the computer
program in response to a second user input on a cell position of focused
parser cell to select the parser cell.
6. The user interface of claim 2, wherein the computer program is further
responsive to a fourth user input to stop the display of content data of a
record cell and focus a cell position in the displayed matrix, such that
the content window displays a preview of the focused cell.
7. The user interface of claim 1, wherein the computer program in the
absence of a user input for a predetermined interval of time automatically
focuses selected ones of the plurality of displayed cell positions in a
predefined order to:
1) display in the content window a preview of a selected focused cell, the
preview of a focused record cell containing second selected data of the
focused record cell, and the preview of a focused parser cell including a
sequence of previews for the plurality of cells in the matrix associated
with the focused parser cell;
2) continue to display in the cell position of the selected focused cell
the first selected data thereof; and,
3) continue to display in the cell position of each non-focused cell the
first selected data of the non-focused cell.
8. The user interface of claim 1, wherein the computer program in response
to a fourth user input updates the cell positions to display the cells of
a first matrix, and focuses a selected parser cell in the first matrix to
cause the display in the content window of a preview of the selected
parser cell, the preview including a sequence of previews for the cells in
the matrix associated with the selected parser cell.
9. The user interface of claim 1, wherein the computer program is
responsive to a fourth user input to accelerate a preview displayed in the
content window.
10. The user interface of claim 1, wherein the computer program is
responsive to a fourth user input to display in a reverse manner a preview
displayed in the content window.
11. The user interface of claim 1, wherein the computer program is
responsive to a fourth user input to increment the display in the content
window to a next preview of a cell in the sequence of previews for the
plurality of cells in the matrix associated with the focused parser cell.
12. The user interface of claim 1, wherein the computer program is
responsive to a fourth user input to decrement the display in the content
window to a previous preview of a cell in the sequence of previews for
plurality of cells in the matrix associated with the focused parser cell.
13. The user interface of claim 1, further comprising:
a user configured matrix of cells containing cells designated by a user;
a user configured parser cell associated with the user configured matrix;
the user configured matrix displayed in the first plurality of cell
positions by the computer program in response to a second user input to
select the user configured parser cell.
14. The user interface of claim 1, further comprising:
at least one matrix in the hierarchical plurality of matrices includes a
search cell, the search cell associated with a search matrix that is
accessed by a second user input to select the search cell in the matrix,
the search matrix including at least one code cell that retrieves record
cells contained only in matrices at or below the matrix containing-the
selected search cell.
15. The user interface of claim 14, wherein the record cells retrieved by
each code cell are contained in a linearized subtree associated with the
matrix that includes the focused search cell.
16. The user interface of claim 14, wherein the search matrix further
comprises:
at least one categorical code cell, having a categorical attribute, for
retrieving record cells in matrices associated with a selected parser
cell, the retrieved record cells having a selected attribute matching the
categorical attribute of with the categorical code cell, wherein the
identification data of the retrieved record cells is displayed in the
content window.
17. The system of claim 1, further comprising:
a second database physically distant to the first database and
communicatively coupled thereto, and including a plurality of records;
at least one matrix in the hierarchical plurality of matrices includes a
search cell, the search cell associated with a search matrix that is
accessed by a second user input to select the search cell in the matrix,
the search matrix including at least one code cell that retrieves records
in the second database.
18. The system of claim 1, wherein the focused parser cell occurs in level
(n) of the database, the matrix associated with the focused parser cell is
in level (n+1), and the sequence of previews for each parser cell (j) in
the matrix associated with the focused parser cell includes a preview of a
(k.sup.th) record cell in a matrix in a level (n+m) below the first
matrix, where m is greater than one.
19. A method for retrieving data from a database, the database organized
through a plurality of hierarchically arranged matrices, each matrix
including any combination of record cells, or parser cells, each record
cell containing data, each parser cell associated with a matrix, the
method comprising:
displaying a first matrix of cell positions, each cell position displaying
identification data of a cell;
receiving an input to focus a cell in a cell position;
responsive to receiving an input to focus, a cell position including
identification data of a record cell, displaying a preview of the record
cell, the preview of a focused record cell containing preview data of the
focused record cell;
responsive to receiving an input to focus a cell position including
identification data of a parser cell, displaying a preview of the parser
cell, the preview of a focused parser cell including a sequence of
previews for the plurality of cells in a second matrix associated with the
focused parser cell;
continuing to display in the cell position of the focused cell the
identification data thereof; and
continuing to display in the cell position of each non-focused cell the
identification data of the non-focused cell.
20. The method of claim 19, further comprising:
automatically and sequentially focusing each of the cell positions in the
first matrix in a defined order.
21. The method of claim 20, wherein the predetermined order is based on an
advertising model.
22. The method of claim 19, further comprising:
receiving an input to select a focused cell position;
responsive to receiving an input to select a focused record cell,
displaying content data of the focused record cell;
responsive to receiving an input to select a focused parser cell,
displaying in the first matrix of cell positions cells in a second matrix
associated with the focused parser cell, automatically focusing a default
cell position in the displayed first matrix, and displaying a preview of
the focused default cell.
23. The method of claim 22, wherein at least one matrix includes a search
cell, further comprising:
displaying in a cell position in a first matrix a search cell;
responsive to receiving an input to focus a cell position including a
search cell, displaying a search matrix, the search matrix including cells
for retrieving record cells at or below the matrix that includes the
focused search cell.
24. The method of claim 19, wherein the focused parser cell occurs in level
(n) of the database, the matrix associated with the focused parser cell is
in level (n+1), and the sequence of previews for each parser cell (j) in
the matrix associated with the first parser cell includes a preview of a
(k.sup.th) record cell in a second matrix in a level (n+m) below the first
matrix, where m is greater than one.
25. The method of claim 19, further comprising:
receiving an input to select one of the previews displayed for the focused
cell; and,
retrieving content data of the record cell having the selected preview.
26. A system providing a user interface for accessing a database,
comprising:
a) a display device for displaying data;
b) a content window on the display device that displays selected data of a
cell;
c) a hierarchical plurality of matrices, each matrix including a plurality
of cells, including record cells or parser cells, each parser cell
associated with a matrix, at least one matrix being displayed to a user
through a plurality of cell positions on the display device, each cell
position associated with a cell in the matrix and displaying
identification data of the cell, each cell in a matrix associated computer
executable methods responsive to a pointing device, including:
c.1) a focus method that receives a first user input to focus the cell, and
in response to thereto:
c.1.1) displays in the content window a preview of the focused cell, the
preview of a focused record cell containing preview data of the focused
record cell, and the preview of a focused parser cell including a sequence
of previews for the plurality of cells in the matrix associated with the
focused parser cell; and,
c.1.2) continues to display in the cell position of the focused cell the
identification data thereof, such that each cell position of a non-focused
cell continues to display the identification data of the non-focused cell.
27. The system of claim 26, wherein each cell further comprises:
c.2) a select method that receives a second user input to select the cell,
and in response thereto:
c.2.1) where the selected cell is a record cell, either:
c.2.1.1) initiates in and continues to display in the content window
content data included in the record cell while continuing to display in
each cell position of each non-selected cell the identification data of
the non-focused cell; or,
c.2.1.2) removes all displayed cell positions, and initiates and continues
to display at full screen size of the display content data included in the
record cell;
c.2.2) where the selected cell is a parser cell, displays in the plurality
of cell positions on the display device cells of the matrix associated
with the selected parser cell, and focuses one of the cell positions,
displaying a preview of the focused cell in the content window.
28. The system of claim 26, wherein each cell further comprises:
c.3) a play method that receives a third user input to play a focused cell,
and in response thereto:
c.3.1) where the cell is a parser cell, the preview of which includes
preview data of a record cell displayed in the content window at a time
when the third user input is received, either:
c.3.1.1) initiates in and continues to displays in the content window,
content data included in the record cell which is displayed in the content
window at the time when the third user input is received, such that each
cell position of each non-selected cell continues to display the
identification data of the non-selected cell; or,
c.3.1.2) removes all displayed cell positions, and initiates and continues
to display at full screen size of the display device content data included
in the record cell.
c.3.2) where the cell is a record cell, either:
c.3.2.1) initiates in and continues to displays in the content window
content data included in the record cell such that each cell position of
each non-selected cell continues to display the identification data of the
non-selected cell; or,
c.3.2.2) removes all displayed cell positions, and initiates and continues
to display at full screen size of the display device content data included
in the record cell.
29. The system of claim 26, wherein:
each matrix is associated with a computer executable method that in the
absence of a user input to a cell in the matrix for a predetermined
interval of time when the matrix is displayed on the display device,
automatically invokes the focus method of particular ones of the plurality
of displayed cell positions in a predefined order, such that the preview
of each particular ones of the cells is displayed in the content window.
30. The system of claim 26, wherein each cell includes a method that
accelerates a preview of the cell displayed in the content window.
31. The system of claim 26, wherein each cell includes a method that
displays in a reverse manner a preview of the cell displayed in the
content window.
32. The system of claim 26, wherein each parser cell includes a method that
displays in the content window a next preview of the cell in the sequence
of previews for the plurality of cells in the matrix associated with the
parser cell.
33. The system of claim 26, wherein each parser cell includes a method
displays in the content window a previous preview of a cell in the
sequence of previews for plurality of cells in the matrix associated with
the focused parser cell.
34. The system of claim 26, wherein each matrix further comprises:
a default cell of which the focus method of the cell is automatically
invoked after the matrix is displayed on the display device, such that the
preview of the default cell is displayed in the content window.
35. The system of claim 26, further comprising:
a user configured matrix of cells containing cells designated by a user;
a user configured parser cell associated with the user configured matrix;
the user configured matrix displayed on the display device in response to
a second user input to select the user configured parser cell when a
matrix containing the user configured parser cell is displayed on the
display device.
36. The system of claim 26, wherein:
at least one matrix in the hierarchical plurality of matrices includes a
search cell, the search cell associated with a search matrix that is
accessed by a second user input to select the search cell in the matrix,
the search matrix including at least one code cell, each code cell
including a computer executable method that retrieves record cells
contained only in matrices at or below the matrix containing the selected
search cell.
37. The system of claim 34, wherein computer executable method of a code
cell retrieves record cells in a linearized subtree associated with the
matrix that includes the focused search cell.
38. The system of claim 34, wherein the search matrix further comprises:
at least one categorical code cell, having a categorical attribute, the
categorical code cell including a computer executable method that
retrieves record cells in matrices associated with a selected parser cell,
the retrieved record cells having a selected attribute matching the
categorical attribute of with the categorical code cell, wherein
identification data of the retrieved record cells is displayed in the
content window.
39. The system of claim 26, wherein the focused parser cell occurs in level
(n) of the database, the matrix associated with the focused parser cell is
in level (n+1), and the sequence of previews for each parser cell (j) in
the matrix associated with the focused parser cell includes a preview of a
(k.sup.th) record cell in a matrix in a level (n+m) below the first
matrix, where m is greater than one.
40. A system providing a user interface to a database, comprising:
a) a processor;
b) a database including a hierarchical plurality of matrices, each matrix
including a plurality of cells, the plurality of cells including leaf
cells or parser cells, each parser cell associated with a subordinate
matrix of cells, including leaf cells and parser cells, in the plurality
of matrices;
c) a display device;
d) a computer program stored in a computer readable memory, and executable
by the processor, that:
i) displays on the display device cells in a first matrix; and,
ii) in response to a first user input to focus a displayed parser cell of
the first matrix, displays on the display device concurrently with the
focused parser cell and at least one non-focused cell in the first matrix,
a first sequence of previews of cells in at least one second matrix
subordinate to focused parser cell the first matrix.
41. The system of claim 40, wherein the computer program:
iii) in response to a second user input to select a focused parser cell,
removes the displayed cells of the first matrix, and displays the cells in
the subordinate matrix associated with the focused parser cell, and
focuses one of the displayed cells of the subordinate matrix to display a
preview of the focused cell concurrently with the cells of the subordinate
matrix.
42. The system of claim 40, wherein the computer program:
iv) in the absence of a user input for a predetermined interval of time
automatically focuses selected ones of the of displayed cells in a
predefined order, and for each of the focused cells, displays a preview of
the focused cell.
43. The system of claim 40, wherein the computer program:
v) in response to a third user input to play a leaf cell, the preview of
which is being displayed in response to a first user input to focus a
parser cell in the first matrix, removes all displayed cells, and
initiates and continues to content data included in the leaf cell. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to the field of viewer interfaces,
and more particularly to viewer interfaces for accessing multimedia
databases.
2. Description of the Background Art
Continuing advances in computer based information storage, retrieval, and
telecommunication technologies promise to make large-scale multimedia
databases available to a broad spectrum of consumers. Until recently,
commercially available databases were limited to providing access to
textual information. Now information providers can store and retrieve for
online users graphic images, and current developments will enable the
storage and retrieval of video and audio data in real time from large
collections of such works. Additionally, improvements in
telecommunications will enable such databases to be accessed by an ever
increasing number and variety of users through computers or televisions
connected to the databases of information providers. Database vendors will
need to provide viewer interfaces for such multimedia databases that
enable consumers to rapidly and efficiently access specific products or
services, such as motion pictures, news articles, audio recording,
entertainment items, or the like, that are stored in the database. The
design of such viewer interfaces requires addressing a number of issues
relating to viewer behavior, database size, and system constraints.
User behavior in accessing large databases can be described as falling into
one of two categories: "searching" or "browsing." A viewer's behavior
typically changes depending on the viewer's mood and perception of the
information space--the amount and organization of information in the
database--the system's response characteristics, and many other variables.
All users demonstrate both kinds of behavior at various times.
Searching involves attempting to locate a specific item, such as the movie
"Rear Window," or a specific product, for example, a red plaid medium
sized shirt from L. L. Bean, typically by specifically identifying the
item of interest. Browsing, by contrast, involves the exploration of
various categories of information, such as movies in the "Drama" category
or types of casual clothing. Conventional viewer interfaces tend to
support a preferred mode of accessing records, either through searching or
browsing, which limits the flexibility and adaptability to various users
and viewer behaviors. A flexible user interface for a multimedia database
should enable efficient searching and browsing, or any combination of
behaviors at any time, rather than forcing the viewer to use on approach
over the other.
The first class of problems in designing viewer interfaces for efficient
browsing results from the sheer size of current and future multimedia
databases. Databases providing movies, audio recordings, and new items are
likely to have tens of thousands to hundreds of thousands of records in
various categories. A user interface should therefore provide for an
efficient way to sift through these records in order to locate a specific
record in a timely manner.
One method commonly used in viewer interfaces for browsing are hierarchical
menus, which are typically text based, but also can be iconographic.
Hierarchical systems in general are an efficient way of organizing many
records, because they partition the information space of the database into
discrete and meaningful segments. Typically, the database is
hierarchically arranged into various topical areas, with numerous
subtopics, and related records.
However, typical hierarchical menus require the viewer to repeatedly input
or select sequential text strings or icons to go "deeper" into the various
levels of the database in search of the desired record. Conventionally,
only one level of the hierarchy is available to the viewer at any given
time, from which the viewer selects one of a number of presented items in
order to access the next level of the database. Since the viewer can
select only from the choices that are available in the current level of
the database, and since only one level is available at a time,
conventional browsing can be taxing for the novice viewer who must make
guesses about where in the hierarchy a desired record or type of record
resides. The viewer has no way of knowing what records reside in the
lowest levels of the database without actually selecting a menu and
traversing to the lower level menus. This is true even with iconographic
menus, which generally show only icons for one level of the database at
any given time.
Assume, for example, a database offering various entertainment services,
including movies from various providers, and in numerous categories. A
typical viewer may be interested in browsing for a movie to watch, but
does not have a particular movie genre in mind. In a conventional
interface, if the viewer is at a menu of movie genres, such as "Westerns,"
"Horror," "Drama", "Science Fiction," and the like, the viewer typically
has no information about what specific movies are included in each
category. Thus the viewer has to select "Drama" to get a list of movie
titles. Typically, little or any information about individual movies is
provided. If the list does not contain anything of interest, the viewer
has to move back up to the genre menu, and proceed to the next category.
This repeated selection process can be very time consuming for extremely
large databases, thereby inhibiting exploration, and thus use of the
database, and leading to viewer dissatisfaction.
The above example illustrates some of the problems with conventional
hierarchical menu interfaces. The viewer must learn the structure of the
database either by reviewing printed codes or repeated usage. In the
latter case, the viewer's knowledge is limited to an understanding of only
the various branches of the hierarchy the viewer has previously explored.
Further, the active involvement required to make the repeated selections
or inputs can be fundamentally foreign to certain groups of users.
Television viewers typically prefer a passive relationship to their
content source (e.g. TV programs), where only very limited active
searching by the viewer is necessary. Such users typically will not invest
the effort necessary to explore and use a conventional database using
hierarchical menus.
Another significant problem is the "depth," or number of levels, with which
it is necessary to organize very large databases, even where the records
are organized by one or more criteria. The depth of the database compounds
the repeated selection problem, further impeding browsing by the viewer. A
related problem is heterogeny of data. In today's large multimedia
databases, media types may vary from text and static graphics, to full
color photographs, computer animations, full motion video, and stereo
quality audio, with all possible permutations. Conventional text based
hierarchical menus cannot adequately represent or describe the various
types of media found in large multimedia databases, limiting the viewer's
understanding of the available content, and impeding exploration of the
database.
User interfaces designed for searching also encounter various problems when
applied to multimedia databases. Again, the large number of records in
such databases can make it difficult to precisely and quickly locate a
particular record. Searching generally requires alphanumeric input
capabilities in order to allow the viewer to precisely identify the item
of interest. Alphanumeric input requires specific input devices, either
keyboards, mice, or the like, which limits the accessibility of the
database to users with the required components, and thus prevents use by
those potential users who do not already possess the required hardware.
While keyboard based interfaces allow rapid text entry, they limit the
application of the interface to computer based systems. Iconographic
interfaces that provide simulated keyboards, with either alphabetical
letter strings, or pictographic typewriters are very slow and error prone,
severely hampering text entry. In addition, efficient searching requires
the ability to concatenate searches, for example, performing a first
search for all movies, and then all Hitchcock films, and finally selecting
the movie "Rear Window" from a list of Hitchcock films. Thus systems that
require a specific designation of a record do not satisfy the needs of
viewer to incrementally narrow a search set to locate a specific item.
An additional concern of both searching and browsing interfaces, is that
regardless of the depth or breadth of the database, it should be possible
for the viewer to place records at viewer-determined positions so that the
viewer can organize information within the database to facilitate
immediate access to frequently used data. Conventional interfaces offer
little customization by the viewer, at best, allowing the viewer to save
previous search results, or simple preferences. Further, to the extent
that conventional interfaces allow customization, they do so using a
distinct set of commands and operations that are typically unrelated to
the actual commands for accessing the database. That is, the user must
learn one set of operations for retrieving records from the database, and
a separate set of commands for customizing the interface. This increases
the apparent complexity of the interface to the user, requiring the user
to invest a greater effort to learn the various commands, and thereby
discouraging the passive, casual user from customizing the interface.
In conventional databases that provide records of different types, the sets
of data associated with various categories, or data types may have
differing levels of granularity. Thus where it is meaningful to organize
the records of one data type into five hierarchical levels, for example,
it may be meaningful to organize another data set into only two levels.
Conventional databases provide no standard mechanism that is independent
of the actual data, for accommodating these differing levels of
granularity in a manner transparent to the viewer. Rather, where there is
a high level of granularity, the viewer typically must make numerous
selections to narrow the data set to identify a desired record.
There are various other concerns that must be addressed during the design
of a user interface. Given the breadth of potential users with different
hardware, such as computers or televisions, there is a very limited
ability to rely on the use of specific input devices for operating the
user interface. Conventional viewer interfaces for databases generally
require a computer, and either a keyboard for text input, a mouse for
iconographic input, or both. These components are still found in only a
small number of homes, and even there, are fixed to specific computers and
operating systems that may not be interoperable with the service
provider's database and computer system. Also, while computer and
telecommunication systems are becoming increasing powerful, there are
still serious computational and transmission limits that constrain the
type of information the user interface can convey to the viewer at any
given time; this is especially true for databases which will be accessed
by thousands of users simultaneously. Limited bandwidth and transmission
speeds limit many viewer interfaces to simple text driven interfaces, that
suffer from the above described problems.
Finally, conventional viewer interfaces are generally designed to offer the
products or services of a single service provider, and thus offer little
flexibility to accommodate multiple, potentially competitive providers.
Conventional interfaces do not offer a usage model that can be used to
develop fee structures based on the usage patterns of users. While users
may use a given interface in a particular manner, accessing certain
records or categories more frequently than others, conventional databases
do not lend themselves to a model of use that can determine relative
pricing for "placing" records at various points in the database.
In addition, because conventional databases are designed primarily around
one service provider's data, the interfaces are typically specifically
adapted to search through the provider's database and its internal data
structures. Accordingly, because of the integration of the data with the
interface, there is little flexibility in the interface for accessing
database of multiple database vendors having a variety of different
underlying databases.
Accordingly, it is desirable to provide a user interface which overcomes
the limitations of existing viewer interfaces. A desirable user interface
will enable the viewer to see various levels of the hierarchy at once, so
that the viewer can determine if a given category of information is
desirable based on actual records in the category, and not merely on a
textual or graphic label for the category. Further the user interface
should allow direct access to specific records from any number of levels
"above" the level to which the record is formally linked. This overcomes
the repeated selection problem and the disparities of granularity among
data sets, and provides for instantly "flattening" the hierarchical
structure of the database. The user interface also should enable viewers
to navigate readily throughout the database, providing the above described
information, while informing viewers of "where" they are in the database,
and how they can return to where they started or from where they most
recently came.
A desirable user interface will enable a viewer to determine the contents
of any record in a standard fashion, using standard techniques for the
heterogeneous data types. In addition, the viewer will be able to rapidly
view and compare a plurality of like records when deciding on which record
to access. A successful user interface will thus bring the disparate
records, or programs, to the viewer, without requiring the viewer to
actively search while in a passive viewing state.
It is also desirable for a user interface to make only limited assumptions
about the capabilities of input devices available. The user interface
should thus be manipulable without requiring hardware that is unlikely to
be readily available to the majority of users. Similarly, the user
interface should accommodate the resource limitations and communications
or processor demands from the rapid searching and display of multimedia
data types by multiple users.
Further, it is desirable to provide an interface that can access a number
of different databases provided by differing vendors, while offering a
common interface and set of operations to the user. This separates the
user interface from the underlying design of the databases, and affords
the user access to a larger universe of information without the increased
need to learn to use multiple interfaces.
Additionally, it is desirable for the user interface to offer a standard
arrangement of records to enable business opportunities and advertising
sales by the service provider to various database vendors based on the
value of given locations within the user interface according to a model of
viewer usage. In conjunction with such business opportunities, the
interface should allow multiple points of access to the records of a given
vendor, thereby allowing those vendors who purchase more locations in the
interface to achieve greater visibility to the user. In addition, multiple
points of access provide increased efficiencies by reducing redundant data
storage.
Finally, a successful user interface will enable its viewers to easily
identify and configure their own data sets for easy access to frequently
used records. The user interface should allow configuration in a manner
that is entirely consistent with the methods of use provided by the
interface, thereby reducing the burden on the viewer in learning a variety
of distinct operations, and encouraging customization by casual or more
passive users.
SUMMARY OF THE INVENTION
A user interface provides access to a large database of records. The
interface is comprised of a hierarchical plurality of matrices, each
matrix including cells. One matrix is displayed to the viewer, showing the
cells of the matrix. The interface includes a content window for
displaying either previews or the content of records. The viewer can focus
on a cell in the matrix, thereby displaying a preview of the focused cell
in the content window. Upon seeing a preview of interest, the viewer can
select the focused cell, causing either the contents of the focused cell
to be retrieved in full, or the matrix of cells currently displayed to be
updated to show a new matrix associated with the focused cell. Once the
new matrix is displayed, a new series of previews is displayed, and again
the user may focus and select various cells in the displayed matrix.
Navigation commands enable the viewer to navigate between the levels of
the database, and to increase or reverse the display of previews, and to
skip forwards or backwards between previews. Also, the interface provides
for searching for selected cells using search cells that filter the titles
of cells that are available at or below the level of the database that
viewer is currently viewing. The user can then select a desired item for
retrieval.
The user interface supports various methods of accessing a database,
including the steps of focusing a cell, displaying a preview of a focused
cell, and selectively retrieving data of a focused cell. Further
refinements of the method include continuously determining if there is a
user input during the display of a preview, and if not, then displaying a
preview of a next cell. The viewer may select a focused parser cell, and
thereby update the displayed matrix to show the cells in the matrix
associated with the focused parser cell.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1A-1H are various illustrations of the matrix architecture user
interface of the present invention;
FIG. 2 is an illustration of the hierarchical structure underlying the
matrix architecture user interface.
FIG. 3 is an illustration of the modes of operation for the matrix
architecture user interface;
FIG. 4 is a flowchart of the focus command;
FIG. 5 is a flowchart of the select command;
FIG. 6 is a flowchart of the play command;
FIG. 7 is a flowchart of the stop command;
FIG. 8 is a flowchart of various movement commands;
FIG. 9 is a flowchart of the set-up mode for the user configured matrix;
FIG. 10 is an illustration of one environment of the preferred embodiment;
FIG. 11 is a flowchart of the operation of a software application for
implementing the matrix architecture user interface of the present
invention; and
FIG. 12 is a diagram of the object classes used in a preferred embodiment
of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Structure of the Matrix Architecture User Interface
The Matrix Concept and the Hierarchical Data Structure
The matrix architecture user interface of the present invention is modeled
on the concept of a hierarchical database. The database is organized using
a series of matrices, each matrix including a number of cells, and each
cell in a matrix associated with either a record in the database or a
further matrix of cells. The matrix architecture user interface provides
methods for rapidly and easily browsing through various topical areas, or
searching for individual records in such a hierarchical database,
overcoming the limitations of existing viewer interfaces to large
databases.
Referring now to FIG. 1A, there is shown an embodiment of the matrix
architecture user interface of the present invention for accessing large
multimedia databases. The matrix architecture user interface 101 includes
a displayed matrix 103 of cells 105, and a content window 107. Though
there are numerous matrices in the database, only one matrix 103 is
displayed at a time to the viewer. The displayed matrix 103 changes
according to the viewer's inputs as the viewer accesses different parts of
the underlying database.
The matrix arrangement of the cells 105 defines a serial ordering for the
cells 105, the ordering defining a sequence by which a viewer can access
each of the cells 105 displayed in the interface using a pointing device
(not shown). In the preferred embodiment the ordering is from left to
right, top to bottom, the top left cell being the first cell, and the
bottom right cell being the last cell. FIG. 1A shows numbering indicative
of the ordering of the cells 105 in the preferred embodiment, with the
various cells 105 labeled 1 through 12. The ordering is circular in that
the first cell 105 in the upper left hand corner is assumed to also be
next to the last cell 105 in the lower right, such that navigating from
the last cell places the viewer at the first cell. Other orderings of the
cells are possible, and the matrix architecture user interface 101
provides for customization of the ordering according to the needs of the
service provider. The service provider can define the order based on the
frequency of use for the various cell positions, and can accordingly model
a fee structure for selling advertising or content in each cell based on
the cell position in the matrix 103. One benefit of the matrix
architecture user interface 101 is that regardless of how the serial
ordering is defined, there will always be readily identifiable patterns of
access that the service provider can use in determining a pricing
structure.
The displayed matrix 103 shows one portion of a hierarchical data structure
based on the service provider's database of records. This hierarchical
structure is composed of four different types of cells 105, specifically
record cells, parser cells, search cells, and code cells. The hierarchical
data structure underlying the matrix architecture user interface 101 is
provided by the parser cells. Each parser cell is associated with a
specific subset of cells in a next lower level of the database, also
called a matrix 104, which may include parser cells, record cells, search
cells, or code cells, or any combination thereof. Only one matrix 104 is
displayed at a time to the viewer, through the use of various navigation
and operational commands further described below. The database is
hierarchical because a parser cell may be associated with a matrix 104
including other parser cells in the next lower level of the database. (In
the remainder of this disclosure, the term "the matrix 103" refers to the
matrix displayed to the viewer at any given time, and the terms "matrix
104" or "matrices 104" refer to any matrix or number of matrices in lower
levels of the database not currently displayed to the viewer. Since all of
the matrices shown in FIGS. 1A-G are shown as displayed, they are
referenced individually as "the matrix 103", but it should be clear from
the foregoing that each is a separate and distinct matrix 104 when it is
not displayed to the viewer.)
It is important to realize the distinction between the cells and the
matrices as constituting a hierarchical database, and thereby a logical
structure, and the visual representation of the cells and matrices when
displayed to the viewer. Accordingly, in the preferred embodiment each of
the cells 105, the content window 107, and the overall matrix 103 as
displayed are rectangular in shape, and of 3:4 proportion, as is typically
found in televisions sets conforming to the NTSC standard. However, the
shape and size of the cells and content window 107 and the visual
arrangement of the matrix 103 can vary. For example, in various
embodiments, the cells 105, matrix 103, or content window 107 can be
square, or even circular, or any other shape found suitable by the service
provider. Further, the matrix 103 need not surround the content window
107, but may take any arrangement suitable to the service provider's
needs. Regardless of the visual appearance of these elements, the
underlying hierarchical arrangement of the database is the same, as is the
functional operation of the matrix architecture user interface 101.
The hierarchical structure can be understood from the following example, In
| | |