# Patent

## Title
Method of inserting and removing information elements in ordered information element arrays

## Abstract

The present invention provides solutions to the potential undesirable effects the insertion and removal of information elements and documents may have on arrays and axes of information elements using a collation function to determine the position of information elements thereon. The invention can be effectuated as a method, a device and an apparatus carrying out the method described herein.

## Background
CROSS-REFERENCES
The present invention relates to and claims priority from U.S. Provisional Patent Application No. 61/538,879, filed Sep. 25, 2011, entitled METHOD AND APPARATUS FOR DISPLAYING INFORMATION ELEMENT AXES, which is incorporated herein by reference in its entirety.


BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computer systems adapted to insert information elements in information element axes. The present invention more specifically relates to methods and apparatuses for reducing and preventing confusion when information elements are inserted in displayed array of information elements.
2. Description of the Related Art
Axes of documents present documents thereon in a predetermined fashion. They are displayed on the axis in a collated manner; that is, they are sorted on an axis in a specific order, often chronological. Moreover, documents displayed on these axes share one or more attributes. The attribute is a certain descriptive element ascribed to a document by a user.
A document can have one or more attributes. For example, one's picture taken on a vacation trip to Mexico can have the following attributes: “Mexico 2012 trip,” “Mary and the dog on the beach,” and “June 2012 cocktail party.” The picture, therefore, was taken during someone's trip to Mexico, which took place sometimes in June of 2012. Moreover, this picture is one where Mary, the protagonist of the picture, is with her dog on the beach.
The number of documents displayed on an axis varies. The length of the axes upon which these documents are displayed fluctuates as well in dependence of the number of documents they contain. Given their nature and purpose to graphically display the documents of which they are composed, axes' actual lengths differ in dependence of the number of documents they have. Some axes might have as little as one document, while others might contain more.
Axes are visible on a display area, for example, a computer screen. The display area can reveal more than one axis at a time. Some axis, with a small number of documents, can be fully displayed on the display area, as their lengths are relatively short and can easily fit within the frame of the display area. Others, however, which have a relatively high number of documents, cannot be fully shown on the display area and, therefore, are partially visible on a display area. The viewer, consequently, can access the non-displayed documents of the axes by scrolling to the right or to the left of the display area in dependence of the location of the document(s) searched.
Changes made to documents in an axis can drastically change the location of the documents on the respective axis. For example, if a certain axis contains “10” documents, and if “20” more of such similar documents are added to the respective axis within a small time frame (a few seconds), the initial “10” documents which were present on the axis can either be dislocated to the right or the left sides of the axis so that the other “20” documents can now be aligned on the axis. The axis becomes larger as a result of this very addition of documents.
Similarly, documents can also be removed from a certain axis. If the initial number of documents on an axis were “30” and if “20” documents were simultaneously removed from the axis, the remaining “10” documents would be subject to an automatic movement towards the center of the axis.
Documents are added on an axis when they receive one attribute that defines the rest of the documents on that respective axis. Documents are removed or, consequently, deleted from an axis when they are no longer defined by the attribute that once linked them to that respective axis.
The addition and the removal of documents on an axis are less significant to the viewer when the specific axis is not visible on the display area. Stating differently, if someone were to look at an axis containing five documents sharing the common attribute “higher education in Canada” (the five documents being all displayed on the display area), s/he would not notice any changes on the visual display if “20” other documents were simultaneously being added to two other axes nonvisible on the display area. This scenario, however, would not apply if the same “20” documents were being added to the axis with the five documents on “higher education in Canada”. The viewer would notice the graphical enlargement of the axis displayed on the screen as a result of this addition. Moreover, the initial five documents on the axis would be consequently displaced either to the right or left of the axis to provide the necessary space for the new documents' addition.
Changes in the number of documents present on an axis are, therefore, more significant to the viewer when the axis is visible on the display area. By significant, one refers to the effects these changes can have on the viewer(s). Document displacements on the display area can lead to various undesirable consequences to the viewer, such as loss of focus on a document(s); occurrence of at least one unintended error in the viewing, modification and/or management of a document(s); possible disorientation, perplexity and/or puzzlement of the viewer caused by the change in the layout of document(s); and unforeseen and unintended dissatisfaction and frustration of the viewer. These are mere examples, and do not embody the total number of possible outcomes that might arise as a result of document displacements and/or axes dislocations on the display area.
Documents dislocations on axes may cause the axes to displace. Stated differently, axes to which documents were inserted and/or removed may move themselves to the right or to the left of the display area in order to adjust to the updated number of documents they contain. This phenomenon, also, can cause unwanted consequences on the viewer, some of which were listed above.
A user can manage one's own documents. In other words, one can add and/or remove documents from an axis. This axis may or not be visible on the display area. Its visibility on the display area is caused by the user's exploration of one or more of its documents on the display area.
Moreover, a user can manage attributes associated with these respective documents. When the managing of attributes by the user does occur, significant changes in the way documents are sorted, and, therefore, listed on an axis can occur. Documents on an axis may be dislocated to the right or to the left of the axis.
Needless to say, there is a positive correlation between the number of documents added and/or removed on a certain axis and the potential undesirable impact these changes have on the user. The greater is the number of documents that are added or removed from an axis, the greater is the impact on the layout and the graphical display of the documents on this axis.
More than one user can manage and share documents on a specific axis at a given time. By “sharing,” on refers to the act of holding the right to assign and/or remove attributes to documents. For example, a first user can manage one's attributes. However, the association and/or disassociation of attributes will affect another user. Needless to explain, the impact of these changes can be significant, especially when the other user views on the display area an axis or several axes presenting documents associated with the attributes subjected to simultaneous changes by another user.
Documents can modify their location on the axes in a precipitous manner and without prior warning. This increases the likelihood of confusion and frustration caused to the viewer of these axes, both most likely arising from the potential unintended error(s) one can commit as a result of these sudden changes on the axes.
It is therefore highly desirable to have a mechanism preventing or reducing confusion and frustration caused by the addition and/or removal of documents from displayed axes.
It is also desirable to orderly present the changes on the axes visible on the display area, in order to help the viewer understand the changes that are taken place.
It is yet desirable to display warnings of the changes that are occurring on the axes as a result of the addition and/or removal of the documents and to offer the viewer of the display area choices of actions matching one's needs.
It is desirable, also, to inform the viewer of the number and identity of the user(s) who have added and/or removed documents on the displayed axes.
Moreover, it is also necessary to have a system that would analyze and assess the viewer's behavior in respect to the display area in order to decide the best action(s) to be undertaken in terms of the location where a document or documents may be best added and/or removed on axis shown on the display area so that its/their insertion and/or removal would cause little or no undesirable effects on the viewer.
It is equally desirable to offer the viewer the proper means to control and manage the number of, and time when, at least modifications to documents viewable in the display area can take place.
Other deficiencies will become apparent to one skilled in the art to which the invention pertains in view of the following summary and detailed description with its appended figures.
SUMMARY OF THE INVENTION
One aspect of the present invention aims to alleviate one or more of the shortcomings of the background art by addressing one or more of the existing needs in the art.
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
The invention is generally described as a method, a system, a device and/or a graphical user interface used to represent multiple computer files, documents, or other data on axes in an axis-based graphical user interface (GUI).
Aspects of our work provide a method and system preventing and reducing viewer's confusion and potential errors the viewer might commit when documents are added or removed from displayed axes. The system allows the viewer to efficiently navigate the documents on axes present on the display area, or a portion thereof, when additional documents are being added and/or removed on the displayed axes simultaneously and/or at later time. This is made possible by the indications provided by the system concerning these modifications and by the means to manage these modifications accordingly, in accordance with at least one embodiment.
One aspect of the instant invention provides a method, an apparatus and a graphical user interface adapted to present arrays of documents as a single axis, row, or column or a plurality thereof, and in which the distribution of documents is graphically affected by the addition and/or the removal of other documents therefrom. The respective method, apparatus and graphical user interface allow for a smooth transition from the original graphical layout of documents to the final one, caused by the addition and/or removal of documents therefrom, in accordance with at least one embodiment.
Another aspect of the invention provides a method and a system intended for the user to be warned and, consequently, offered choices of action in light of the addition and/or removal of documents on the displayed axes, in accordance with at least one embodiment.
Another aspect of the invention offers a method and a system where the displayed longitudinal side of the axis wider to the pointing device remains motionless on the screen and the opposite longitudinal side of the axis adjusts to make room for the new documents to be displayed or removed from an axis, in accordance with at least one embodiment.
Another aspect of the invention presents a method, a system and a graphical user interface where the displayed longitudinal side of the axis in respect with the insertion location remains fixed on the screen while its opposite side adjusts to make room for new documents to be displayed and/or removed on the axis, in accordance with at least one embodiment.
The present invention provides a mechanism adapted to prevent a viewer of displayed documents from being confused by the modifications caused to the documents by another user. Given that these modifications are not performed by the viewer, the latter may find them confusing, especially when documents' presence (and lack thereof) and location on a specific axis are being subject to constant and impromptu changes, in accordance with at least one embodiment.
In one aspect of the invention, the user can decide a fixed and/or maximum space one would allow for supplementary documents to be added and/or removed from a specific axis shown on the display area, in accordance with at least one embodiment.
A further aspect of the instant invention provides a functionality adapted to move and or/remove documents shared by another user immediately and/or after a predetermined delay, in accordance with at least one embodiment.
Another aspect of the present invention provides a functionality adapted to display the added and/or removed documents in an expanded or contracted manner, and/or or within a fixed set space, dictated or not by the viewer, in accordance with at least one embodiment.
In one other aspect of the instant invention, a mechanism is provided to identify the documents that have been added and/or removed from a specific axis as a result of the actions of another user(s), in accordance with at least one embodiment.
One aspect of the invention provides a method of managing movements of information elements on an array of information elements, the method comprising: displaying a plurality of information elements on the array of information elements on a basis of a collation function; adding at least one information element to the plurality of displayed information elements; identifying a collation position of the at least one information element on the array of information elements; moving at least some of the displayed plurality of information elements on the array of information elements in a direction on a basis of a reference to create a space for displaying the added at least one information element on the array of information elements; and displaying the added at least one information element to the array of information elements at its collection position on the array of information elements, in accordance with at least one embodiment.
One other aspect of the invention provides a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a computer, cause the computer to perform operations for managing documents in relation with representations of objects displayed with a computer, the operations comprising: displaying a plurality of information elements on the array of information elements on a basis of a collation function; adding at least one information element to the plurality of displayed information elements; identifying a collation position of the at least one information element on the array of information elements; moving at least some of the displayed plurality of information elements on the array of information elements in a direction on a basis of a reference to create a space for displaying the added at least one information element on the array of information elements; and displaying the added at least one information element to the array of information elements at its collection position on the array of information elements, in accordance with at least one embodiment.
An aspect of the present invention provides a device, comprising a processor configured to present a graphical user interface for displaying and managing information elements, the graphical interface comprising areas adapted to provides the operations comprising: displaying a plurality of information elements on the array of information elements on a basis of a collation function; adding at least one information element to the plurality of displayed information elements; identifying a collation position of the at least one information element on the array of information elements; moving at least some of the displayed plurality of information elements on the array of information elements in a direction on a basis of a reference to create a space for displaying the added at least one information element on the array of information elements; and displaying the added at least one information element to the array of information elements at its collection position on the array of information elements, in accordance with at least one embodiment.
Each of the embodiments of the present invention has at least one of the above-mentioned objects and/or aspects, but does not necessarily have all of them. It should be understood that some aspects of the present invention that have resulted from attempting to attain the above-mentioned objects may not satisfy these objects and/or may satisfy other objects not specifically recited herein.
Additional and/or alternative features, aspects, and advantages of embodiments of the present invention will become apparent from the following description, the accompanying drawings, and the appended claims.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustration of an exemplary network;
FIG. 2 is a schematic illustration of an alternate exemplary network;
FIG. 3 is a schematic illustration of an exemplary computer system;
FIG. 4 is a schematic illustration of an exemplary software system;
FIG. 5 is a schematic illustration of an axis-based interface and operating system;
FIG. 6 is a schematic illustration of an exemplary axis layout;
FIG. 7 is a schematic illustration of a linear and non-linear axis configurations;
FIG. 8 is a schematic illustration of an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 9 is a schematic illustration of an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 10 is a schematic illustration of an exemplary axis layout with three display areas thereon in accordance with an embodiment of the present invention;
FIG. 11 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 12 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 13 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 14 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 15 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 16 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 17 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 18 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 19 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 20 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 21 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 22 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 23 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 24 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 25 is a schematic illustration of a magnified display area partially showing an exemplary axis layout in accordance with an embodiment of the present invention;
FIG. 26 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 27 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 28 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 29 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 30 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 31 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 32 is a schematic illustration of an exemplary linear axis layout in accordance with an embodiment of the present invention;
FIG. 33 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 34 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 35 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 36 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 37 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 38 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 39 is a schematic illustration of a group of axes layout in accordance with an embodiment of the present invention;
FIG. 40 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.
FIG. 41 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.
FIG. 42 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.
FIG. 43 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.
FIG. 44 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.
FIG. 45 is an exemplary flowchart of one of the methods based upon which several aspects of the present invention are based.



DESCRIPTION OF EMBODIMENT(S) OF THE INVENTION
Our work is now described with reference to the figures. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention by way of embodiment(s). It may be evident, however, that the present invention may be practiced without these specific details. In other instances, when applicable, well-known structures and devices are shown in block diagram form in order to facilitate describing the present invention.
The features provided in this specification mainly but might not exclusively relate to principles of computer software and machine-readable code/instructions adapted to instruct a computer, many computers or other machines adapted to use the instructions to provide material effects on a display, or other means enabling human-computer interactions to manage documents, menus, user-selectable elements and other computer files. These code/instructions are preferably stored on a machine-readable medium to be read and acted upon with a computer or machine having the appropriate code/instructions reading capability.
FIG. 1 illustrates an exemplary network 10 in which a system and a method, consistent with the present invention, may be implemented. The network 10 may include multiple client devices 12 connected to multiple servers 14, 16, 18 via a network 20. The network 20 may include a local area network (LAN), a wide area network (WAN), a phone network, such as the Public Switched Phone Network (PSTN), an intranet, the Internet, Wi-Fi, WiMAX or a combination thereof. Two client devices 12 and three servers 14, 16, 18 have been illustrated as connected to network 20 for simplicity. In practice, there may be more or less client devices and servers 14, 16, 18. Also, in some instances, a client 12 device may perform the functions of a server 14, 16, 18 and a server 14, 16, 18 may perform the functions of a client 12 device.
The client devices 12 may include devices such as mainframes, minicomputers, personal computers, laptops, personal digital assistants, phones, or the like, capable of connecting to the network 20. The client devices 12 may transmit data over the network 20 or receive data from the network 20 via a wired, wireless, or optical connection.
The servers 14-18 may include one or more types of computer systems, such as a mainframe, minicomputer, or personal computer, capable of connecting to the network 20 to enable servers 14-18 to communicate with the client devices 12. In alternative implementations, the servers 14-18 may include mechanisms for directly connecting to one or more client devices 12. The servers 14-18 may transmit data over the network 20 or receive data from the network 20 via a wired, wireless, or optical connection.
In an implementation consistent with the present invention illustratively embodied herein, the servers 14-18 may include a search engine 22 usable by the client devices 12. The servers 14-18 may store documents 200, such as web pages, accessible by the client devices 12.
With reference to FIG. 2, a network 20 includes the content cloud 30, a content database 32, content devices 34-38, and other devices 40-48. The network mediator 28 enables network devices 34-48 to communicate with each other without pre-configuring each device 34-48. The content cloud 30 represents a content source such as the Internet, where content exists at various locations across the globe that could be reached through a wired connection and/or with a wireless connection provided by an antenna 26. The content includes multimedia content such as audio and video. The mediator 28 allows the content cloud to provide content to devices 34-48. The database 32 is a storage device 166 that maintains content. The database 32 may be a standalone device on an external communication network. The mediator 28 communicates with the database 32 to access and retrieve content. The content devices 34-48 include intelligent devices, such as, for example, personal computers, laptops, cell phones and personal digital assistants. The content devices 34-48 are capable or storing content data. The devices 34-48 are intelligent devices that receive content from other content devices 30-48. However, the devices 34-48 can also operate as servers to distribute content to other client devices if desirable.
The following discussion provides a brief, general description of an exemplary computer apparatus in which at least some aspects of the present invention may be implemented. The present invention will be described in the general context of computer-executable instructions, such as program modules 174 being executed by a computerized device. However, methods of the present invention may be affected by other apparatuses. Program modules may include routines, programs, objects, components, data structures, applets, WEB 2.0® type of evolved networked centered applications, etc. that perform a task(s) or implement particular abstract data types. Moreover, those skilled in the art will appreciate that at least some aspects of the present invention may be implemented with other configurations, including hand-held devices, multiprocessor system, microprocessor-based or programmable consumer electronics, network computers, minicomputers, set top boxes, mainframe computers, gaming consoles and the like. At least some aspects of the present invention may also be carried out in distributed computing environments where tasks are performed by remote processing devices linked through a communications network as exemplified in FIG. 2. In a distributed computing environment, program modules 174 may be located in local and/or remote memory storage devices 166.
With reference to FIG. 3, an exemplary apparatus 100 for implementing at least some aspects of the present invention includes a general-purpose computing device in the form of a computer 120 or in the form of a computerized portable apparatus. The computer 120 may include a processing unit 121, a system memory 122, and a system bus 123 that couples various system components, including the system memory 122, to the processing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory may include read only memory (ROM) 124 and/or random access memory (RAM) 125. A basic input/output system 126 (BIOS), containing basic routines that help to transfer data between elements within the computer 120, such as during start-up, may be stored in ROM 124. The computer 120 may also include a hard disk drive 132 for reading from and writing to a hard disk, (not shown), a magnetic disk drive 133 for reading from or writing to a (e.g., removable) magnetic disk 129, and an optical drive 130 for reading from or writing to a removable (magneto) optical disk 131 such as a compact disk or other (magneto) optical media. The hard disk drive 132, magnetic disk drive 133, and (magneto) optical drive 130 may be coupled with the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and a (magneto) optical drive interface 134, respectively. The drives and their associated storage media provide non-volatile (or persistent) storage of machine-readable instructions, data structures, program modules 174 and other data for the computer 120. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 129 and a removable optical disk 131, those skilled in the art will appreciate that other types of storage media, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROM), remote cloud storage and the like, may be used instead of, or in addition to, the storage devices 166 introduced above.
A number of program modules 174 may be stored on the hard disk 127, magnetic disk 129, (magneto) optical disk 131, ROM 124 or RAM 125, such as an operating system 135 (for example, WINDOWS® NT® 4.0, sold by MICROSOFT® Corporation of Redmond, Wash.), one or more application programs 136, other program modules 137 (such as ALICETM, which is a research system developed by the User Interface Group at Carnegie Mellon University available at www.Alice.org, OPENGL® from Silicon Graphics Inc. of Mountain View Calif., or DIRECT 3D® from Microsoft Corp. of Bellevue Wash.), and/or program data 138 for example.
A user may enter commands and data into the computer 120 through input devices, such as a keyboard 140, a camera 141 and a pointing device referred to as a Mouse 142 Other input devices (not shown) such as a microphone, joystick, game pad, satellite dish, scanner, a touch sensitive screen, accelerometers or a motion-sensor detector such as KINECTTM that are adapted to sense movements of the user or movements of a device, or the like, may also be included. These and other input devices are often connected to the processing unit 121 through a serial port interface 146 coupled to the system bus 123. However, input devices may be connected by other interfaces, such as a parallel port, a game port, BLUETOOTH® connection or a universal serial bus (USB). For example, since the bandwidth of the camera 141 may be too great for the serial port, the video camera 141 may be coupled with the system bus 123 via a video capture card (not shown). The video monitor 147 or other type of display device referred to as a monitor 147 may also be connected to the system bus 123 via an interface, such as a video adapter 148 for example. The video adapter 148 may include a graphics accelerator. One or more speakers 162 may be connected to the system bus 123 via a sound card 161 (e.g., a wave table synthesizer such as product number AWE64 Gold Card from Creative® Labs of Milpitas, Calif.). In addition to the monitor 147 and speaker(s) 162, the computer 120 may include other peripheral output devices (not shown), such as a printer, a hi-definition television and a scanner for example. As an alternative or an addition to the video monitor 147, a stereo video output device, such as a head mounted display or LCD shutter glasses for example, could be used.
The computer 120 may operate in a networked environment defining logical connections to one or more remote computers 120, such as a remote computer 149. The remote computer 149 may be another computer 120, a server 14-18, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the computer 120. The logical connections depicted in FIG. 3 include a local area network (LAN) 151 and a wide area network (WAN) 152, an intranet and the Internet.
When used in a LAN, the computer 120 may be connected to the LAN 151 through a network interface adapter (or “NIC”) 153. When used in a WAN, such as the Internet, the computer 120 may include a modem 154 or other means for establishing communications over the wide area network 152 (e.g. WI-FITM, WINMAX®). The modem 154, which may be internal or external, may be connected to the system bus 123 via the serial port interface 146 or another type of port interface. In a networked environment, at least some of the program modules depicted relative to the computer 120 may be stored in the remote memory storage device 166. The network connections shown are exemplary and other means of establishing a communications link between the computers 120 may be used.
The exemplary network and the exemplary computer system described above are adapted to carry on the following embodiments:
A system 170 is depicted in FIG. 4 which may represent the functionalities described in the instant application when run on an apparatus 100, for instance a computer 120, such as has been previously described. The computer 120 may in turn be connected to a server 14-18 comprising a set of program modules 174 enabling functions including but not limited to: computing, document rendering, network communication, application configuration and local database management.
The software system 170 illustratively consists of a collection of at least twelve modules 174 independent from those of the server 14-18 that together carry out the method required for the functionalities to be visible on a graphical user interface and usable by the user. As illustrated, additional modules 226 may also be used in conjunction with the twelve base modules.
A computing module 178 provides a means to circulate data between users, the other modules 174 and the apparatus 100. The computing module 178 is adapted to convert queries 230, which may be system-based or user-based, into graphical rendering in accordance with at least one embodiment of the present invention. The other modules 174 are configured to send to and receive data from the computing module and to individually or collectively interact with other modules 174.
An application configuration module 182 provides software configuration to manage application settings and open connections to other servers 14-18. Other modules 174 may use the application configuration module 182 to manage their behavior to satisfy user-specific needs.
A data elements management module 186 may be used in conjunction with other modules to manage data elements such as documents 200 contained in a database 32 in response to a query 230. The data elements management module 186 may use any kind of database connection and may use a network communication module 190 in order to access a database 32 through a network 28, on a server computer 14-18. The network communication module 190 may use several protocols in order to communicate with a server computer 14-18, such as IPv4, IPv6, TCP, UDP, ODBC, HTTP, WebDAV, SSH, IMAP and even define its own specific communication protocol. The data elements management module 186 may also be used in conjunction with an email connectivity module 194 and network communication module 190 in order to treat and represent emails in the same way as the data elements of a database 32. The data elements management module 186 may also be used in conjunction with the permissions module 198 (on the client or server side) in order to control the user access to elements based by some sort of sharing rules. The data elements management module 186 may also work in conjunction with a caches module 202, providing client-side cached versions of the database 32 and files in order to respond to future requests faster. Modules 174 may be made to communicate information in a standardized way by the use of an Application Programming Interface (API) in order to simplify the data elements management module's 186 interactions with other modules 174.
The data elements management module 186 may sort through documents 200 stored in the database 32 and connected to each other via a variety of referencing modes, may apply a filter as specified in a query 230 and may subsequently direct the filtered documents 200 to other modules 174 (this will be shown in FIG. 6). One such module may be an axis-ordering module 206 which may distribute documents 200 filtered by the data elements management module 186 onto an axis-like array 288 or axis 292 (illustrated in FIG. 6) according to a collation function that may be user- or system-specified and analyzed by the computing module 178. An axis 292 or axis-like array 288 is an embodiment of graphical rendering of the functionalities described in the present specification on a device's display 150 that can be embodied as a substantially rectilinear sequence of documents 200 from which a viewer can infer meaning and/or relationships therebetween. An axial distribution 292 of documents 200 is adapted to accommodate and display a single type of documents 200 or, if desirable, more than one type of documents 200, computer files, multimedia contents, user-selectable elements and/or user-selectable menu elements. Generally, an axis 292 is used to graphically group information elements 200 having a commonality. Other functionalities related to axes 292 shall be described in greater detail below.
The axis-ordering module 206 may manage the ordering of single documents 200 and/or several documents 200 assembled into document sets 220 onto one or more axes 292. In addition of managing the collation of documents 200 onto an axis 292, the axis-ordering module 206 may also manage the order of the documents 200 contained within secondary documents sets 232 (not illustrated). The positioning module 210 manages the positioning of documents 200 within axes 240 based on interactions with other modules 174 processing the various elements contained in a query 230. The positioning module 210 is adapted to and may interpret data contained in document sets 228 generated by the data elements management module 186 in relationship to the query 230 to identify a location for a given document set 228 within the collation of an axis 292. Likewise, a visually distinctive features management module 214 is adapted to interpret data contained in documents 200 or document sets 228 generated by the data elements management module 186 in relationship to the query 230 to selectively apply one or more visually distinctive features 284 (not illustrated in this figure) to single documents 200 or document sets 228. Finally, a display management module 218 may, inter alia, manage elements related to the user interface 234, possibly interacting with a graphics card and a monitor 147. The display management module 218 may use a document-rendering module 222 that provides instructions to render specific documents 200, like images, text files, word-processing files, spreadsheet files, presentation files, etc. The document-rendering module 222 may also provide an API to let developers add their own extensions to deliver to renderers other document types.
FIG. 5 depicts a computer system 120 comprising an operating system 135 with an integrated axis-based user interface 238. As illustrated in FIG. 5, the axis-based user interface 238 could serve as a desktop environment to manipulate documents 200 (such as files, objects and applications), or could be used as a main operating system 135 user interface 234. One can appreciate a hierarchical description of a computer system 120 and software system 170 with multiple components 242. First, hardware 246 is used to provide users with a physical device 34-48. Second, the axis-based system could be built on top of an existing operating system core and kernel 250, such as, for instance, UNIXTM or BSDTM. A graphics API 254 like OPENGL® could also be used in order to provide basic graphical capabilities to the system via a video adapter 148.
Multiple core functionalities could be integrated to provide core operating system 135 services. A graphical layer framework component 256 could be built over the graphics API component 254, and could be used to provide complex drawing capabilities. The layer-based graphics layer framework component 256 may also supports widgets rendering and handling (like buttons, text fields, dialogs, etc.) A network management component 260 could be based on pre-existing network management capabilities in the operating system core and kernel 250. It could serve as a tool to manage an Internet network connection through ETHERNET®, BLUETOOTH®, WI-FITM, Modem and other communication channels. A utility component 264 could handle all the other services needed to communicate with the operating system core and kernel 250, providing functionalities such as user login, user authentication, memory, disk-access management, etc. Using these modules, the axis-based user interface 238 would use core functionalities from the graphical layer framework component 256, the network management component 260 and the utility component 264 to provide workspaces 306 comprising multiple axes 292 or groups of axes 310 that display documents 200 (not shown in FIG. 5). The axis-based user interface 238 may also provide more integrated actions, like interface buttons, preview or magnification that may be directly docketed. Another component, a system preferences management component 268, would provide multiple functions needed by the axis-based user interface 238, such as dialogs to manage document insertion, attribute definitions, users, permissions, application configuration, etc. Finally, the operating system 135 may comprise a window management system emulation module 272. This module may be based on an X WINDOW SYSTEM or X11© and may use other existing client application libraries to provide a large number of applications as well as functionalities to run windowed applications on top of the axis-based user interface 238. To provide other functionalities, third-party application providers could build third-party core modules 276 on top of the axis-based user interface 238 and system preferences management module 268. Third-party application providers could also develop third-party software environments 280 and other applications that could be run using the window management system emulation 272, providing the user with useful applications such as an Internet Browser, Office Business Applications, Multimedia Applications, Games, etc.
The Window Management System Emulation 272 could also offer functions to provide a more axis-based user interface 238 integration, such as, previews, player and editors for the documents 200 displayed in the axis-based user interface 238. For example, a rich text document 200 could use a third-party module 276 or third-party software environment 280 to provide a previewer or media player for the document 200, or a third-party application to integrate a live editor on the axis-based user interface 238.
This computer system 120 could be used, for instance, as a business solution to provide users with an axis-based user interface 238 operating system 135 directly on multiple kinds of devices 34-48 (computers, laptop, tablets, cell phones, etc.). The computer system 120 may also illustratively be used as a business solution to sell preconfigured devices 34-48 with the axis-based user interface 284. Since the operating system 135 has a built-in axis-based user interface 284, the device 34-48 is likely to have a display 150 and other input device like a keyboard 140, a mouse 142 or a touch-screen interface. The devices 34-48 may not necessarily provide such parts and may be adapted to be used by communicating information about the user interface 240 and input methods with other devices 34-48 (television set, motion sensing input device, computer or tablet over network, cell phone, etc.)
FIG. 6 illustrates the interaction of the computer system 120 and software system 170 with an axis-based graphical user interface 238. An interface program providing a graphical user interface 234 for managing information elements 200 in accordance with an embodiment of the invention is installed on a machine, e.g. a computer system 120 as illustrated in FIG. 3. The interface 234 can be programmed using various programming languages e.g. C++, Java or other suitable programming languages. The programming of these languages is well known in the art and is adapted to be stored on a machine-readable medium and readable therefrom to provide executable instructions to a hardware system. It is believed that a skilled reader in software art is going to recognize this portion of the system that will, therefore, not be further described herein.
The graphical user interface 234 may run through the operating system 135 and the hardware 246 of the computer system 120 or, alternatively, through a network-based system e.g. client-server, and/cloud computing system as exemplified in FIG. 1 and FIG. 2. The interface 234 is adapted to display and manage information elements 200, generally provided on a basis of a query 230, which may be stored in one or many databases 32 (as illustrated in FIG. 6) that might be distributed in a combination of locations (e.g. multiple databases, web, cloud, etc.). Information elements 200 may include computer files, pictures, multimedia content, applications (i.e. computer programs), menu elements, sets of icons and/or other user-selectable elements, all of which shall henceforth be indiscriminately referred to as documents 200 to lighten the text without limiting the scope of the present invention.
An axis-based graphical interface 238 is adapted to graphically structure documents 200 in arrays 288 that arrange the documents 200 in rows and/or columns in a reasonably regular fashion and to allow navigation thereof by the user further to a query 230. The axis-based layout and ordering provide the user with information about the content of each document 200, its meaning and its relationships to the other documents 200 disposed on the axis 292. Navigation tools are provided with the axis-based user interface 238 to allow navigation through the documents 200 of a single axis 292 and of various axes 292 when a plurality of axes 292 is enabled. The display of documents 200 on an array 288, or axis 292, therefore allows contextual management of documents 200 as a flow, or an ongoing rational sequence of documents 200. An axis-based interface 238 thus helps to intuitively display a group of documents 200 and facilitate understanding and managing large sequences of documents 200 bearing a relation.
In a simplified exemplary form, an array 288 may be embodied as an axis of documents 292 (herein below referred to as axis 292 to lighten the text), which groups documents 200 in a single row or column, as illustrated in FIG. 6. An axis 292 can be embodied as a substantially rectilinear arrangement of documents 200 adapted to dispose each document 200 on a straight or curved line. The axis 292 can be embodied as completely straight (rectilinear), slightly curved, substantially curved, circular, angled, following a particular shape or have a consistent shape over which documents 200 are disposed in a reasonably consistent fashion. The exact shape of the axis 292 as well as its disposition can vary—horizontal, vertical or other—in relation to the device's display 150. What matters, inter alia, is that the layout structure of an axis 292 provides a sequence of documents 200 from which a viewer can infer meaning, logical connections, contextual location, and/or relationships.
The axis 292 can be represented as a single axis 292, a double axis 292, or more axes 292. Axes 292 may be independent from one another (using distinct scales, or orderings, henceforth referred to as collation functions 300) or may form a group of axes 310 by sharing the same scale or collation function 300. Also, a document 200, attribute 296 or other property of an element contained in an axis 292 can be selected and used as a logical connector to create an additional axis 292 from an existing axis 292. This subsidiary axis 294 is meant to be temporary in some embodiments, serving as a way to view a specific set of additional documents 200 or highlight certain documents 200 from the original axis 292 without having to alter the entire workspace 306. It may originate from the logical connector document 200 or information element 200 and be disposed in non-parallel fashion thereto. The subsidiary axis's 294 position is preferably orthogonal to the original axis 292. However, the angle may vary. Like axes 292, logically connected axes 294 may be scrollable. More such logically connected axes 2924 can subsequently be created in the same fashion. Navigation among axes 292 and subsidiary axes 294 could be called “relational navigation”.
Axes 292 may be disposed horizontally and/or vertically. Groups of axes 310 may be presented using one of the layouts or combining both. The axes 292 presented in the embodiments below are generally illustrated in the horizontal layout configuration. However, they could, all or in majority, be disposed vertically without departing from the scope of the present disclosure. Other possible graphical layouts of documents 200 might become obvious to a skilled reader in light of the present application and would be considered within the scope of this application.
When only a portion of the axis 292 is visible, a play of zoom, pan and scrolling movements along the axis 292 allows a user to navigate the axis 292 and change the series of documents 200 that are displayed in the display area 314 of the display 150. Scrolling movements can be performed in a variety of ways including but not limited to click-and-drag, pressing on the keys of a keyboard, gesturing to a motion-sensor or on a touch-screen.
Documents 200 might overlap or decrease in size so as to fit or maximize the space available in the display area 314. Selected documents 200 on an axis 292 can be magnified to increase the level of detail shown. Similarly, a small display area 314 could display only one document 200 out of the entire axis 292. The remaining documents 200 would not be shown in the display area 314 but would yet remain at their respective “virtual” position on the axis 292, ready to be displayed upon scrolling the axis 292. In other words, if we consider a mobile platform like a mobile phone having a small display 150, the small display 150 might only allow to efficiently exhibit one document 200 at a time. However, given that the displayed document 200 is part of an axis 292, the other documents 200 on the axis 292 would remain displayable in accordance with their respective position on the axis 292 when the axis is scrolled, navigated, gestured.
The documents 200 are selected to be disposed on the axis 292 on the basis of one or more attributes 296, and are ordered thereon according to a collation function 300, namely an ordered arrangement made by comparison, (e.g. a chronological order adapted to use a time scale 318. The attribute(s) and collation function parameters are specified in a query 230 that may be run by a user or by an automated function of the system. Indeed, each axis 292 groups documents 200 in accordance with, for example, a selected tag, category, keyword, document creator, or other attribute 296 that expresses a characterization of one or more document(s) 200 and that are configurable to represent intrinsic or extrinsic characteristics. The term “attribute” 296 will generally be used throughout the instant specification to lighten the reading of the text and will encompass other document properties or means for establishing commonality or relationships as described above unless otherwise specified.
Attributes 296 may be user-specified or system-specified. Generally, documents 200 bear a plurality of attributes 296 assigned by one or more user(s) (e.g. keyword, subject, project, creator, category, etc.), and a plurality of attributes 296 that are assigned by the system, such as, illustratively, file type, time of creation, number of views, time of last modification, file size, etc. Given the broad range of applicability of the present invention, the attributes 296 that may be assigned by the system and user, as well as the attributes 296 that can be desirable to use in the management of axes 292 might substantially vary from one field or user to another and however remain within the scope of present specification.
The selection of one or more attributes 296 (using Boolean logic for instance) in a query 230 determines which documents 200 will be displayed on the axis 292. If no specific attribute 296 is selected, the axis 292 will display all documents 200 in a default order, like the date of creation thereof. Thus, all documents 200 on the same axis 292 are normally associated with the selected set or combination of attributes 296 that are used as parameters for the axis 292. Third-party data, like publicity or user-targeted information, could also be added to an axis 292, either arbitrarily or according to user information, filtering and/or existing collation of axes 292 without departing from the scope of the present invention.
The documents 200 illustrated in FIG. 6 feature attributes 296 individually represented by a capital letter thereon, or none, in which case the documents 200 are left blank. Letter attributes 296 are used in the present application for illustrative purposes only while letter attributes are theoretically possible. More descriptive attributes 296 such as those described above are used in embodiments of the present invention. As is shown in FIG. 6, any document 200 can simultaneously feature multiple attributes 296, some user-specified and others system-specified. In fact, a preferred embodiment of the invention assigns a plurality of attributes 296 to every document 200. Other documents 200 illustrated on FIG. 6 are blank, or without any associated attribute 296, illustrating documents that could theoretically not be assigned any attribute 296, but that could nonetheless be created and found in a query 230 (e.g. a query 230 that would select all documents 200 contained in the database 32).
The query 230 in FIG. 6 here illustratively filters and selects documents 200 from the database 32 based on attribute 296 ‘A’ for display on the axis 292. FIG. 6 further illustrates that the documents 200 selected from the database 32 by the query 230 are placed on the axis 292 in chronological order 318, another parameter that could be specified in the query 230. Indeed, an axis 292 also generally disposes the documents 200 resulting from the query 230 in accordance with a specified order or collation function 300, (e.g. chronological order, alphabetical order, statistical order, increasing file size, etc.). A collation function 300 might include dividing the axis 292 into successive collation units 304 (e.g. time units 322 in the case of a chronological order, which can illustratively be hours, days, months, years, etc.). A collation function 300 would thus dispose each document 200 along the axis 292 according to the value of a specified attribute 296 in relation to the collation units 304 of the axis 292 and the other documents 200 of the selected document set 228. Among collation functions 300, a chronological distribution of documents 200 on a time scale 318 is used in most embodiments of our work because of its intuitiveness (because any action or event takes place at a specific time and usually in sequence with other events or actions). While an axis 292 disposing documents in random fashion is also contemplated within the scope of the present specification, axes 292 disposing documents 200 according to a collation function 300 are illustrated embodiments because of the usefulness of ordering documents 200.
An axis 292 or a group of axes 310 may be embodied in a linear configuration 326 or a non-linear configuration 330. Both configurations are illustrated in FIG. 7 in a generic example. As can be appreciated from FIG. 7, a linear configuration 326 displays collation units 304 of the same graphical longitudinal size regardless of the number of documents 200 contained in each collation unit 304. The size of the documents 200 located within a given collation unit 304 can optionally be adjusted in accordance with the number of documents 200 located therein. For instance, documents 200 will be larger if there are few documents 200 in the collation unit 304 and smaller if many documents 200 are found therein. Alternatively, the documents 200 can remain the same size and can overlap, or be stacked, when their quantity exceeds the available space. Another possible way of making large numbers of documents 200 fit into a fixed-size collation unit 304 is to equip the collation unit 304 with a scroll bar allowing the user to navigate the collation unit 304 to reveal hidden documents 200. This also means that documents 200 in a linear configuration 326 may be displayed as an uneven sequence from a graphical point of view. Ultimately, a collation unit 304 in a linear configuration containing no document will appear as empty, or as a blank space on the display 150, but will still be the same size as the other collation units 304 of the axis 292.
Conversely, the non-linear configuration 330 displays collation units 304 of uneven longitudinal sizes because an even distribution of documents 200 along the axis 292 prevails over the linearity of the collation. In other words, document 200 size and a constant flow of documents 200 along the axis 292 are given primacy over having collation units 304 of equal graphical size. This provides a more efficient use of the space on the axes 292, but may provide less meaning to illustrate an evolution along time.
Conversely, the non-linear configuration 330 displays collation units 304 of uneven longitudinal sizes because an even distribution of documents 200 along the axis 292 prevails over the linearity of the collation. In other words, document 200 size and a constant flow of documents 200 along the axis 292 are given primacy over having collation units 304 of equal graphical size. This provides a more efficient use of the space on the axes 292 but may provide less meaning to illustrate an evolution along time.
FIG. 6 presents a graphical user interface 234. More specifically, it illustrates an axis-based user interface 238 with a linear axis configuration 326. The linear axis configuration 326 shows an axis-like array 288. This is an exemplary illustration of how documents 200 can be presented on a linear axis 292 within and outside of the display area 314.
Documents are not the only items one could find on an axis-like array 288. Videos, menu options, emails and numerous other types of information elements can also be displayed on an axis-like array 288. However, for the purpose of explaining and describing this invention, the Figures presented herein will only reserve to axes 292 with documents 200 only.
In the axis-like array 288, documents 200 are laid out in a linear fashion, based on the framework set out by the collation units 304. By “linear,” we refer to the idea that documents 200 are arranged and extended along a straight horizontal line.
A collation unit 304 collects and combines certain elements on an axis 292. In the case of FIG. 7, the collation units 304 gather and combine documents 200 in a certain predetermined order.
The collation unit 304 is chronological in nature. That is, documents 200 are organized on the axis-like array 288 according to time units 322 (t27, t28, t29, t30 and t31) that are equally spaced. The time scale 318 specifies the division of time. For example, it can be by hour, day, month, or year.
The collation function 300 makes it possible for time units 322 to align accordingly on the axis 292 based on a certain time scale 318. Moreover, these time units 322 are moving progressively to the right. The time unit markers 334 identify the beginning and end of a time unit 322.
The collation units 304 do not have to be chronological per se. For example, they can be alphabetical as well or based on a certain feature or identity set out by the user.
Some collation units 304 contain more documents 200 than other ones. This is because on a linear axis 292, the collation units 304 are equally spaced from each other and, therefore, of the same length. As a result, it will often be the case that some collation units 304 will be empty and some—full or partially full of documents. FIG. 7 illustrates this very phenomenon. The time unit t28, for example, contains only one document 200. Time unit t29 is full, while time unit t30—empty of documents 200. It is thus safe to assume that not all axes displaying documents or any other elements, such the axis of documents 292 depicted in FIG. 7, are comprised of collation units 304 that are equally spaced.
Axes 292 that have non-equally spaced collation units 304 are called non-linear axes 292. Notably, the variation in length of the collation units is the one major distinctive feature that sets non-linear axes 292 apart from the linear ones 292.
FIG. 8 illustrates a non-linear axis of documents, with non-equally spaced collation units 304. Just like in FIG. 7, they follow a chronological order, set up by the collation function 300. A certain time scale 318 defines them. Time unit t27 contains 7 documents 200 while time unit t28—only 5.
Non-equally spaced collations units 304, presented in FIG. 8, are adapted to present documents 200 to be shown on the axis 292 in a regular, consecutive and chronological manner. There is no space between them, only separators when a time unit 322 change occurs. In this Figure, these separators are marked as time unit markers 334.
FIG. 8 shows a document 200 with a visually distinctive feature 284. This feature, for example, can be graphically displayed as a change in the color or the color intensity of the edges of a document, enlargement of the lines defining its frame, etc. Moreover, it seeks to visually filter and identify the documents belonging to an axis of documents 292, sub-selected by the user as a result of a more advanced search carried out within the axis. For example, all the documents on the axis of documents 292 share one attribute in common. That attribute is depicted in the figure as attribute B, and is marked to the left of the axis of documents 292. The user may carry out a search within the documents 200 of the axis 292 to seek for the document(s) that has/have another sub-attribute assigned to it/them. Document with a visually distinctive feature 284 would represent the result of the search. It would be consequently visually highlighted in some sort of way on the axis of documents 292 in order for the viewer to easily differentiate it from the rest of the documents 200.
FIG. 9 presents a graphical user interface 234. More specifically, it illustrates an axis-based user interface 238 with a linear axis configuration 326 as it can be visible on three distinct display areas 314. The simultaneous presentation of three different display areas 314 on the same axis 292 is provided for illustrative purposes only despite the fact that only one display area 314 would suffice and normally be utilized to show a portion of the axis 292. The purpose of displaying three instead of one display area seeks to schematically demonstrate the variety of layouts and placements of documents 200 on an axis 292 and the different ways in which they can be viewed via display areas 314. By this, one can see that some display areas may have no documents 200 displayed, some—a few and some might present a portion of an axis 292 filled completely by documents 200.
The linear axis configuration 326 presented in FIG. 9 is also illustrated in FIG. 7. The difference lies in the fact that FIG. 9 shows how the documents 200 exhibited on the linear axis 292 can be viewed on display areas 314. A computer or telephone screen can serve as a display area 314. These, however, are mere examples. Possibilities of devices and apparatuses upon which axes of documents or any kind of elements can be displayed are numerous.
When examining FIG. 9 from left to right, one notices that the display area 314 closest to the left side of the FIG. 9 visually fully displays two documents 200 belonging to the time unit 27 and one document belonging to the time unit t28. The display area 314 shown in the center of FIG. 9 shows two documents belonging to the time unit t29, while the display area 314 to the right side of FIG. 9 fails to bring to light any documents, as the time unit t30, which is shown on this display area 314, contains no documents 200. To summarize, FIG. 9 schematically points out that the portion of a linear axis 292 (or the whole axis 292), when visible on a display area 314, may display some or no documents; moreover, it may potentially present on the display area 314 empty space as well.
FIG. 10 illustrates a non-linear axis of documents 292, with non-equally spaced collation units 304, as it can be visible on three distinct display areas 314. If examined carefully, one notices that the non-linear axis 292 presented in FIG. 10 is also illustrated in FIG. 8. The difference lies in the fact that FIG. 10 schematically illustrates how the documents 200 exhibited on the axis 292 can be viewed on the display areas 314.
Non-linear axes 292, in general, when visible on a display area 314, show documents 200 or any other elements, while failing to reveal any empty, and therefore, non-occupied by or any other document and/or element, space. The following examples from FIG. 10 further illustrate this:
The display area 314 to the utmost left side of FIG. 10 presents the document with a visually distinctive feature 284. This display area 314 shows fully three documents 200 belonging to the time unit t27. Moreover, it partially reveals two other documents 200 belonging to the same time unit t27.
The display area 314 in the center of FIG. 10 shows fully two documents 200, one belonging to the time unit t27 and another—to the time unit t28. Furthermore, this display area 314 shows partially two other documents 200, one belonging to the time unit t27 and the other—to time unit t28.
Similarly, the display area 314 to the right side of FIG. 10 shows three documents 200 belonging to time unit t29. Another partially displayed documents 200 belongs to the time unit t28. FIG. 10 seeks to illustrate that a non-linear axis 292 with documents 200, when visible on a display area 314, shows documents without revealing any empty space.
FIG. 11 illustrates the insertion of a document 342 on a non-linear axis of documents 200. The insertion takes place outside of the display area 314. The display area 314 shows ten documents 200. The eleventh one, located at the utmost right side of the display area 314, is only partially shown.
The documents 200 within the display area 314 belong to three different time units, one of which is shown fully on the display area 314. The beginning and end of this time unit are marked by two time unit markers 334. Document 201.1 is the last fully-displayed document 200 shown on the left side of the display area 314.
Within the time unit fully shown on the display area 314, there are two documents with a visually distinctive feature 284, described in greater length in the discussion about FIG. 10. The actual visual feature assigned to these documents is different on each of them. This is so that the viewer can discriminate between the two with little or no difficulty. FIG. 11, also, shows two more documents with a visually distinctive feature 284. Both are located to the outmost left side of FIG. 11. One of which is the first document 200 displayed on the axis 292, as it is located next to the beginning of the axis 336.
Not all the documents 200 present on the axis 292 shown in FIG. 11 are displayed in the display area 314. Some of them are outside of the viewing space. One document 200 with a visually displayed feature 284 is shown outside of the display area, on the left side of FIG. 11. Two documents 200, along with a portion of a document 200, are displayed outside the display area 314, on the right side of FIG. 11. FIG. 11 shows only the beginning of the axis 292, implying that there are documents 200 on the axis 292 beyond the ones displayed in the Figure.
FIG. 11 also illustrates how an inserted document 342 is added to the axis 292. The insertion arrow 362 points out the exact location where this document is inserted—outside the display area 314, and on the beginning of the axis 292. This insertion location may have been chosen by the collation function 300.
There are two ways documents 342 can be inserted on a document: when it is already existent and is given an attribute based on which the axis 292 is defined, by the user; and when is created or imported by a user. Both these actions result in the same effect, namely, in the addition of a document 200 on an axis 292. In a network collaborative work context, multiple users can simultaneously insert or change attributes of elements 200 distributed on one or more axes 292.
FIG. 12 illustrates the insertion of a document 342 on a non-linear axis 292, outside the display area 314 and a way in which this insertion affects the way documents 200 within the display area 314 are graphically laid out. This is likely to be one of default implementation in an axis-based interface 238 since the beginning of the axis 292 was not moved.
FIG. 12 depicts the same non-linear axis 292 as the one illustrated in FIG. 11. FIG. 12, moreover, shows how the insertion of the document 342 on the axis 292 shifts the location of all the documents 200 of the axis 292 to the right. The arrow 366 indicates the direction towards which the documents 200 are moved as a result of this insertion.
Due to the insertion of document 342, all the documents 200 within and outside of the display area 314 shifted to the right in order to make room for the newly added document 342. Moreover, the document 200,1 is now partially located outside the display area 314 in FIG. 12.
FIGS. 13 and 14 illustrate two other possible embodiments of the way a document 342 can be inserted on a non-linear axis 292, outside the display area 314. In FIG. 13, a document 342, as shown by the insertion arrow 362, is being inserted on the utmost left side of the axis 292, outside of the display area 314. The insertion causes the beginning of the axis 336 to move further to the left to make room for the newly added document 342, without affecting the display of documents 200 within the display area 314.
In FIG. 14, the same document 342 is inserted on the right side of the axis 292, outside of the display area 314. This insertion causes the document 200,2 to move to the right, as arrow 370 indicates it, outside of the display area 314. FIGS. 13 and 14 demonstrate how the insertion of a document 342 on a non-linear axis 292, outside the display area 314, does not necessarily affect the visual display of documents 200 within the display area 314.
FIGS. 15 and 16 illustrate two other possible embodiments of the way a document 346 can be removed from a non-linear axis 292, outside the display area 314.
FIG. 15 illustrates a possible way in which documents 346 may be removed from the axis 292, outside of the display area 314. The removal arrows 374 point to the possible directions towards which these documents 200 may go as a result of their removal. One must be reminded that the removal of a document 200 from an axis 292, in general, may be caused by the removal of the attribute that once linked it to an axis 292 and/or by the actual deletion of the document 200 by a user. As the FIG. 15 seeks to illustrate, the removal of documents 200 from an axis 292, from within space outside of the display area 314, will not affect the distribution and layout of these documents 200 on the display area 314.
FIG. 16 illustrates another aspect of the present invention offering another option of the way in which documents 346, when removed from the display area 314, may not affect the display and layout of the documents within the display area 314. Similarly to FIG. 15, FIG. 16 illustrates how a document 346 may be removed from the axis 292, from the outside the display area 314, without disturbing the layout of the documents 200 within the display area 314.
Moreover, FIG. 16 illustrates a possible solution to the problem that might arise as a result of the removal of documents 346 from the display area 314. The cross signs 378 mark the two documents 346 that have been removed from the display area 314. In order to avoid the possible movement of the rest of the documents 200 within the display area 314 as a result of their removal, the space that these two documents 346 once occupied on the display area 314 remains static and unchanged. The two documents 346 that were removed remain listed on the axis 292, within the display area 314, and are being marked by the cross sign 378.
The cross sign 378 presented in FIG. 16 is for illustrative purposes only, and may be substituted by other means seeking to identify the documents 346 that were removed from the display area 314, from those that were not. FIG. 16, therefore, represents one aspect of the embodiment in which the removal of documents 346 from the display area 314 of an axis 292 may not affect the viewer of the display area 314.
FIGS. 17 and 18 illustrate another possible way in which the insertion of a document 342 on an axis 292 may affect the viewer of the display area 314 and how this undesirable effect may be alleviated. In this case, the undesirable consequence relates more to the viewer's potential loss of track of a certain document 200 on the display area 314. The loss might cause frustration and confusion to the viewer. To understand it, one must examine FIGS. 17 and 18 together in order to trace the succession of events illustrated herein.
FIG. 17 illustrates an axis 292 with documents 200, placed within the display area 314. A document 342 is being inserted on the axis 292, inside the display area 314, between a document 200.3 and the document with a visually distinctive feature 284. The insertion arrow 362 pinpoints the exact location where the document 342 is being introduced.
The display area 314, also, exhibits four other noteworthy documents 200, three of which are documents with a visually distinctive feature 284. The other one, document 200.2, is located to the left of the document 200.3.
A pointing device 348, embodied in FIG. 17 as a cursor 350, points towards the document 200.2. The cursor 350 may indicate the viewer's intention to deal with the document 200.2 and, therefore, serves as a reference (aka reference point) indicator based upon which the addition and/or removal of documents 200 may take place within and outside of the display area 314.
The reference based upon which the addition and/or removal of documents 342, 346 may take place within and outside of the display area 314 may be embodied, for example, as the position of the cursor 350, as shown in FIG. 17. It may also be embodied as a line defined in relation to the viewer's activity(ies) in relation to the elements of the axis(es) displayed within the display area 314, or as a collation position. Moreover, the reference based upon which the addition and/or removal of documents 200 may take place within and outside of the display area 314 may be also identified, for example, via a multi-point sensing device.
The reference may be static or dynamic. The static reference is not subject to dislocation as a result of the viewer's activity on the display area 314. The static reference may be embodied as a line, displaying vertically the center of the display area 314. For example, it is presented in FIG. 18 as the center of the display area 358. The line indicating the center of the display area 358 (FIG. 18) is not shown to the user. It may also be embodied as a vertical line located on the display area 314, as shown in FIG. 19 as the vertical line 354. This line as well is not revealed to the user.
The dynamic reference aligns itself to the movement of the pointing device 348, which may be embodied, for example, as a cursor 350 or the position and alignment of the viewer's eyes in relation to the display area 314.
The possibilities of the actions one might want to undertake in respect to the document 200.2 are numerous. It may be the case, for example, that the viewer might want to open it, observe its content, read it, and/or send it to someone else as an attachment in an email. However, due to the possible sudden dislocation of the document 200.2, the viewer might unintentionally target another document 200.3 instead of the one the viewer initially intended to target. In this case, the viewer might click, for example, or touch with one's finger(s) a document 200 other than the one initially intended to be targeted. This might cause frustration to the viewer, especially when accuracy in one's work and deadlines to accomplish a certain task may be of great importance to the user. Undesirable consequences to the viewer as a result of the insertion of the document 342 are most likely to occur especially when the insertion is subject to no order or, in other words, randomly carried out.
FIG. 18 presents a possible way in which the insertion of documents 342 may be carried so that it would alleviate the effect the random insertion of document 342 might have on the viewer of the display area 314. In this Figure, the insertion of document 342 is carried out in relation to the center line of the display area 358. The center line of the display area 358 is the reference based upon which the insertion of the document 342 is handled.
More specifically, FIG. 18 illustrates how the insertion of the document 342 may be carried out in on half of the display area 314, namely, on the side where the cursor 350 was initially pointing at document 202.2. This side is determined in reference to the center of the display area 358.
As a result of the insertion of the document 342, the cursor 350 is now pointing towards the document 200.3. This is because the document 342, when inserted on the axis 292, pushed to the left, as indicated by the arrow 366, the documents 200 located on the left side of the space occupied by the document 342. The movement to the left occurred as a result of the insertion of the document 342 on the axis 292.
FIG. 19 illustrates the preferred embodiment of the present invention in which the movement of documents 200 on the axis 292, when a document 342 is being inserted on the axis 292, is carried out in reference to the location of the viewer's pointing device 348, embodied in this Figure as a cursor 350.
The vertical line 354 indicates the location of the display area 314 aimed by the viewer, based on the position of the cursor 350. The insertion of the document 342 on the axis 292 is carried out so that the documents 200 move in the opposite direction from the vertical line 354; in other words, in the opposite direction from where the aimed document 382 is located. The arrow 366 indicates that the documents 200 move towards the right side of the display area 314 as the aimed document 382 is located on the left side of the display area 314.
In FIG. 19, the vertical line 354 is vertical because it is perpendicular to the axis 292. If the axis 292 were to be vertical, the line 354 would be embodied as a horizontal axis defined by the position of the cursor 350.
Similar to FIG. 19, FIG. 20 illustrates another embodiment of the present invention in which the movement of documents 200 on the axis 292, as a result of the insertion of the document 342, is based on the location of the aimed document 382. The document 382 is the document targeted or aimed by the viewer. The insertion of the document 342 is carried on the basis of the region of the display area 314 towards which the viewer is looking. In this Figure, this region is marked by eye view indicator 386.
The actual position and aim of the viewer's eyes in relation to the display area 314 can be detected, for example, via a web camera connected to the display area 314. The web camera could be used in order to track the viewer's eye movements and/or hand gestures. Even if the pointing device 348 in FIG. 20, embodied as the cursor 350, is located on the right side of the display area 314, the movement of documents 200 on the axis 292 is carried out, as the arrow 366 indicates it, towards the left side of the display area 314, away from the aimed document 386. This is so that the viewer may not be affected by the insertion of the document 342, as the viewer's attention is focused on the utmost left side of the display area 314.
FIGS. 21, 22 and 23 illustrate another aspect of the invention in which the insertion of a document 342 on an axis 292 may affect the viewer of the display area 314 and how this problem may be alleviated. In this case, the undesirable consequence relates more to the viewer's potential loss of track of a certain document. To understand it, one must examine FIGS. 21, 22 and 23 together in order to trace the succession of events presented herein.
FIG. 21 illustrates the viewer's intent to aim and target the document 200,4 presented on the display area 314 by using a pointing device 348 embodied in as a cursor 350. The successive cursors 350 shown in FIG. 21 represent a cursor being moved by the user. Simultaneously to the viewer's attempt to target the document 200,4, a document 342 is being added to the axis 292, in near proximity to the aimed document 200.4.
FIG. 22 illustrates a possible outcome of the insertion of the document 342 on the axis 292 on the aimed document 200.4. In the case of FIG. 22, this outcome is illustrated as an immediate movement of the aimed document 200,4 from within the display area 314 towards left, as indicated by the arrow 366, and into the area of the axis 292 that is not displayed to the viewer. In this case, using a logical approach similar to the one shown in FIG. 19, the left movement of documents 200 is chosen because it is in the opposed direction from the location where the cursor 350 was initially located. Therefore, it is in the opposite direction from the center of the display area 358. With the movement of the aimed document 200.4 leftwards, the viewer would have now had to attempt to reach the document 200.4 by scrolling for example, activity that might prove to be dissatisfactory and causing some degree of inconvenience to the viewer.
FIG. 23 illustrates the preferred embodiment of the present invention, presenting another solution to the problem the viewer might face as a result of the insertion of documents 342 within the display area 314. In this case, the solution provided consists of identifying the side of the display area 314 upon which the viewer focuses most of the attention based on the direction and movement of the cursor 350. The solution provided in FIG. 23, also, offers to insert documents 200 within the idle side of the display area 314, towards which the viewer does not aim via its pointing device 348 and/or glance. In FIG. 23, the insertion of the document 342 is carried in the idle region 394 of the display area 314. This is the region in which the document 200.4 towards which the viewer aims is not located.
The display area 314 is equally divided into two sub-regions: the idle region 394 and the active region 398. The active region 398 is the space of the display area 314 towards which the viewer is aiming in order to reach a certain aimed document 200.4. It is therefore the region of the display area 314 in which most of the movement of the pointing device 348 and/or of the aim of the viewer's eyes is/are taking place. Similarly, the idle region 394 is the space of the display area 314 towards which the viewer does not aim via its pointing device 348 and/or glance.
Once these two regions are identified and marked through the usage of the vertical axis 354 (not shown to the user), the insertion of documents 342 takes place within the idle region 394 and outside the display area 314, where the addition of an extra document 342 would not cause the displacement of any documents 200 within the active region 398.
The non-insertion arrow 402 indicates that the insertion of document 342 within the active region 398 does not occur. That is because the viewer, by moving the pointing device 348 embodied in this Figure by the cursor 350, would cause the system to pause and assess the direction of the movement of the cursor 350. Once it would stop at a specific aimed document 200.4, the system would identify the region of the display area 314 upon which the trajectory of the movement of the cursor 250 was traced. This region is the active region 398 of the display area 314. FIG. 23, therefore, embodies another solution to the unintended and/or undesirable consequences of the insertion of a document 342 on an axis 292 within the display area 314.
FIG. 24 embodies yet another solution to the unintended and/or undesirable consequences of the insertion and/or removal of a document 342, 346 within the display area 314. The solution consists in notifying the viewer of the display area 314 of any changes that might occur to the documents 200 on the axis 292 without adding or removing any of them until a later time, following the instructions set up by the viewer.
FIG. 24 presents the same axis 292 illustrated in the previous FIG. 23, upon which the same display area 314 is superimposed to bring to the viewer's attention to a series of documents 200 which were described above at a greater length. Above the axis 292, one notices the display area notifications feature 406. These notifications concern the changes taken place while the axis 292 is displayed on the display area 314. These changes, however, do not lead to the visual displacement of documents 200 within and outside of the display area 314 until a later time, chosen by the viewer.
The actual presentation of the display area notifications feature 406 may vary. The wording and content of the notifications may differ as well. One example would be that it could provide the following information to the viewer: three documents 200 have been added to the axis; one of the documents 342 is to be inserted within the display area 314; one document 200 from the display area 314 has been removed. These notifications may, also, indicate the identity of the user(s) who added and/or removed documents 342, 346. Moreover, these notifications may offer the time when these documents 342, 346 may be added and/or removed from the axis 292 in light of the preferences and selection of the viewer. Documents 342 outside of the display area 314 may be added or removed at in real and/or at a later time, in dependence of the viewer's preferences and choices.
The user may also have the choice to decide when the addition and/or removal of the document 342, 346 may occur. The display area notification feature 406 may offer the addition and/or removal of the documents 342, 346 to be carried out automatically on a specific and/or periodical time. It may also offer to add and/or remove the documents 342, 346 when the user removes and reopens the axis 292.
Similar to FIG. 24, FIG. 25 embodies another solution to the unintended and/or undesirable consequences of the insertion of a document 342 within the display area 314, on the viewer of the display area 314. The solution consists in offering the viewer the option to pause for a certain time the removal and/or addition of any documents 342, 346 on an axis 292 of documents 200 and allow the viewer to activate the actual update of the axis 292 at a time determined by the viewer, when any modifications to the axis 292, within and outside of the display area 314, are deemed to have less or no impact on the viewer.
FIG. 25 seeks to illustrate, through the non-insertion arrows 402, that none of the insertions of the documents 342 are allowed to take place within and outside of the axis 292. This is because these modifications are not permitted to take place until the viewer activates the pause/activate feature 410. This feature inhibits any modifications of the documents 200 on the axis 292 to take place until the viewer allows them to happen.
In FIG. 25, this permission is expressed by the viewer's activation of the pause/activate feature 410. The activation may be visually presented by a change of color, for example, from the paused state. The viewer may, later, pause any further addition and/or removal of documents 342, 346 on the axis 292 by pausing the pause/activate feature 410. The pausing may be visually presented, for example, by a change of color from the one depicting activated state of the pause/activate feature 410.
FIGS. 26, 27 and 28 illustrate three respective possible embodiments of a linear axis 292 as it may be partially viewed via a display area 314. These Figures illustrate possible distributions of documents 200 on a linear axis 292, on which some collation units 304, in this case, time units 322, may be partially, semi and/or completely filled with documents 200. Moreover, they illustrate how the addition and/or removal of documents 342, 346 from within these time units 322 may take place in light of the fact that some of these time units 322 are only partially or fully empty of documents 200.
FIG. 26 illustrates how an axis 292 may be partially viewed on a display area 314. The portion of the axis 292 displayed via the display area 314 is, however, filled to the maximum with documents 200. The insertion and/or removal of documents 342, 346, however, may take place nonetheless. In this Figure, the insertion arrows 362 identify potential spaces on the axis 292, outside of the display area 314, where documents 342 may be added. Moreover, FIG. 26 illustrates that document 346 may be also removed. In this case, the document 346 is being removed from time unit t31. The removal arrow 374 indicates the removal of the document 346. With this scenario, the viewer of the display area 314 will not be subject to undesirable modifications of the layout of the documents 200 displayed within the display area 314. The removal and insertion of documents 200 take place without modifying the display of documents 200 within the display area 314.
FIG. 27 illustrates how an axis 292 may be partially viewed on a display area 314. Roughly half of the area of the axis 292 displayed via the display area 314 is filled with documents 200. The insertion arrow 362 indicates that documents 200 may be added in the empty space visible via the display area 314. With this scenario, as well, the viewer of the display area 314 will not be subject to undesirable modifications of the layout of the documents 200 displayed within the display area 314. Even if two more documents 200 were to be inserted inside the display area 314, within the time unit t28, as FIG. 28 illustrates it, this would not cause the documents 200 within the time unit t29 to dislocate.
FIGS. 29 and 30 illustrate another embodiment of the present invention in which the insertion of the document 342 within the display area 314 leads to the movement of another document 200.5 from within the display area 314 outwards into the non-displayed area. This phenomenon occurs in the case where the collation unit 314 partially revealed within the display area has some empty space which makes possible the insertion of other documents 200.
In FIG. 28, document 342 is being inserted between two documents 200 revealed within the display area 314. These two documents are document 200 and 200.5. Moreover, document 342 is being inserted in the time unit t28 and before the document 200.5. In the case illustrated in FIG. 28, the location where the document 342 is inserted is identified based on the fact that the time and/or date the document 342 was produced was prior to the time and/or date when the document 200.5 was created. Given that the time units t27, t28, t29, t30 and t31 present documents 200 in a chronological order, progressively and consistently moving from left to right, the documents 342 inserted within the axis 292, within and outside the display area 314, would follow this chronological order as well. FIG. 29 illustrates the displacement of the document 200.5 towards the right side of the axis 292, from within towards the outside of the display area 314.
FIGS. 31 and 32 illustrate another embodiment of the present invention in which the insertion of the document 342 on the linear axis 292, within the time unit t27, leads to the rest of the documents 200 within the time unit t27 to be compressed in order to make room for the newly added document 342.
Despite the insertion of an additional document 342 within the time unit t27, the time unit t27 itself does not change in length. This is because the rest of the documents 200 within the time unit t27 reduced in size to accommodate the addition of the document 342.
In FIG. 31, the document 342 is being inserted at the utmost left side of the time unit t27. The insertion, as the arrow 366 indicates it, leads to the displacement of the rest of the documents 200 to the left of the time unit t27. FIG. 32 illustrates how the documents 200 initially present within the time unit t27 reduce in size so that despite the addition of a new document 342, the respective time unit t27 is subject to no modification in terms of its length and width.
FIGS. 33, 34 and 35 illustrate yet another embodiment of the present invention. More specifically, they present the insertion of the document 342 within an axis 292 A, presented within the display area 314, when the axis 292 is part of a group of axes 310. The insertion of the document 342 leads to the enlargement of the time unit t27 to fit the new document addition.
FIG. 33 depicts a group of axes 310 and a display area 314 which exhibits portions of the following three axes 292: A, B and C. A, B and C refer to the respective attributes given to the documents 200 that belong to these three axes 292. There are in total 8 axes 292 presented in this group of axes 310. Some of them, namely axes 292 D, E, F, G and H, are not displayed at all on the display area 314.
In our preferred embodiment, no two axes 292 can be displayed on the same vertical line. Stated differently, any two axes 292, presented in a group of axes 310 will never be vertically placed in a tangential fashion. The end of an axis 338 may not lie next to the beginning or start of another axis 292. Given that, it is often the case that there might be non-occupied (by any document 200) space between two axes 292. In the case of the FIG. 33, this space is caused by the fact that there are no documents 200 with the attributes E and F that would be fitted for the time units t27 and t28 respectively.
Empty space, non-occupied by documents 200 within an axis 292 is different from the empty space between two axes 292. Axes 292 B, C, D, G and F, for example, all have empty spaces where documents 200 may be potentially added in the future. Whereas there might a possibility for an addition of a or several other document(s) 342 to be added on axis 292 B, C and D for example, within the space presently non-occupied by documents 200, there is no possibility for this to materialize in case of the empty space highlighted as grey shaded area next to the left and respective right the end of the axes 338 presented in the FIG. 33.
FIG. 33, furthermore, illustrates the insertion of the document 342 within the axis 292 A to the right of the document 200.1 present on the axis 292 A. Furthermore, FIG. 34 illustrates the outcome of this insertion, embodied in the movement outward of the display area 314 of the document 200.1, to the left of the axis 292.
The displacement of the document 200.1 from within towards outside of the display area 314 may cause undesirable consequences on the viewer of the display area 314, especially when the document 200.1 is the document the viewer aims to reach. Moreover, the insertion of the document 342 on the axis 292 A causes the time unit t27 to become larger than it was initially, so that it would accommodate the new document 342 insertion.
In FIG. 34, as a result of the insertion of the document 342, document 200.1 moved to the left of the axis 292 A, outside of the display area 314. Furthermore, one less document 200 is displayed on the axis 292 C. Whereas there were three documents 200 initially displayed on the axis 292 C within the display area 314 (see FIG. 33), due to the enlargement of the time unit t27 one of the documents 200 from the axis 292 C has moved leftwards, from within towards outside of the display area 314. This change of document display within the display area 314 may cause undesirable consequences on the viewer.
FIG. 35 illustrates a possible solution to prevent these potential undesirable consequences on the viewer by bringing an additional space 450 on the axis 292 C within the display area 314. The additional 450 would therefore bring the initial display of documents 200 on the axis 292 C, as presented in FIG. 33, despite the enlargement of the time unit t27. This additional space 450 may be temporarily placed in the respective place on the axis 292 C. It may also correct itself automatically when the user carries out additional actions intended to move the display area 314 elsewhere. In this manner, the viewer would be less likely to experience any undesirable consequences due to the insertion of the document 342 on the axis 292 A, within the display area 314.
FIG. 36 is another embodiment of the present invention, in which the insertion of the document 342 within the display area 314 may not cause the enlargement of the time unit t27 in which the document 342 is inserted.
In FIG. 36, the insertion of the document 342 takes place on the axis 292 B, which portion that is displayed on the display area 314 reveals relatively more empty space (i.e. more room for documents 200 to be added into) than the axes 292 A and C do. In light of this circumstance, the insertion of the document 342 within the display area 314 leads not to the enlargement of the time unit t27 to which the newly inserted document 342 belongs. As a result of the insertion, the respective document moves leftwards on the axis 292 B, and outside of the display area 314.
As illustrated in FIG. 36, the insertion of a document 342 could take advantage of the empty space on the axis 292 B to show itself in the display area 314 before heading towards document-sized empty space. This movement may be animated. This may happen after a certain amount of time or after the user takes action to move the display area 314 to display other regions of the same axes 292 or other ones.
FIG. 37 illustrates another embodiment of the present invention, in which a group of axes 310 is partially shown on the display area 314. More specifically, it provides another possible solution for handling the addition of numerous documents 342 within the display area 314.
A series of documents 342, which have been added simultaneously or at a certain time distance from each other an axis 292, are partially displayed on the display area 314. They are located within the receiving space 434.
The addition of the documents 342 may cause the sudden enlargement of the time unit t27 to which they belong, and which is partially presented on the display area 314. In the case of the FIG. 37, the solution given in order to avoid the enlargement of the respective time unit t27 is to incorporate the respective documents 342 within a receiving space 434 which has a scrolling device 418 confined on both of its sides by scrolling arrows 414. In this manner, the viewer of the display area 314 may explore the added documents 342 within the scrolling device 418 a later time without changing the size of the time unit t27 and of the layout of documents 342 within the display area 314.
FIG. 38 illustrates another embodiment of the present invention in which a group of axes 310 are partially shown on the display area 314. More specifically, FIG. 38 provides another possible solution for handling the addition of numerous documents 342 within the display area 314.
A series of documents 342 are being added simultaneously or at a certain time distance from each other, on axis 292 D, which is partially displayed on the display area 314. The addition of the documents 342 may cause the sudden enlargement of the time unit t27 partially presented on the display area 314. In the case of the FIG. 38, the solution given in order to avoid the enlargement of the respective time unit t27 is to incorporate the respective documents 342 within an elements management device 422. In FIG. 38, this elements management device 422 has scrolling properties 442.
The elements management device 422, as FIG. 38 illustrates it, may indicate the maximum number of documents 342 to be displayed on the display area 314 from all the documents 342 that were added to the axis 292 D. The display potential 438 indicates that the elements management device 422 may display up to 5 of such documents 342. Moreover, the elements management device 422 may have an on and off button 426 which the viewer may use to indicate if the newly added documents 200 may be displayed or not on the axis 292 D, within the display area 314. This embodiment, as well, illustrates another potential solution to the undesirable consequences that might arise as a result of the insertion of documents 342 within the display area 314, on the viewer of the display area 314.
FIG. 39 illustrates another embodiment of the present invention in which a group of axes 310 are partially shown on the display area 314. More specifically, FIG. 39 provides another possible solution for handling the addition and/or removal of numerous documents 200 within the display area 314
In FIG. 39, a series of documents 342 are being added simultaneously at a certain time distance from each other, on axis 292 D. Axis 292 D is partially shown on the display area 314. In order to avoid the sudden enlargement of the time unit t27 partially presented on the display area 314 as a result of the abrupt and rapid addition of documents 342 on the axis 292 D, the documents 342 that were inserted and/removed on the axis 292 D are compressed into a group of documents 430.
The group of documents 430 may indicate the number of documents 342 added to the axis 292 D. In the case of the FIG. 39, this number is 9, as indicated by the counting element 446. The group of documents 430 intends to avoid the enlargement of the time unit t27 as a result of the addition of the extra documents 200 on the axis 292 D, change that may cause unwanted consequences on the viewer of the display area 314.
The viewer of the display area 314 may explore the added documents 342 within the group of documents 430 a later time with or without changing the size of the time unit t27 and of the layout of the documents 200 within the display area 314.
FIG. 40 presents a flowchart illustrating in an exemplary manner the method upon which one or more aspects of the present invention are based, namely—the addition of an information element 342 on an axis 292 of information elements 200. The method consists of the following steps: displaying the information elements 200 with a commonality on an axis 292 of information elements 200; adding of at least one additional information element 342 to the respective axis 292; identifying the insertion location; and moving the information elements 200 on the axis 292 in function of the insertion parameter to display the additional information element 342 on the axis 292.
Similar to FIG. 40, FIG. 41 presents another flowchart illustrating in an exemplary manner the method upon which one or more aspects of the present invention are based, namely—the addition of an information element 342 on a group of axes 310 of information elements 200. The method consists of the following steps: displaying information elements 200 sharing a first commonality on an axis 292 of information elements 200; displaying information elements 200 sharing a second commonality on a second axis 292 of information elements 200; grouping the first and the second axis 292 of information elements 200; adding at least an additional information element 342 to be presented on one of the axes 292 of information elements 200; and moving information elements 200 on the axis and adjusting a time unit 322 of the group of axes 310 to display 314 the additional information element 200 on the axis 292.
FIG. 42 presents another flowchart illustrating in an exemplary manner the method upon which one or more aspects of the present invention are based, namely—the addition and display of a plurality of information elements 292 on the display area 314 in a predetermined manner. The flowchart consists of the following steps: displaying information elements 200 sharing a commonality on an axis 292 of information elements; adding a plurality of additional information elements 200 to be presented on the axis 292; identifying a display parameter; and moving information elements 200 on the axis 292 in function of the display parameter to display a predetermined number of the plurality of additional information elements 342 on the axis 292.
FIG. 43 presents another flowchart illustration in an exemplary fashion the method upon which one or more aspects of the present invention are based, namely—the viewer's receipt of notification and option to act based on the addition of at least one information element 342 on the axis 292 displayed on the display area 314. The flowchart consists of the following: displaying information elements 200 sharing a first commonality on a first axis 292 of information elements 200 for a first user; sharing an access right of the first commonality with a second user; adding at least one additional information element 342 with the shared first commonality by the second user; warning the first user that the at least one additional information element 342 is going to be displayed on the displayed first axis 292 of information elements; and selecting a display option to define how the at least one additional information element 342 may be displayed by the first user on the axis 292 of information elements that was displayed first.
FIGS. 44-45 represent the flowchart method presenting several of the embodiments of the present invention. The flowchart starts at FIG. 44 and consists of three steps.
Steps 1, which starts at block 458, consists of searching for events in respect to the adding and/or removal of documents 342, 346 taking place on the axis 292. If such events do occur, the system shows the display area notification feature 406, listing the information pertaining to the newly added and/or removed documents 342, 346.
The second step, which starts at block 462, consists of identifying if there are any insertions of documents 342 taking place on the axis 292. If the cursor 350 is moving, the system identifies the active region 348, towards which the cursor 350 is moving. Then, if the inserted document 342 is in the active region 398, the insertion does not take place. However, if the respective document 342 is at the left of the active region 398, the system pushes the documents 200 before the inserted document 342, to the left. After pushing the documents 200 to the left or to the right of the axis 292, the document 342 is inserted on the axis 292.
If the cursor 350 is not moving, if the inserted document 342 is at the left of the cursor 350, the system pushes the documents 200 before the inserted document 342, to the left of the axis 292. If the inserted document 342 is at the right of the cursor 350, the system pushes the documents 200 after the inserted document 342, to the right of the axis 292. The document 342 is consequently inserted on the axis 292.
Once the document 342 is inserted on the axis 292, the system identifies if the inserted documents 342 was placed on a linear or non-linear axis 292. If it is a linear axis 292, the system verifies if there is sufficient space to accommodate the insertion of the document 342. If this is not the case, the system compacts the inserted documents 342 within a time unit 322.
If the inserted document 342 was not placed on a linear axis 292, and was placed within a group of axes 310, the system checks if the time unit 322 has become larger as a result of the insertion of the document 342. If this were the case, the system checks if there are documents 200 visible on the other axes 292 of the group 310. If all these conditions hold true, the system adds temporary additional space 450 outside the display area 314 in order to keep the documents 200 within the display area 314.
Step 3 identifies if there are any documents 346 to be removed from an axis 292. If this were to be the case, the system identifies if the respective documents 346 are shown on the display area 314. If the document 346 is displayed on the display 314, the system adds a cross sign 378 to identify the removed document 346 from the rest of the documents 200 displayed on the display area 314. The document 346 is removed from the number of documents 200 displayed on the display area 314 the user may have selected. The system also disables the selection features on the document 346.
If the document 346 is not within the display area 314, it is removed from the axis 292. If the removed document 346 is at the left of the display area 314, the system pushes the documents 200 before the removed document 346, to the right. If this is not the case, the system pushes the documents 200 before the removed document 346, to the left.
The description and the drawings that are presented above are meant to be illustrative of the present invention. They are not meant to be limiting of the scope of the present invention. Modifications to the embodiments described may be made without departing from the present invention, the scope of which is defined by the following claims:

## Claims

1. A method of limiting a number of displayed user-selectable elements that are moved along an axis thereof, the method comprising:
displaying a plurality of user-selectable elements along the axis of user-selectable elements, the user-selectable elements being displayed in a rectilinear arrangement on a display area; and
adding and displaying a new user-selectable element in a position among the displayed user-selectable elements of the axis including determining in which direction the displayed user-selectable elements are going to scroll along the axis in order to allow the addition and display of the new user-selectable element on the axis by comparing a number of user-selectable elements displayed in a direction preceding the position of the new user-selectable element and a number of user-selectable elements displayed in a direction following the position of the new user-selectable element and, based thereon, selecting the direction having a minimum number of displayed user-selectable elements to be displaced, with the displayed user selectable elements in the non-selected direction remaining in place, as a result of the adding and displaying of the new user-selectable element on the axis.

2. The method of claim 1, wherein the position is selected on a basis of a collation function.

3. The method of claim 2, wherein the collation function is a chronological order.

4. The method of claim 1, wherein user-selectable elements are documents.

5. The method of claim 1, further comprising removing a displayed particular user-selectable element from the axis and determining in which direction the displayed user-selectable elements are going to scroll along the axis following the removal by comparing a number of user-selectable elements displayed in a direction preceding a position of the displayed particular user-selectable element and a number of user-selectable elements displayed in a direction following the position of the displayed particular user-selectable element and, based thereon, selecting the direction having a minimum number of displayed user-selectable elements to be displaced as a result of the removal.

6. The method of claim 1, wherein the displacement of the user-selectable element occurs after a delay.

7. The method of claim 1, wherein the displacement of the user-selectable element occurs after a movement of a pointing device on the display area.

8. The method of claim 1, further comprising displaying a notification before scrolling the user-selectable elements along the axis.

9. The method of claim 1, wherein adding a new user-selectable element is performed by a user.

10. A non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a computer, cause the computer to perform operations for limiting a number of displayed user-selectable elements that are moved along an axis thereof, the operations comprising:
displaying a plurality of user-selectable elements along the axis of user-selectable elements, the user-selectable elements being displayed in a rectilinear arrangement on a display area; and
adding and displaying a new user-selectable element in a position among the displayed user-selectable elements of the axis including determining in which direction the displayed user-selectable elements are going to scroll along the axis in order to allow the addition and display of the new user-selectable element on the axis by comparing a number of user-selectable elements displayed in a direction preceding the position of the new user-selectable element and a number of user-selectable elements displayed in a direction following the position of the new user-selectable element and, based thereon, selecting the direction having a minimum number of displayed user-selectable elements to be displaced, with the displayed user selectable elements in the non-selected direction remaining in place, as a result of the adding and displaying of the new user-selectable element on the axis.

11. The non-transitory computer-readable medium of claim 10, wherein the position is selected on a basis of a collation function.

12. The non-transitory computer-readable medium of claim 11, wherein the collation function is a chronological order.

13. The non-transitory computer-readable medium of claim 10, wherein user-selectable elements are documents.

14. The non-transitory computer-readable medium of claim 10, further comprising removing a displayed particular user-selectable element from the axis and determining in which direction the displayed user-selectable elements are going to scroll along the axis following the removal by comparing a number of user-selectable elements displayed in a direction preceding a position of the displayed particular user-selectable element and a number of user-selectable elements displayed in a direction following the position of the displayed particular user-selectable element and, based thereon, selecting the direction having a minimum number of displayed user-selectable elements to be displaced as a result f the removal.

15. The non-transitory computer-readable medium of claim 10, wherein the displacement of the user-selectable element occurs after a delay.

16. The non-transitory computer-readable medium of claim 10, wherein the displacement of the user-selectable element occurs after a movement of a pointing device on the display area.

17. The non-transitory computer-readable medium of claim 10, further comprising displaying a notification before scrolling the user-selectable elements along the axis.

18. The non-transitory computer-readable medium of claim 10, wherein adding a new user-selectable element is performed by a user.

19. A system capable of user-selectable elements, comprising:
a control which acquires an instruction for displaying of user-selectable elements via a user manipulation;
a non-transitory storage device which stores data for a plurality of user-selectable elements; and
a display output module which outputs image of user-selectable elements in response to the instruction acquired by the control; and
a display which generates a plurality of user-selectable elements along an axis of user-selectable elements on a display area, the user-selectable elements being displayed in a rectilinear arrangement,
the instructions comprising
adding and displaying a new user-selectable element in a position among the displayed user-selectable elements of the axis, including determining in which direction the displayed user-selectable elements are going to scroll along the axis in order to allow the addition and display of the new user-selectable element on the axis by comparing a number of user-selectable elements displayed in a direction preceding the position of the new user-selectable element and a number of user-selectable elements displayed in a direction following the position of the new user-selectable selectable element and, based thereon, selecting the direction having a minimum number of displayed user-selectable elements to be displaced, with the displayed user selectable elements in the non-selected direction remaining in place, as a result of the adding and displaying of the new user-selectable element on the axis.

20. The system of claim 19, wherein the position is selected on a basis of a collation function.