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

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 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 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.

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. 1illustrates an exemplary network10in which a system and a method, consistent with the present invention, may be implemented. The network10may include multiple client devices12connected to multiple servers14,16,18via a network20. The network20may 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 devices12and three servers14,16,18have been illustrated as connected to network20for simplicity. In practice, there may be more or less client devices and servers14,16,18. Also, in some instances, a client12device may perform the functions of a server14,16,18and a server14,16,18may perform the functions of a client12device.

The client devices12may include devices such as mainframes, minicomputers, personal computers, laptops, personal digital assistants, phones, or the like, capable of connecting to the network20. The client devices12may transmit data over the network20or receive data from the network20via a wired, wireless, or optical connection.

The servers14-18may include one or more types of computer systems, such as a mainframe, minicomputer, or personal computer, capable of connecting to the network20to enable servers14-18to communicate with the client devices12. In alternative implementations, the servers14-18may include mechanisms for directly connecting to one or more client devices12. The servers14-18may transmit data over the network20or receive data from the network20via a wired, wireless, or optical connection.

In an implementation consistent with the present invention illustratively embodied herein, the servers14-18may include a search engine22usable by the client devices12. The servers14-18may store documents200, such as web pages, accessible by the client devices12.

With reference toFIG. 2, a network20includes the content cloud30, a content database32, content devices34-38, and other devices40-48. The network mediator28enables network devices34-48to communicate with each other without pre-configuring each device34-48. The content cloud30represents 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 antenna26. The content includes multimedia content such as audio and video. The mediator28allows the content cloud to provide content to devices34-48. The database32is a storage device166that maintains content. The database32may be a standalone device on an external communication network. The mediator28communicates with the database32to access and retrieve content. The content devices34-48include intelligent devices, such as, for example, personal computers, laptops, cell phones and personal digital assistants. The content devices34-48are capable or storing content data. The devices34-48are intelligent devices that receive content from other content devices30-48. However, the devices34-48can 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 modules174being 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 inFIG. 2. In a distributed computing environment, program modules174may be located in local and/or remote memory storage devices166.

With reference toFIG. 3, an exemplary apparatus100for implementing at least some aspects of the present invention includes a general-purpose computing device in the form of a computer120or in the form of a computerized portable apparatus. The computer120may include a processing unit121, a system memory122, and a system bus123that couples various system components, including the system memory122, to the processing unit121. The system bus123may 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)124and/or random access memory (RAM)125. A basic input/output system126(BIOS), containing basic routines that help to transfer data between elements within the computer120, such as during start-up, may be stored in ROM124. The computer120may also include a hard disk drive132for reading from and writing to a hard disk, (not shown), a magnetic disk drive133for reading from or writing to a (e.g., removable) magnetic disk129, and an optical drive130for reading from or writing to a removable (magneto) optical disk131such as a compact disk or other (magneto) optical media. The hard disk drive132, magnetic disk drive133, and (magneto) optical drive130may be coupled with the system bus123by a hard disk drive interface132, a magnetic disk drive interface133, and a (magneto) optical drive interface134, respectively. The drives and their associated storage media provide non-volatile (or persistent) storage of machine-readable instructions, data structures, program modules174and other data for the computer120. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk129and a removable optical disk131, 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 devices166introduced above.

A number of program modules174may be stored on the hard disk127, magnetic disk129, (magneto) optical disk131, ROM124or RAM125, such as an operating system135(for example, WINDOWS® NT® 4.0, sold by MICROSOFT® Corporation of Redmond, Wash.), one or more application programs136, other program modules137(such as ALICE™, 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 data138for example.

A user may enter commands and data into the computer120through input devices, such as a keyboard140, a camera141and a pointing device referred to as a Mouse142Other 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 KINECT™ 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 unit121through a serial port interface146coupled to the system bus123. 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 camera141may be too great for the serial port, the video camera141may be coupled with the system bus123via a video capture card (not shown). The video monitor147or other type of display device referred to as a monitor147may also be connected to the system bus123via an interface, such as a video adapter148for example. The video adapter148may include a graphics accelerator. One or more speakers162may be connected to the system bus123via a sound card161(e.g., a wave table synthesizer such as product number AWE64 Gold Card from Creative® Labs of Milpitas, Calif.). In addition to the monitor147and speaker(s)162, the computer120may 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 monitor147, a stereo video output device, such as a head mounted display or LCD shutter glasses for example, could be used.

The computer120may operate in a networked environment defining logical connections to one or more remote computers120, such as a remote computer149. The remote computer149may be another computer120, a server14-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 computer120. The logical connections depicted inFIG. 3include a local area network (LAN)151and a wide area network (WAN)152, an intranet and the Internet.

When used in a LAN, the computer120may be connected to the LAN151through a network interface adapter (or “NIC”)153. When used in a WAN, such as the Internet, the computer120may include a modem154or other means for establishing communications over the wide area network152(e.g. WI-FI™, WINMAX®). The modem154, which may be internal or external, may be connected to the system bus123via the serial port interface146or another type of port interface. In a networked environment, at least some of the program modules depicted relative to the computer120may be stored in the remote memory storage device166. The network connections shown are exemplary and other means of establishing a communications link between the computers120may be used.

The exemplary network and the exemplary computer system described above are adapted to carry on the following embodiments:

A system170is depicted inFIG. 4which may represent the functionalities described in the instant application when run on an apparatus100, for instance a computer120, such as has been previously described. The computer120may in turn be connected to a server14-18comprising a set of program modules174enabling functions including but not limited to: computing, document rendering, network communication, application configuration and local database management.

The software system170illustratively consists of a collection of at least twelve modules174independent from those of the server14-18that 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 modules226may also be used in conjunction with the twelve base modules.

A computing module178provides a means to circulate data between users, the other modules174and the apparatus100. The computing module178is adapted to convert queries230, which may be system-based or user-based, into graphical rendering in accordance with at least one embodiment of the present invention. The other modules174are configured to send to and receive data from the computing module and to individually or collectively interact with other modules174.

An application configuration module182provides software configuration to manage application settings and open connections to other servers14-18. Other modules174may use the application configuration module182to manage their behavior to satisfy user-specific needs.

A data elements management module186may be used in conjunction with other modules to manage data elements such as documents200contained in a database32in response to a query230. The data elements management module186may use any kind of database connection and may use a network communication module190in order to access a database32through a network28, on a server computer14-18. The network communication module190may use several protocols in order to communicate with a server computer14-18, such as IPv4, IPv6, TCP, UDP, ODBC, HTTP, WebDAV, SSH, IMAP and even define its own specific communication protocol. The data elements management module186may also be used in conjunction with an email connectivity module194and network communication module190in order to treat and represent emails in the same way as the data elements of a database32. The data elements management module186may also be used in conjunction with the permissions module198(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 module186may also work in conjunction with a caches module202, providing client-side cached versions of the database32and files in order to respond to future requests faster. Modules174may 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's186interactions with other modules174.

The data elements management module186may sort through documents200stored in the database32and connected to each other via a variety of referencing modes, may apply a filter as specified in a query230and may subsequently direct the filtered documents200to other modules174(this will be shown inFIG. 6). One such module may be an axis-ordering module206which may distribute documents200filtered by the data elements management module186onto an axis-like array288or axis292(illustrated inFIG. 6) according to a collation function that may be user- or system-specified and analyzed by the computing module178. An axis292or axis-like array288is an embodiment of graphical rendering of the functionalities described in the present specification on a device's display150that can be embodied as a substantially rectilinear sequence of documents200from which a viewer can infer meaning and/or relationships therebetween. An axial distribution292of documents200is adapted to accommodate and display a single type of documents200or, if desirable, more than one type of documents200, computer files, multimedia contents, user-selectable elements and/or user-selectable menu elements. Generally, an axis292is used to graphically group information elements200having a commonality. Other functionalities related to axes292shall be described in greater detail below.

The axis-ordering module206may manage the ordering of single documents200and/or several documents200assembled into document sets220onto one or more axes292. In addition of managing the collation of documents200onto an axis292, the axis-ordering module206may also manage the order of the documents200contained within secondary documents sets232(not illustrated). The positioning module210manages the positioning of documents200within axes240based on interactions with other modules174processing the various elements contained in a query230. The positioning module210is adapted to and may interpret data contained in document sets228generated by the data elements management module186in relationship to the query230to identify a location for a given document set228within the collation of an axis292. Likewise, a visually distinctive features management module214is adapted to interpret data contained in documents200or document sets228generated by the data elements management module186in relationship to the query230to selectively apply one or more visually distinctive features284(not illustrated in this figure) to single documents200or document sets228. Finally, a display management module218may, inter alia, manage elements related to the user interface234, possibly interacting with a graphics card and a monitor147. The display management module218may use a document-rendering module222that provides instructions to render specific documents200, like images, text files, word-processing files, spreadsheet files, presentation files, etc. The document-rendering module222may also provide an API to let developers add their own extensions to deliver to renderers other document types.

FIG. 5depicts a computer system120comprising an operating system135with an integrated axis-based user interface238. As illustrated inFIG. 5, the axis-based user interface238could serve as a desktop environment to manipulate documents200(such as files, objects and applications), or could be used as a main operating system135user interface234. One can appreciate a hierarchical description of a computer system120and software system170with multiple components242. First, hardware246is used to provide users with a physical device34-48. Second, the axis-based system could be built on top of an existing operating system core and kernel250, such as, for instance, UNIX™ or BSD™. A graphics API254like OPENGL® could also be used in order to provide basic graphical capabilities to the system via a video adapter148.

Multiple core functionalities could be integrated to provide core operating system135services. A graphical layer framework component256could be built over the graphics API component254, and could be used to provide complex drawing capabilities. The layer-based graphics layer framework component256may also supports widgets rendering and handling (like buttons, text fields, dialogs, etc.) A network management component260could be based on pre-existing network management capabilities in the operating system core and kernel250. It could serve as a tool to manage an Internet network connection through ETHERNET®, BLUETOOTH®, WI-FI™, Modem and other communication channels. A utility component264could handle all the other services needed to communicate with the operating system core and kernel250, providing functionalities such as user login, user authentication, memory, disk-access management, etc. Using these modules, the axis-based user interface238would use core functionalities from the graphical layer framework component256, the network management component260and the utility component264to provide workspaces306comprising multiple axes292or groups of axes310that display documents200(not shown inFIG. 5). The axis-based user interface238may also provide more integrated actions, like interface buttons, preview or magnification that may be directly docketed. Another component, a system preferences management component268, would provide multiple functions needed by the axis-based user interface238, such as dialogs to manage document insertion, attribute definitions, users, permissions, application configuration, etc. Finally, the operating system135may comprise a window management system emulation module272. 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 interface238. To provide other functionalities, third-party application providers could build third-party core modules276on top of the axis-based user interface238and system preferences management module268. Third-party application providers could also develop third-party software environments280and other applications that could be run using the window management system emulation272, providing the user with useful applications such as an Internet Browser, Office Business Applications, Multimedia Applications, Games, etc.

The Window Management System Emulation272could also offer functions to provide a more axis-based user interface238integration, such as, previews, player and editors for the documents200displayed in the axis-based user interface238. For example, a rich text document200could use a third-party module276or third-party software environment280to provide a previewer or media player for the document200, or a third-party application to integrate a live editor on the axis-based user interface238.

This computer system120could be used, for instance, as a business solution to provide users with an axis-based user interface238operating system135directly on multiple kinds of devices34-48(computers, laptop, tablets, cell phones, etc.). The computer system120may also illustratively be used as a business solution to sell preconfigured devices34-48with the axis-based user interface284. Since the operating system135has a built-in axis-based user interface284, the device34-48is likely to have a display150and other input device like a keyboard140, a mouse142or a touch-screen interface. The devices34-48may not necessarily provide such parts and may be adapted to be used by communicating information about the user interface240and input methods with other devices34-48(television set, motion sensing input device, computer or tablet over network, cell phone, etc.)

FIG. 6illustrates the interaction of the computer system120and software system170with an axis-based graphical user interface238. An interface program providing a graphical user interface234for managing information elements200in accordance with an embodiment of the invention is installed on a machine, e.g. a computer system120as illustrated inFIG. 3. The interface234can 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 interface234may run through the operating system135and the hardware246of the computer system120or, alternatively, through a network-based system e.g. client-server, and/cloud computing system as exemplified inFIG. 1andFIG. 2. The interface234is adapted to display and manage information elements200, generally provided on a basis of a query230, which may be stored in one or many databases32(as illustrated inFIG. 6) that might be distributed in a combination of locations (e.g. multiple databases, web, cloud, etc.). Information elements200may 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 documents200to lighten the text without limiting the scope of the present invention.

An axis-based graphical interface238is adapted to graphically structure documents200in arrays288that arrange the documents200in rows and/or columns in a reasonably regular fashion and to allow navigation thereof by the user further to a query230. The axis-based layout and ordering provide the user with information about the content of each document200, its meaning and its relationships to the other documents200disposed on the axis292. Navigation tools are provided with the axis-based user interface238to allow navigation through the documents200of a single axis292and of various axes292when a plurality of axes292is enabled. The display of documents200on an array288, or axis292, therefore allows contextual management of documents200as a flow, or an ongoing rational sequence of documents200. An axis-based interface238thus helps to intuitively display a group of documents200and facilitate understanding and managing large sequences of documents200bearing a relation.

In a simplified exemplary form, an array288may be embodied as an axis of documents292(herein below referred to as axis292to lighten the text), which groups documents200in a single row or column, as illustrated inFIG. 6. An axis292can be embodied as a substantially rectilinear arrangement of documents200adapted to dispose each document200on a straight or curved line. The axis292can be embodied as completely straight (rectilinear), slightly curved, substantially curved, circular, angled, following a particular shape or have a consistent shape over which documents200are disposed in a reasonably consistent fashion. The exact shape of the axis292as well as its disposition can vary—horizontal, vertical or other—in relation to the device's display150. What matters, inter alia, is that the layout structure of an axis292provides a sequence of documents200from which a viewer can infer meaning, logical connections, contextual location, and/or relationships.

The axis292can be represented as a single axis292, a double axis292, or more axes292. Axes292may be independent from one another (using distinct scales, or orderings, henceforth referred to as collation functions300) or may form a group of axes310by sharing the same scale or collation function300. Also, a document200, attribute296or other property of an element contained in an axis292can be selected and used as a logical connector to create an additional axis292from an existing axis292. This subsidiary axis294is meant to be temporary in some embodiments, serving as a way to view a specific set of additional documents200or highlight certain documents200from the original axis292without having to alter the entire workspace306. It may originate from the logical connector document200or information element200and be disposed in non-parallel fashion thereto. The subsidiary axis's294position is preferably orthogonal to the original axis292. However, the angle may vary. Like axes292, logically connected axes294may be scrollable. More such logically connected axes2924can subsequently be created in the same fashion. Navigation among axes292and subsidiary axes294could be called “relational navigation”.

Axes292may be disposed horizontally and/or vertically. Groups of axes310may be presented using one of the layouts or combining both. The axes292presented 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 documents200might 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 axis292is visible, a play of zoom, pan and scrolling movements along the axis292allows a user to navigate the axis292and change the series of documents200that are displayed in the display area314of the display150. 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.

Documents200might overlap or decrease in size so as to fit or maximize the space available in the display area314. Selected documents200on an axis292can be magnified to increase the level of detail shown. Similarly, a small display area314could display only one document200out of the entire axis292. The remaining documents200would not be shown in the display area314but would yet remain at their respective “virtual” position on the axis292, ready to be displayed upon scrolling the axis292. In other words, if we consider a mobile platform like a mobile phone having a small display150, the small display150might only allow to efficiently exhibit one document200at a time. However, given that the displayed document200is part of an axis292, the other documents200on the axis292would remain displayable in accordance with their respective position on the axis292when the axis is scrolled, navigated, gestured.

The documents200are selected to be disposed on the axis292on the basis of one or more attributes296, and are ordered thereon according to a collation function300, namely an ordered arrangement made by comparison, (e.g. a chronological order adapted to use a time scale318. The attribute(s) and collation function parameters are specified in a query230that may be run by a user or by an automated function of the system. Indeed, each axis292groups documents200in accordance with, for example, a selected tag, category, keyword, document creator, or other attribute296that expresses a characterization of one or more document(s)200and that are configurable to represent intrinsic or extrinsic characteristics. The term “attribute”296will 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.

Attributes296may be user-specified or system-specified. Generally, documents200bear a plurality of attributes296assigned by one or more user(s) (e.g. keyword, subject, project, creator, category, etc.), and a plurality of attributes296that 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 attributes296that may be assigned by the system and user, as well as the attributes296that can be desirable to use in the management of axes292might substantially vary from one field or user to another and however remain within the scope of present specification.

The selection of one or more attributes296(using Boolean logic for instance) in a query230determines which documents200will be displayed on the axis292. If no specific attribute296is selected, the axis292will display all documents200in a default order, like the date of creation thereof. Thus, all documents200on the same axis292are normally associated with the selected set or combination of attributes296that are used as parameters for the axis292. Third-party data, like publicity or user-targeted information, could also be added to an axis292, either arbitrarily or according to user information, filtering and/or existing collation of axes292without departing from the scope of the present invention.

The documents200illustrated inFIG. 6feature attributes296individually represented by a capital letter thereon, or none, in which case the documents200are left blank. Letter attributes296are used in the present application for illustrative purposes only while letter attributes are theoretically possible. More descriptive attributes296such as those described above are used in embodiments of the present invention. As is shown inFIG. 6, any document200can simultaneously feature multiple attributes296, some user-specified and others system-specified. In fact, a preferred embodiment of the invention assigns a plurality of attributes296to every document200. Other documents200illustrated onFIG. 6are blank, or without any associated attribute296, illustrating documents that could theoretically not be assigned any attribute296, but that could nonetheless be created and found in a query230(e.g. a query230that would select all documents200contained in the database32).

The query230inFIG. 6here illustratively filters and selects documents200from the database32based on attribute296‘A’ for display on the axis292.FIG. 6further illustrates that the documents200selected from the database32by the query230are placed on the axis292in chronological order318, another parameter that could be specified in the query230. Indeed, an axis292also generally disposes the documents200resulting from the query230in accordance with a specified order or collation function300, (e.g. chronological order, alphabetical order, statistical order, increasing file size, etc.). A collation function300might include dividing the axis292into successive collation units304(e.g. time units322in the case of a chronological order, which can illustratively be hours, days, months, years, etc.). A collation function300would thus dispose each document200along the axis292according to the value of a specified attribute296in relation to the collation units304of the axis292and the other documents200of the selected document set228. Among collation functions300, a chronological distribution of documents200on a time scale318is 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 axis292disposing documents in random fashion is also contemplated within the scope of the present specification, axes292disposing documents200according to a collation function300are illustrated embodiments because of the usefulness of ordering documents200.

An axis292or a group of axes310may be embodied in a linear configuration326or a non-linear configuration330. Both configurations are illustrated inFIG. 7in a generic example. As can be appreciated fromFIG. 7, a linear configuration326displays collation units304of the same graphical longitudinal size regardless of the number of documents200contained in each collation unit304. The size of the documents200located within a given collation unit304can optionally be adjusted in accordance with the number of documents200located therein. For instance, documents200will be larger if there are few documents200in the collation unit304and smaller if many documents200are found therein. Alternatively, the documents200can 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 documents200fit into a fixed-size collation unit304is to equip the collation unit304with a scroll bar allowing the user to navigate the collation unit304to reveal hidden documents200. This also means that documents200in a linear configuration326may be displayed as an uneven sequence from a graphical point of view. Ultimately, a collation unit304in a linear configuration containing no document will appear as empty, or as a blank space on the display150, but will still be the same size as the other collation units304of the axis292.

Conversely, the non-linear configuration330displays collation units304of uneven longitudinal sizes because an even distribution of documents200along the axis292prevails over the linearity of the collation. In other words, document200size and a constant flow of documents200along the axis292are given primacy over having collation units304of equal graphical size. This provides a more efficient use of the space on the axes292, but may provide less meaning to illustrate an evolution along time.

Conversely, the non-linear configuration330displays collation units304of uneven longitudinal sizes because an even distribution of documents200along the axis292prevails over the linearity of the collation. In other words, document200size and a constant flow of documents200along the axis292are given primacy over having collation units304of equal graphical size. This provides a more efficient use of the space on the axes292but may provide less meaning to illustrate an evolution along time.

FIG. 6presents a graphical user interface234. More specifically, it illustrates an axis-based user interface238with a linear axis configuration326. The linear axis configuration326shows an axis-like array288. This is an exemplary illustration of how documents200can be presented on a linear axis292within and outside of the display area314.

Documents are not the only items one could find on an axis-like array288. Videos, menu options, emails and numerous other types of information elements can also be displayed on an axis-like array288. However, for the purpose of explaining and describing this invention, the Figures presented herein will only reserve to axes292with documents200only.

In the axis-like array288, documents200are laid out in a linear fashion, based on the framework set out by the collation units304. By “linear,” we refer to the idea that documents200are arranged and extended along a straight horizontal line.

A collation unit304collects and combines certain elements on an axis292. In the case ofFIG. 7, the collation units304gather and combine documents200in a certain predetermined order.

The collation unit304is chronological in nature. That is, documents200are organized on the axis-like array288according to time units322(t27, t28, t29, t30and t31) that are equally spaced. The time scale318specifies the division of time. For example, it can be by hour, day, month, or year.

The collation function300makes it possible for time units322to align accordingly on the axis292based on a certain time scale318. Moreover, these time units322are moving progressively to the right. The time unit markers334identify the beginning and end of a time unit322.

The collation units304do 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 units304contain more documents200than other ones. This is because on a linear axis292, the collation units304are equally spaced from each other and, therefore, of the same length. As a result, it will often be the case that some collation units304will be empty and some—full or partially full of documents.FIG. 7illustrates this very phenomenon. The time unit t28, for example, contains only one document200. Time unit t29is full, while time unit t30—empty of documents200. It is thus safe to assume that not all axes displaying documents or any other elements, such the axis of documents292depicted inFIG. 7, are comprised of collation units304that are equally spaced.

Axes292that have non-equally spaced collation units304are called non-linear axes292. Notably, the variation in length of the collation units is the one major distinctive feature that sets non-linear axes292apart from the linear ones292.

FIG. 8illustrates a non-linear axis of documents, with non-equally spaced collation units304. Just like inFIG. 7, they follow a chronological order, set up by the collation function300. A certain time scale318defines them. Time unit t27contains 7 documents200while time unit t28—only 5.

Non-equally spaced collations units304, presented inFIG. 8, are adapted to present documents200to be shown on the axis292in a regular, consecutive and chronological manner. There is no space between them, only separators when a time unit322change occurs. In this Figure, these separators are marked as time unit markers334.

FIG. 8shows a document200with a visually distinctive feature284. 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 documents292, 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 documents292share one attribute in common. That attribute is depicted in the figure as attribute B, and is marked to the left of the axis of documents292. The user may carry out a search within the documents200of the axis292to seek for the document(s) that has/have another sub-attribute assigned to it/them. Document with a visually distinctive feature284would represent the result of the search. It would be consequently visually highlighted in some sort of way on the axis of documents292in order for the viewer to easily differentiate it from the rest of the documents200.

FIG. 9presents a graphical user interface234. More specifically, it illustrates an axis-based user interface238with a linear axis configuration326as it can be visible on three distinct display areas314. The simultaneous presentation of three different display areas314on the same axis292is provided for illustrative purposes only despite the fact that only one display area314would suffice and normally be utilized to show a portion of the axis292. The purpose of displaying three instead of one display area seeks to schematically demonstrate the variety of layouts and placements of documents200on an axis292and the different ways in which they can be viewed via display areas314. By this, one can see that some display areas may have no documents200displayed, some—a few and some might present a portion of an axis292filled completely by documents200.

The linear axis configuration326presented inFIG. 9is also illustrated inFIG. 7. The difference lies in the fact thatFIG. 9shows how the documents200exhibited on the linear axis292can be viewed on display areas314. A computer or telephone screen can serve as a display area314. 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 examiningFIG. 9from left to right, one notices that the display area314closest to the left side of theFIG. 9visually fully displays two documents200belonging to the time unit27and one document belonging to the time unit t28. The display area314shown in the center ofFIG. 9shows two documents belonging to the time unit t29, while the display area314to the right side ofFIG. 9fails to bring to light any documents, as the time unit t30, which is shown on this display area314, contains no documents200. To summarize,FIG. 9schematically points out that the portion of a linear axis292(or the whole axis292), when visible on a display area314, may display some or no documents; moreover, it may potentially present on the display area314empty space as well.

FIG. 10illustrates a non-linear axis of documents292, with non-equally spaced collation units304, as it can be visible on three distinct display areas314. If examined carefully, one notices that the non-linear axis292presented inFIG. 10is also illustrated inFIG. 8. The difference lies in the fact thatFIG. 10schematically illustrates how the documents200exhibited on the axis292can be viewed on the display areas314.

Non-linear axes292, in general, when visible on a display area314, show documents200or 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 fromFIG. 10further illustrate this:

The display area314to the utmost left side ofFIG. 10presents the document with a visually distinctive feature284. This display area314shows fully three documents200belonging to the time unit t27. Moreover, it partially reveals two other documents200belonging to the same time unit t27.

The display area314in the center ofFIG. 10shows fully two documents200, one belonging to the time unit t27and another—to the time unit t28. Furthermore, this display area314shows partially two other documents200, one belonging to the time unit t27and the other—to time unit t28.

Similarly, the display area314to the right side ofFIG. 10shows three documents200belonging to time unit t29. Another partially displayed documents200belongs to the time unit t28.FIG. 10seeks to illustrate that a non-linear axis292with documents200, when visible on a display area314, shows documents without revealing any empty space.

FIG. 11illustrates the insertion of a document342on a non-linear axis of documents200. The insertion takes place outside of the display area314. The display area314shows ten documents200. The eleventh one, located at the utmost right side of the display area314, is only partially shown.

The documents200within the display area314belong to three different time units, one of which is shown fully on the display area314. The beginning and end of this time unit are marked by two time unit markers334. Document201.1is the last fully-displayed document200shown on the left side of the display area314.

Within the time unit fully shown on the display area314, there are two documents with a visually distinctive feature284, described in greater length in the discussion aboutFIG. 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 feature284. Both are located to the outmost left side ofFIG. 11. One of which is the first document200displayed on the axis292, as it is located next to the beginning of the axis336.

Not all the documents200present on the axis292shown inFIG. 11are displayed in the display area314. Some of them are outside of the viewing space. One document200with a visually displayed feature284is shown outside of the display area, on the left side ofFIG. 11. Two documents200, along with a portion of a document200, are displayed outside the display area314, on the right side ofFIG. 11.FIG. 11shows only the beginning of the axis292, implying that there are documents200on the axis292beyond the ones displayed in the Figure.

FIG. 11also illustrates how an inserted document342is added to the axis292. The insertion arrow362points out the exact location where this document is inserted—outside the display area314, and on the beginning of the axis292. This insertion location may have been chosen by the collation function300.

There are two ways documents342can be inserted on a document: when it is already existent and is given an attribute based on which the axis292is 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 document200on an axis292. In a network collaborative work context, multiple users can simultaneously insert or change attributes of elements200distributed on one or more axes292.

FIG. 12illustrates the insertion of a document342on a non-linear axis292, outside the display area314and a way in which this insertion affects the way documents200within the display area314are graphically laid out. This is likely to be one of default implementation in an axis-based interface238since the beginning of the axis292was not moved.

FIG. 12depicts the same non-linear axis292as the one illustrated inFIG. 11.FIG. 12, moreover, shows how the insertion of the document342on the axis292shifts the location of all the documents200of the axis292to the right. The arrow366indicates the direction towards which the documents200are moved as a result of this insertion.

Due to the insertion of document342, all the documents200within and outside of the display area314shifted to the right in order to make room for the newly added document342. Moreover, the document200,1is now partially located outside the display area314inFIG. 12.

FIGS. 13 and 14illustrate two other possible embodiments of the way a document342can be inserted on a non-linear axis292, outside the display area314. InFIG. 13, a document342, as shown by the insertion arrow362, is being inserted on the utmost left side of the axis292, outside of the display area314. The insertion causes the beginning of the axis336to move further to the left to make room for the newly added document342, without affecting the display of documents200within the display area314.

InFIG. 14, the same document342is inserted on the right side of the axis292, outside of the display area314. This insertion causes the document200,2to move to the right, as arrow370indicates it, outside of the display area314.FIGS. 13 and 14demonstrate how the insertion of a document342on a non-linear axis292, outside the display area314, does not necessarily affect the visual display of documents200within the display area314.

FIGS. 15 and 16illustrate two other possible embodiments of the way a document346can be removed from a non-linear axis292, outside the display area314.

FIG. 15illustrates a possible way in which documents346may be removed from the axis292, outside of the display area314. The removal arrows374point to the possible directions towards which these documents200may go as a result of their removal. One must be reminded that the removal of a document200from an axis292, in general, may be caused by the removal of the attribute that once linked it to an axis292and/or by the actual deletion of the document200by a user. As theFIG. 15seeks to illustrate, the removal of documents200from an axis292, from within space outside of the display area314, will not affect the distribution and layout of these documents200on the display area314.

FIG. 16illustrates another aspect of the present invention offering another option of the way in which documents346, when removed from the display area314, may not affect the display and layout of the documents within the display area314. Similarly toFIG. 15,FIG. 16illustrates how a document346may be removed from the axis292, from the outside the display area314, without disturbing the layout of the documents200within the display area314.

Moreover,FIG. 16illustrates a possible solution to the problem that might arise as a result of the removal of documents346from the display area314. The cross signs378mark the two documents346that have been removed from the display area314. In order to avoid the possible movement of the rest of the documents200within the display area314as a result of their removal, the space that these two documents346once occupied on the display area314remains static and unchanged. The two documents346that were removed remain listed on the axis292, within the display area314, and are being marked by the cross sign378.

The cross sign378presented inFIG. 16is for illustrative purposes only, and may be substituted by other means seeking to identify the documents346that were removed from the display area314, from those that were not.FIG. 16, therefore, represents one aspect of the embodiment in which the removal of documents346from the display area314of an axis292may not affect the viewer of the display area314.

FIGS. 17 and 18illustrate another possible way in which the insertion of a document342on an axis292may affect the viewer of the display area314and 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 document200on the display area314. The loss might cause frustration and confusion to the viewer. To understand it, one must examineFIGS. 17 and 18together in order to trace the succession of events illustrated herein.

FIG. 17illustrates an axis292with documents200, placed within the display area314. A document342is being inserted on the axis292, inside the display area314, between a document200.3and the document with a visually distinctive feature284. The insertion arrow362pinpoints the exact location where the document342is being introduced.

The display area314, also, exhibits four other noteworthy documents200, three of which are documents with a visually distinctive feature284. The other one, document200.2, is located to the left of the document200.3.

A pointing device348, embodied inFIG. 17as a cursor350, points towards the document200.2. The cursor350may indicate the viewer's intention to deal with the document200.2and, therefore, serves as a reference (aka reference point) indicator based upon which the addition and/or removal of documents200may take place within and outside of the display area314.

The reference based upon which the addition and/or removal of documents342,346may take place within and outside of the display area314may be embodied, for example, as the position of the cursor350, as shown inFIG. 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 area314, or as a collation position. Moreover, the reference based upon which the addition and/or removal of documents200may take place within and outside of the display area314may 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 area314. The static reference may be embodied as a line, displaying vertically the center of the display area314. For example, it is presented inFIG. 18as the center of the display area358. The line indicating the center of the display area358(FIG. 18) is not shown to the user. It may also be embodied as a vertical line located on the display area314, as shown inFIG. 19as the vertical line354. This line as well is not revealed to the user.

The dynamic reference aligns itself to the movement of the pointing device348, which may be embodied, for example, as a cursor350or the position and alignment of the viewer's eyes in relation to the display area314.

The possibilities of the actions one might want to undertake in respect to the document200.2are 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 document200.2, the viewer might unintentionally target another document200.3instead 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 document200other 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 document342are most likely to occur especially when the insertion is subject to no order or, in other words, randomly carried out.

FIG. 18presents a possible way in which the insertion of documents342may be carried so that it would alleviate the effect the random insertion of document342might have on the viewer of the display area314. In this Figure, the insertion of document342is carried out in relation to the center line of the display area358. The center line of the display area358is the reference based upon which the insertion of the document342is handled.

More specifically,FIG. 18illustrates how the insertion of the document342may be carried out in on half of the display area314, namely, on the side where the cursor350was initially pointing at document202.2. This side is determined in reference to the center of the display area358.

As a result of the insertion of the document342, the cursor350is now pointing towards the document200.3. This is because the document342, when inserted on the axis292, pushed to the left, as indicated by the arrow366, the documents200located on the left side of the space occupied by the document342. The movement to the left occurred as a result of the insertion of the document342on the axis292.

FIG. 19illustrates the preferred embodiment of the present invention in which the movement of documents200on the axis292, when a document342is being inserted on the axis292, is carried out in reference to the location of the viewer's pointing device348, embodied in this Figure as a cursor350.

The vertical line354indicates the location of the display area314aimed by the viewer, based on the position of the cursor350. The insertion of the document342on the axis292is carried out so that the documents200move in the opposite direction from the vertical line354; in other words, in the opposite direction from where the aimed document382is located. The arrow366indicates that the documents200move towards the right side of the display area314as the aimed document382is located on the left side of the display area314.

InFIG. 19, the vertical line354is vertical because it is perpendicular to the axis292. If the axis292were to be vertical, the line354would be embodied as a horizontal axis defined by the position of the cursor350.

Similar toFIG. 19,FIG. 20illustrates another embodiment of the present invention in which the movement of documents200on the axis292, as a result of the insertion of the document342, is based on the location of the aimed document382. The document382is the document targeted or aimed by the viewer. The insertion of the document342is carried on the basis of the region of the display area314towards which the viewer is looking. In this Figure, this region is marked by eye view indicator386.

The actual position and aim of the viewer's eyes in relation to the display area314can be detected, for example, via a web camera connected to the display area314. The web camera could be used in order to track the viewer's eye movements and/or hand gestures. Even if the pointing device348inFIG. 20, embodied as the cursor350, is located on the right side of the display area314, the movement of documents200on the axis292is carried out, as the arrow366indicates it, towards the left side of the display area314, away from the aimed document386. This is so that the viewer may not be affected by the insertion of the document342, as the viewer's attention is focused on the utmost left side of the display area314.

FIGS. 21, 22 and 23illustrate another aspect of the invention in which the insertion of a document342on an axis292may affect the viewer of the display area314and 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 examineFIGS. 21, 22 and 23together in order to trace the succession of events presented herein.

FIG. 21illustrates the viewer's intent to aim and target the document200,4presented on the display area314by using a pointing device348embodied in as a cursor350. The successive cursors350shown inFIG. 21represent a cursor being moved by the user. Simultaneously to the viewer's attempt to target the document200,4, a document342is being added to the axis292, in near proximity to the aimed document200.4.

FIG. 22illustrates a possible outcome of the insertion of the document342on the axis292on the aimed document200.4. In the case ofFIG. 22, this outcome is illustrated as an immediate movement of the aimed document200,4from within the display area314towards left, as indicated by the arrow366, and into the area of the axis292that is not displayed to the viewer. In this case, using a logical approach similar to the one shown inFIG. 19, the left movement of documents200is chosen because it is in the opposed direction from the location where the cursor350was initially located. Therefore, it is in the opposite direction from the center of the display area358. With the movement of the aimed document200.4leftwards, the viewer would have now had to attempt to reach the document200.4by scrolling for example, activity that might prove to be dissatisfactory and causing some degree of inconvenience to the viewer.

FIG. 23illustrates the preferred embodiment of the present invention, presenting another solution to the problem the viewer might face as a result of the insertion of documents342within the display area314. In this case, the solution provided consists of identifying the side of the display area314upon which the viewer focuses most of the attention based on the direction and movement of the cursor350. The solution provided inFIG. 23, also, offers to insert documents200within the idle side of the display area314, towards which the viewer does not aim via its pointing device348and/or glance. InFIG. 23, the insertion of the document342is carried in the idle region394of the display area314. This is the region in which the document200.4towards which the viewer aims is not located.

The display area314is equally divided into two sub-regions: the idle region394and the active region398. The active region398is the space of the display area314towards which the viewer is aiming in order to reach a certain aimed document200.4. It is therefore the region of the display area314in which most of the movement of the pointing device348and/or of the aim of the viewer's eyes is/are taking place. Similarly, the idle region394is the space of the display area314towards which the viewer does not aim via its pointing device348and/or glance.

Once these two regions are identified and marked through the usage of the vertical axis354(not shown to the user), the insertion of documents342takes place within the idle region394and outside the display area314, where the addition of an extra document342would not cause the displacement of any documents200within the active region398.

The non-insertion arrow402indicates that the insertion of document342within the active region398does not occur. That is because the viewer, by moving the pointing device348embodied in this Figure by the cursor350, would cause the system to pause and assess the direction of the movement of the cursor350. Once it would stop at a specific aimed document200.4, the system would identify the region of the display area314upon which the trajectory of the movement of the cursor250was traced. This region is the active region398of the display area314.FIG. 23, therefore, embodies another solution to the unintended and/or undesirable consequences of the insertion of a document342on an axis292within the display area314.

FIG. 24embodies yet another solution to the unintended and/or undesirable consequences of the insertion and/or removal of a document342,346within the display area314. The solution consists in notifying the viewer of the display area314of any changes that might occur to the documents200on the axis292without adding or removing any of them until a later time, following the instructions set up by the viewer.

FIG. 24presents the same axis292illustrated in the previousFIG. 23, upon which the same display area314is superimposed to bring to the viewer's attention to a series of documents200which were described above at a greater length. Above the axis292, one notices the display area notifications feature406. These notifications concern the changes taken place while the axis292is displayed on the display area314. These changes, however, do not lead to the visual displacement of documents200within and outside of the display area314until a later time, chosen by the viewer.

The actual presentation of the display area notifications feature406may 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 documents200have been added to the axis; one of the documents342is to be inserted within the display area314; one document200from the display area314has been removed. These notifications may, also, indicate the identity of the user(s) who added and/or removed documents342,346. Moreover, these notifications may offer the time when these documents342,346may be added and/or removed from the axis292in light of the preferences and selection of the viewer. Documents342outside of the display area314may 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 document342,346may occur. The display area notification feature406may offer the addition and/or removal of the documents342,346to be carried out automatically on a specific and/or periodical time. It may also offer to add and/or remove the documents342,346when the user removes and reopens the axis292.

Similar toFIG. 24,FIG. 25embodies another solution to the unintended and/or undesirable consequences of the insertion of a document342within the display area314, on the viewer of the display area314. The solution consists in offering the viewer the option to pause for a certain time the removal and/or addition of any documents342,346on an axis292of documents200and allow the viewer to activate the actual update of the axis292at a time determined by the viewer, when any modifications to the axis292, within and outside of the display area314, are deemed to have less or no impact on the viewer.

FIG. 25seeks to illustrate, through the non-insertion arrows402, that none of the insertions of the documents342are allowed to take place within and outside of the axis292. This is because these modifications are not permitted to take place until the viewer activates the pause/activate feature410. This feature inhibits any modifications of the documents200on the axis292to take place until the viewer allows them to happen.

InFIG. 25, this permission is expressed by the viewer's activation of the pause/activate feature410. 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 documents342,346on the axis292by pausing the pause/activate feature410. The pausing may be visually presented, for example, by a change of color from the one depicting activated state of the pause/activate feature410.

FIGS. 26, 27 and 28illustrate three respective possible embodiments of a linear axis292as it may be partially viewed via a display area314. These Figures illustrate possible distributions of documents200on a linear axis292, on which some collation units304, in this case, time units322, may be partially, semi and/or completely filled with documents200. Moreover, they illustrate how the addition and/or removal of documents342,346from within these time units322may take place in light of the fact that some of these time units322are only partially or fully empty of documents200.

FIG. 26illustrates how an axis292may be partially viewed on a display area314. The portion of the axis292displayed via the display area314is, however, filled to the maximum with documents200. The insertion and/or removal of documents342,346, however, may take place nonetheless. In this Figure, the insertion arrows362identify potential spaces on the axis292, outside of the display area314, where documents342may be added. Moreover,FIG. 26illustrates that document346may be also removed. In this case, the document346is being removed from time unit t31. The removal arrow374indicates the removal of the document346. With this scenario, the viewer of the display area314will not be subject to undesirable modifications of the layout of the documents200displayed within the display area314. The removal and insertion of documents200take place without modifying the display of documents200within the display area314.

FIG. 27illustrates how an axis292may be partially viewed on a display area314. Roughly half of the area of the axis292displayed via the display area314is filled with documents200. The insertion arrow362indicates that documents200may be added in the empty space visible via the display area314. With this scenario, as well, the viewer of the display area314will not be subject to undesirable modifications of the layout of the documents200displayed within the display area314. Even if two more documents200were to be inserted inside the display area314, within the time unit t28, asFIG. 28illustrates it, this would not cause the documents200within the time unit t29to dislocate.

FIGS. 29 and 30illustrate another embodiment of the present invention in which the insertion of the document342within the display area314leads to the movement of another document200.5from within the display area314outwards into the non-displayed area. This phenomenon occurs in the case where the collation unit314partially revealed within the display area has some empty space which makes possible the insertion of other documents200.

InFIG. 28, document342is being inserted between two documents200revealed within the display area314. These two documents are document200and200.5. Moreover, document342is being inserted in the time unit t28and before the document200.5. In the case illustrated inFIG. 28, the location where the document342is inserted is identified based on the fact that the time and/or date the document342was produced was prior to the time and/or date when the document200.5was created. Given that the time units t27, t28, t29, t30and t31present documents200in a chronological order, progressively and consistently moving from left to right, the documents342inserted within the axis292, within and outside the display area314, would follow this chronological order as well.FIG. 29illustrates the displacement of the document200.5towards the right side of the axis292, from within towards the outside of the display area314.

FIGS. 31 and 32illustrate another embodiment of the present invention in which the insertion of the document342on the linear axis292, within the time unit t27, leads to the rest of the documents200within the time unit t27to be compressed in order to make room for the newly added document342.

Despite the insertion of an additional document342within the time unit t27, the time unit t27itself does not change in length. This is because the rest of the documents200within the time unit t27reduced in size to accommodate the addition of the document342.

InFIG. 31, the document342is being inserted at the utmost left side of the time unit t27. The insertion, as the arrow366indicates it, leads to the displacement of the rest of the documents200to the left of the time unit t27.FIG. 32illustrates how the documents200initially present within the time unit t27reduce in size so that despite the addition of a new document342, the respective time unit t27is subject to no modification in terms of its length and width.

FIGS. 33, 34 and 35illustrate yet another embodiment of the present invention. More specifically, they present the insertion of the document342within an axis292A, presented within the display area314, when the axis292is part of a group of axes310. The insertion of the document342leads to the enlargement of the time unit t27to fit the new document addition.

FIG. 33depicts a group of axes310and a display area314which exhibits portions of the following three axes292: A, B and C. A, B and C refer to the respective attributes given to the documents200that belong to these three axes292. There are in total 8 axes292presented in this group of axes310. Some of them, namely axes292D, E, F, G and H, are not displayed at all on the display area314.

In our preferred embodiment, no two axes292can be displayed on the same vertical line. Stated differently, any two axes292, presented in a group of axes310will never be vertically placed in a tangential fashion. The end of an axis338may not lie next to the beginning or start of another axis292. Given that, it is often the case that there might be non-occupied (by any document200) space between two axes292. In the case of theFIG. 33, this space is caused by the fact that there are no documents200with the attributes E and F that would be fitted for the time units t27and t28respectively.

Empty space, non-occupied by documents200within an axis292is different from the empty space between two axes292. Axes292B, C, D, G and F, for example, all have empty spaces where documents200may be potentially added in the future. Whereas there might a possibility for an addition of a or several other document(s)342to be added on axis292B, C and D for example, within the space presently non-occupied by documents200, 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 axes338presented in theFIG. 33.

FIG. 33, furthermore, illustrates the insertion of the document342within the axis292A to the right of the document200.1present on the axis292A. Furthermore,FIG. 34illustrates the outcome of this insertion, embodied in the movement outward of the display area314of the document200.1, to the left of the axis292.

The displacement of the document200.1from within towards outside of the display area314may cause undesirable consequences on the viewer of the display area314, especially when the document200.1is the document the viewer aims to reach. Moreover, the insertion of the document342on the axis292A causes the time unit t27to become larger than it was initially, so that it would accommodate the new document342insertion.

InFIG. 34, as a result of the insertion of the document342, document200.1moved to the left of the axis292A, outside of the display area314. Furthermore, one less document200is displayed on the axis292C. Whereas there were three documents200initially displayed on the axis292C within the display area314(seeFIG. 33), due to the enlargement of the time unit t27one of the documents200from the axis292C has moved leftwards, from within towards outside of the display area314. This change of document display within the display area314may cause undesirable consequences on the viewer.

FIG. 35illustrates a possible solution to prevent these potential undesirable consequences on the viewer by bringing an additional space450on the axis292C within the display area314. The additional450would therefore bring the initial display of documents200on the axis292C, as presented inFIG. 33, despite the enlargement of the time unit t27. This additional space450may be temporarily placed in the respective place on the axis292C. It may also correct itself automatically when the user carries out additional actions intended to move the display area314elsewhere. In this manner, the viewer would be less likely to experience any undesirable consequences due to the insertion of the document342on the axis292A, within the display area314.

FIG. 36is another embodiment of the present invention, in which the insertion of the document342within the display area314may not cause the enlargement of the time unit t27in which the document342is inserted.

InFIG. 36, the insertion of the document342takes place on the axis292B, which portion that is displayed on the display area314reveals relatively more empty space (i.e. more room for documents200to be added into) than the axes292A and C do. In light of this circumstance, the insertion of the document342within the display area314leads not to the enlargement of the time unit t27to which the newly inserted document342belongs. As a result of the insertion, the respective document moves leftwards on the axis292B, and outside of the display area314.

As illustrated inFIG. 36, the insertion of a document342could take advantage of the empty space on the axis292B to show itself in the display area314before 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 area314to display other regions of the same axes292or other ones.

FIG. 37illustrates another embodiment of the present invention, in which a group of axes310is partially shown on the display area314. More specifically, it provides another possible solution for handling the addition of numerous documents342within the display area314.

A series of documents342, which have been added simultaneously or at a certain time distance from each other an axis292, are partially displayed on the display area314. They are located within the receiving space434.

The addition of the documents342may cause the sudden enlargement of the time unit t27to which they belong, and which is partially presented on the display area314. In the case of theFIG. 37, the solution given in order to avoid the enlargement of the respective time unit t27is to incorporate the respective documents342within a receiving space434which has a scrolling device418confined on both of its sides by scrolling arrows414. In this manner, the viewer of the display area314may explore the added documents342within the scrolling device418a later time without changing the size of the time unit t27and of the layout of documents342within the display area314.

FIG. 38illustrates another embodiment of the present invention in which a group of axes310are partially shown on the display area314. More specifically,FIG. 38provides another possible solution for handling the addition of numerous documents342within the display area314.

A series of documents342are being added simultaneously or at a certain time distance from each other, on axis292D, which is partially displayed on the display area314. The addition of the documents342may cause the sudden enlargement of the time unit t27partially presented on the display area314. In the case of theFIG. 38, the solution given in order to avoid the enlargement of the respective time unit t27is to incorporate the respective documents342within an elements management device422. InFIG. 38, this elements management device422has scrolling properties442.

The elements management device422, asFIG. 38illustrates it, may indicate the maximum number of documents342to be displayed on the display area314from all the documents342that were added to the axis292D. The display potential438indicates that the elements management device422may display up to 5 of such documents342. Moreover, the elements management device422may have an on and off button426which the viewer may use to indicate if the newly added documents200may be displayed or not on the axis292D, within the display area314. This embodiment, as well, illustrates another potential solution to the undesirable consequences that might arise as a result of the insertion of documents342within the display area314, on the viewer of the display area314.

FIG. 39illustrates another embodiment of the present invention in which a group of axes310are partially shown on the display area314. More specifically,FIG. 39provides another possible solution for handling the addition and/or removal of numerous documents200within the display area314

InFIG. 39, a series of documents342are being added simultaneously at a certain time distance from each other, on axis292D. Axis292D is partially shown on the display area314. In order to avoid the sudden enlargement of the time unit t27partially presented on the display area314as a result of the abrupt and rapid addition of documents342on the axis292D, the documents342that were inserted and/removed on the axis292D are compressed into a group of documents430.

The group of documents430may indicate the number of documents342added to the axis292D. In the case of theFIG. 39, this number is 9, as indicated by the counting element446. The group of documents430intends to avoid the enlargement of the time unit t27as a result of the addition of the extra documents200on the axis292D, change that may cause unwanted consequences on the viewer of the display area314.

The viewer of the display area314may explore the added documents342within the group of documents430a later time with or without changing the size of the time unit t27and of the layout of the documents200within the display area314.

FIG. 40presents 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 element342on an axis292of information elements200. The method consists of the following steps: displaying the information elements200with a commonality on an axis292of information elements200; adding of at least one additional information element342to the respective axis292; identifying the insertion location; and moving the information elements200on the axis292in function of the insertion parameter to display the additional information element342on the axis292.

Similar toFIG. 40,FIG. 41presents 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 element342on a group of axes310of information elements200. The method consists of the following steps: displaying information elements200sharing a first commonality on an axis292of information elements200; displaying information elements200sharing a second commonality on a second axis292of information elements200; grouping the first and the second axis292of information elements200; adding at least an additional information element342to be presented on one of the axes292of information elements200; and moving information elements200on the axis and adjusting a time unit322of the group of axes310to display314the additional information element200on the axis292.

FIG. 42presents 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 elements292on the display area314in a predetermined manner. The flowchart consists of the following steps: displaying information elements200sharing a commonality on an axis292of information elements; adding a plurality of additional information elements200to be presented on the axis292; identifying a display parameter; and moving information elements200on the axis292in function of the display parameter to display a predetermined number of the plurality of additional information elements342on the axis292.

FIG. 43presents 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 element342on the axis292displayed on the display area314. The flowchart consists of the following: displaying information elements200sharing a first commonality on a first axis292of information elements200for a first user; sharing an access right of the first commonality with a second user; adding at least one additional information element342with the shared first commonality by the second user; warning the first user that the at least one additional information element342is going to be displayed on the displayed first axis292of information elements; and selecting a display option to define how the at least one additional information element342may be displayed by the first user on the axis292of information elements that was displayed first.

FIGS. 44-45represent the flowchart method presenting several of the embodiments of the present invention. The flowchart starts atFIG. 44and consists of three steps.

Steps 1, which starts at block458, consists of searching for events in respect to the adding and/or removal of documents342,346taking place on the axis292. If such events do occur, the system shows the display area notification feature406, listing the information pertaining to the newly added and/or removed documents342,346.

The second step, which starts at block462, consists of identifying if there are any insertions of documents342taking place on the axis292. If the cursor350is moving, the system identifies the active region348, towards which the cursor350is moving. Then, if the inserted document342is in the active region398, the insertion does not take place. However, if the respective document342is at the left of the active region398, the system pushes the documents200before the inserted document342, to the left. After pushing the documents200to the left or to the right of the axis292, the document342is inserted on the axis292.

If the cursor350is not moving, if the inserted document342is at the left of the cursor350, the system pushes the documents200before the inserted document342, to the left of the axis292. If the inserted document342is at the right of the cursor350, the system pushes the documents200after the inserted document342, to the right of the axis292. The document342is consequently inserted on the axis292.

Once the document342is inserted on the axis292, the system identifies if the inserted documents342was placed on a linear or non-linear axis292. If it is a linear axis292, the system verifies if there is sufficient space to accommodate the insertion of the document342. If this is not the case, the system compacts the inserted documents342within a time unit322.

If the inserted document342was not placed on a linear axis292, and was placed within a group of axes310, the system checks if the time unit322has become larger as a result of the insertion of the document342. If this were the case, the system checks if there are documents200visible on the other axes292of the group310. If all these conditions hold true, the system adds temporary additional space450outside the display area314in order to keep the documents200within the display area314.

Step 3 identifies if there are any documents346to be removed from an axis292. If this were to be the case, the system identifies if the respective documents346are shown on the display area314. If the document346is displayed on the display314, the system adds a cross sign378to identify the removed document346from the rest of the documents200displayed on the display area314. The document346is removed from the number of documents200displayed on the display area314the user may have selected. The system also disables the selection features on the document346.

If the document346is not within the display area314, it is removed from the axis292. If the removed document346is at the left of the display area314, the system pushes the documents200before the removed document346, to the right. If this is not the case, the system pushes the documents200before the removed document346, 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: