Method and apparatus of aligning information element axes

Information

  • Patent Grant
  • 10671266
  • Patent Number
    10,671,266
  • Date Filed
    Monday, June 4, 2018
    6 years ago
  • Date Issued
    Tuesday, June 2, 2020
    4 years ago
Abstract
A method of retrieving multiple copies of an information element on a display is presented, the method comprising displaying a plurality of information elements along a first axis including a first axial direction thereof, displaying a second plurality of information elements along a second axis including a second axial direction thereof parallel with the second direction, the first axis displaying a first information element thereon, the second axis including the first information element thereon, the first information element on the second axis being not transversally aligned with the first information element displayed on the first axis and displacing at least one of the first axis of information elements and the second axis of information elements to display the first information element from the first axis of information elements adjacent to the first information element from the second axis of information elements.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention

This invention relates generally to computer systems adapted to manage information elements disposed on arrays and axes thereof. The present invention more specifically relates to methods and apparatuses for displaying, organizing, navigating and aligning information elements disposed in arrays and axes thereof.


2. Description of the Related Art

Graphical user interfaces (GUI's) are getting more and more graphically rich in displaying documents, icons and other information elements. Lists of documents are increasingly turning into highly graphical sequences of documents that allow users to infer greater meaning than from prior lists thanks to more graphically complex thumbnails, icons and file previews arrangements, the large number of documents presented and the customized ordering of the sequence itself.


Multiple arrays and axes (axes will be used in the text to ease its reading) of documents may be combined into one common collection of axes, chosen by a user or not, and adapted to be shown on a display.


While displaying multiple axes with various quantities of documents thereon, it may be desirable to let the user scroll them through various navigation techniques. The display may be showing only a portion of the axes at the same time. It may happen that some documents may be displayed in multiple axes at once.


It is therefore desirable to provide tools to retrieve a subject document of reference and help the user to find other instances (copies) in the collection of axes.


It is equally desirable to graphically align multiple instances of the same subject document displayed in a plurality of other axes.


It is also desirable to graphically discriminate axes of documents that includes the subject document from other axes that don't include the subject document.


It is desirable to provide tools to retrieve documents related to the subject document and graphically find and axially align these related documents in a plurality of axes.


It is equally desirable to axially align timelines of a plurality of axes.


It is also desirable to graphically discriminate axes which have documents related to the subject document from the axes that do not include related documents.


Other deficiencies and opportunities 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

It is one aspect of the present invention to alleviate one or more of the shortcomings of background art by addressing one or more of the existing needs in the art.


The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.


The invention is generally described as a method, a system, a device and/or a graphical user interface used to represent multiple computer files, documents, information elements or other data, hereinafter referred to documents without limitative intention but to facilitate reading of the text, on axes in an axis-based graphical user interface (GUI).


Aspects of our work provide, in accordance with at least one embodiment thereof, a method and system thereof allowing alignment of a plurality of axes in respect with a subject reference document.


One aspect of the instant invention provides, in accordance with at least one embodiment thereof, a method and system thereof allowing a chronological alignment of a plurality of axes.


One aspect of the instant invention provides, in accordance with at least one embodiment thereof, a means for graphically searching other instances of a subject document that are found in other axes.


Moreover, one other aspect of the instant invention provides, in accordance with at least one embodiment thereof, a method and system thereof allowing the chronological alignment of axes on a basis of a position where a subject document is located on an axis and chronologically aligning other axes when no other instances of the subject document is found.


In one aspect of the instant invention, in accordance with at least an embodiment thereof, is allowing an axes-locking mechanism preventing the alignment or centering of the locked axes.


In one other aspect of the present invention, in accordance with at least an embodiment thereof, provides an indication of the presence of other instance of a subject reference document outside of a display area and an indication of the alignment of the axe to the next or previous instance or reference document.


Another aspect of the present invention, in accordance with at least one embodiment thereof, provides a mechanism to set a link between two documents, giving the possibility to retrieve documents related to a document of reference.


Another aspect of the present invention provides, in accordance with at least one embodiment thereof, a mechanism to align related documents in orthogonal axes with the document of reference.


Another aspect of the present invention provides, in accordance with at least one embodiment thereof, a mechanism to align related documents over multiple user interface display areas, or windows.


Embodiments of the subject invention, in accordance with embodiments thereof, can be embodied as a computer system, a method, an operating system and a graphical user interface adapted to manage data and documents by juxtaposing the data on axes of documents in a manner such that data, documents and axes thereof are parameterizable and usable by a plurality of users and can be displayed according to a selection of information, metadata or attributes as deemed relevant by user or users in a single-user or networked environment.


Another aspect of our work provides, in accordance with at least one embodiment thereof, an object-oriented computing system. The computing system comprises a processor, a memory coupled to the processor, and an interface. The computer system comprises a computer-readable storage medium storing instructions, such as a software program adapted to carry out the embodiments. The instructions that, when executed, provide a processor-based system the steps to modify the type and quantity of information used to build and display a document, axis and/or workspace on a variety of devices including but not limited to computers, mobile phones or tablets.


In another aspect of our work, in accordance with at least one embodiment thereof, a graphical user interface is provided. The graphical user interface displays one or more axes of documents in accordance with the implementation of a method that manages documents and the data associated therewith.


An aspect of our work provides, in accordance with at least one embodiment thereof, a method of aligning axes of information elements, the method comprising displaying a plurality of information elements along a first axis including a first axial direction thereof, the first plurality of information elements having a first commonality thereof, displaying a second plurality of information elements along a second axis including a second axial direction thereof, the second plurality of information elements having a second commonality thereof, the first axis displaying a first document thereon, the second axis including the first information element thereon, the first information element on the second axis being not aligned with the first information element displayed on the first axis and displacing at least one of the first axis of information elements and the second axis of information elements to display the first information element from the first axis of information elements adjacent to the first information element from the second axis of information elements.


An aspect of our work provides, in accordance with at least one embodiment thereof, a method of retrieving multiple copies of an information element on a display, the method comprising displaying a plurality of information elements along a first axis including a first axial direction thereof, displaying a second plurality of information elements along a second axis including a second axial direction thereof parallel with the second direction, the first axis displaying a first information element thereon, the second axis including the first information element thereon, the first information element on the second axis being not transversally aligned with the first information element displayed on the first axis and displacing at least one of the first axis of information elements and the second axis of information elements to display the first information element from the first axis of information elements adjacent to the first information element from the second axis of information elements.


An aspect of our work provides, in accordance with at least one embodiment thereof, a method of performing a relational search, the method comprising providing a first axis including a plurality of information elements located thereon in accordance with a first collation function, each information element being associated with a respective collation position along a longitudinal direction of the first axis, providing a second axis including a plurality of information elements located thereon in accordance with a second collation function, each information element being associated with a respective collation position, each information element being associated with a respective collation position along a longitudinal direction of the first axis, selecting an information element from the first axis, enabling an aligning function,

    • searching the second axis for a presence of an instance of the selected information element, when an instance of the selected information element is found on the second axis, scrolling the second axis to locate the instance of the selected information element nearby the selected information element on the first axis.


Embodiments of the present invention each have at least one of the above-mentioned objects and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present invention that have resulted from attempting to attain the above-mentioned objects may not satisfy these objects and/or may satisfy other objects not specifically recited herein.


Additional and/or alternative features, aspects, and advantages of embodiments of the present invention will become apparent from the following description, the accompanying drawings, and the appended claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic illustration of an exemplary network;



FIG. 2 is a schematic illustration of an alternate exemplary network;



FIG. 3 is a schematic illustration of an exemplary computer system;



FIG. 4 is a schematic illustration of an exemplary software system;



FIG. 5 is a schematic illustration of an axis-based interface and operating system;



FIG. 6 is a schematic illustration of an exemplary layout of information elements;



FIG. 7 is a schematic illustration of an exemplary layout of information elements using a linear timescale and a non-linear timescale;



FIG. 8 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another instance thereof in accordance with an exemplary embodiment of the present invention;



FIG. 9 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 10 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 11 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document, another aligned instance of the active document and an aligned axis in accordance with an exemplary embodiment of the present invention;



FIG. 12 is an exemplary flowchart describing an embodiment of the logic of the centering and the aligning functions in accordance with an exemplary embodiment of the present invention;



FIG. 13 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document, another aligned instance of the active document and an aligned axis in accordance with an exemplary embodiment of the present invention;



FIG. 14 is an exemplary flowchart describing the logic of the axes reordering function in accordance with an exemplary embodiment of the present invention;



FIG. 15 is an exemplary flowchart describing the logic of the axes reordering function in accordance with an exemplary embodiment of the present invention;



FIG. 16 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document, another aligned instance of the active document and an aligned axis in accordance with an exemplary embodiment of the present invention;



FIG. 17 is a schematic illustration of a display area comprising multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document, another aligned instance and an aligned axis in accordance with an exemplary embodiment of the present invention;



FIG. 18 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 19 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 20 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 21 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 22 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and another instance of the active document being identified outside of a display area in accordance with an exemplary embodiment of the present invention;



FIG. 23 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document, another aligned instance of the active document and other instances of the active document being identified outside of the display area in accordance with an exemplary embodiment of the present invention;



FIG. 24 is a schematic illustration of an axis of documents and a group of axes of documents disposed in a longitudinal and parallel arrangement with an active document and other instances of the active document in accordance with an exemplary embodiment of the present invention;



FIG. 25 is a schematic illustration of an axis of documents and a group of axes of documents disposed in a longitudinal and parallel arrangement with an active document and other instances of the active document with one instance being aligned in accordance with an exemplary embodiment of the present invention;



FIG. 26 is a schematic illustration of an axis of documents and a group of axes of documents disposed in a longitudinal and parallel arrangement with an active document and other instances of the active document being aligned in accordance with an exemplary embodiment of the present invention;



FIG. 27 is a schematic illustration of an axis of documents and a group of axes of documents disposed in a longitudinal and parallel arrangement with an active document, another instance being aligned and another instance being identified outside of the display area in accordance with an exemplary embodiment of the present invention;



FIG. 28 is a schematic illustration of two documents being linked in accordance with an exemplary embodiment of the present invention;



FIG. 29 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement with an active document and a related document being aligned in accordance with an exemplary embodiment of the present invention;



FIG. 30 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement and a subsidiary axis of documents disposed orthogonal to the second longitudinal axis of documents with an active document and another instance being aligned in accordance with an exemplary embodiment of the present invention;



FIG. 31 is a schematic illustration of multiple axes of documents disposed in a longitudinal and parallel arrangement and a subsidiary axis of documents disposed orthogonal to the second longitudinal axis of documents with an active document and another instance being aligned in accordance with an exemplary embodiment of the present invention;



FIG. 32 is a schematic illustration of multiple windows comprising axes of documents disposed in a longitudinal and parallel arrangement with an active document and another instance of the active document in accordance with an exemplary embodiment of the present invention; and



FIG. 33 is a schematic illustration of multiple windows aligned and comprising axes of documents disposed in a longitudinal and parallel arrangement with an active document and another aligned instance of the active document in accordance with an exemplary embodiment of the present invention.





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.


Exemplary Network



FIG. 1 illustrates an exemplary network 10 in which a system and a method, consistent with the present invention, may be implemented. The network 10 may include multiple client devices 12 connected to multiple servers 14, 16, 18 via a network 20. The network 20 may include a local area network (LAN), a wide area network (WAN), a phone network, such as the Public Switched Phone Network (PSTN), an intranet, the Internet, Wi-Fi, WiMAX or a combination thereof. Two client devices 12 and three servers 14, 16, 18 have been illustrated as connected to network 20 for simplicity. In practice, there may be more or less client devices and servers 14, 16, 18. Also, in some instances, a client device 12 may perform the functions of a server 14, 16, 18 and a server 14, 16, 18 may perform the functions of a client device 12.


The client devices 12 may include devices such as mainframes, minicomputers, personal computers, laptops, personal digital assistants, phones, or the like, capable of connecting to the network 20. The client devices 12 may transmit data over the network 20 or receive data from the network 20 via a wired, wireless, or optical connection.


The servers 14-18 may include one or more types of computer systems, such as a mainframe, minicomputer, or personal computer, capable of connecting to the network 20 to enable servers 14-18 to communicate with the client devices 12. In alternative implementations, the servers 14-18 may include mechanisms for directly connecting to one or more client devices 12. The servers 14-18 may transmit data over the network 20 or receive data from the network 20 via a wired, wireless, or optical connection.


In an implementation, consistent with the present invention illustratively embodied herein, the servers 14-18 may include a search engine 22 usable by the client devices 12. The servers 14-18 may store documents 200, such as web pages, accessible by the client devices 12.


With reference to FIG. 2, a network 20 includes the content cloud 30, a content database 32, content devices 34-38, and other devices 40-48. The network mediator 28 enables network devices 34-48 to communicate with each other without pre-configuring each device 34-48. The content cloud 30 represents a content source such as the Internet, where content exists at various locations across the globe that could be reached through a wired connection and/or with a wireless connection provided by an antenna 26. The content includes multimedia content such as audio and video. The mediator 28 allows the content cloud to provide content to devices 34-48. The database 32 is a storage device 166 that maintains content. The database 32 may be a standalone device on an external communication network. The mediator 28 communicates with the database 32 to access and retrieve content. The content devices 34-48 include intelligent devices, such as, for example, personal computers, laptops, cell phones and personal digital assistants. The content devices 34-48 are capable of storing content data. The devices 34-48 are intelligent devices that receive content from other content devices 30-48. However, the devices 34-48 can also operate as servers to distribute content to other client devices if desirable.


Exemplary Client Architecture


The following discussion provides a brief, general description of an exemplary computer apparatus in which at least some aspects of the present invention may be implemented. The present invention will be described in the general context of computer-executable instructions, such as program modules 174 being executed by a computerized device. However, methods of the present invention may be affected by other apparatuses. Program modules may include routines, programs, objects, components, data structures, applets, WEB 2.0 type of evolved networked centered applications, etc. that perform a task(s) or implement particular abstract data types. Moreover, those skilled in the art will appreciate that at least some aspects of the present invention may be implemented with other configurations, including hand-held devices, multiprocessor system, microprocessor-based or programmable consumer electronics, network computers, minicomputers, set top boxes, mainframe computers, gaming consoles and the like. At least some aspects of the present invention may also be carried out in distributed computing environments where tasks are performed by remote processing devices linked through a communications network as exemplified in FIG. 2. In a distributed computing environment, program modules 174 may be located in local and/or remote memory storage devices 166.


With reference to FIG. 3, an exemplary apparatus 100 for implementing at least some aspects of the present invention includes a general-purpose computing device in the form of a computer 120 or in the form of a computerized portable apparatus. The computer 120 may include a processing unit 121, a system memory 122, and a system bus 123 that couples various system components, including the system memory 122, to the processing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory may include read only memory (ROM) 124 and/or random access memory (RAM) 125. A basic input/output system 126 (BIOS), containing basic routines that help to transfer data between elements within the computer 120, such as during start-up, may be stored in ROM 124. The computer 120 may also include a hard disk drive 127 for reading from and writing to a hard disk, (not shown), a magnetic disk drive 128 for reading from or writing to a (e.g., removable) magnetic disk 129, and an optical disk drive 130 for reading from or writing to a removable (magneto) optical disk 131 such as a compact disk or other (magneto) optical media. The hard disk drive 127, magnetic disk drive 128, and (magneto) optical disk drive 130 may be coupled with the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and a (magneto) optical drive interface 134, respectively. The drives and their associated storage media provide non-volatile (or persistent) storage of machine-readable instructions, data structures, program modules 174 and other data for the computer 120. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 129 and a removable optical disk 131, those skilled in the art will appreciate that other types of storage media, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROM), remote cloud storage and the like, may be used instead of, or in addition to, the storage devices 166 introduced above.


A number of program modules 174 may be stored on the hard disk 127, magnetic disk 129, (magneto) optical disk 131, ROM 124 or RAM 125, such as an operating system 135 (for example, Windows® NT® 4.0, sold by Microsoft® Corporation of Redmond, Wash.), one or more application programs 136, other program modules 137 (such as 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 data 138 for example.


A user may enter commands and data into the computer 120 through input devices, such as a keyboard 140, a camera 141 and a pointing device 142. Other input devices (not shown) such as a microphone, joystick, game pad, satellite dish, scanner, a touch sensitive screen, accelerometers or a motion-sensor detector such as 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 unit 121 through a serial port interface 146 coupled to the system bus 123. However, input devices may be connected by other interfaces, such as a parallel port, a game port, blue tooth connection or a universal serial bus (USB). For example, since the bandwidth of the camera 141 may be too great for the serial port, the video camera 141 may be coupled with the system bus 123 via a video capture card (not shown). The video monitor 147 or other type of display device 150 may also be connected to the system bus 123 via an interface, such as a video adapter 148 for example. The video adapter 148 may include a graphics accelerator. One or more speakers 162 may be connected to the system bus 123 via a sound card 161 (e.g., a wave table synthesizer such as product number AWE64 Gold Card from Creative® Labs of Milpitas, Calif.). In addition to the monitor 147 and speaker(s) 162, the computer 120 may include other peripheral output devices (not shown), such as a printer, a hi-definition television and a scanner for example. As an alternative or an addition to the video monitor 147, a stereo video output device, such as a head mounted display or LCD shutter glasses for example, could be used.


The computer 120 may operate in a networked environment defining logical connections to one or more remote computers 120, such as a remote computer 149. The remote computer 149 may be another computer 120, a server 14-18, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the computer 120. The logical connections depicted in FIG. 3 include a local area network (LAN) 151 and a wide area network (WAN) 152, an intranet and the Internet.


When used in a LAN, the computer 120 may be connected to the LAN 151 through a network interface adapter (or “NIC”) 153. When used in a WAN, such as the Internet, the computer 120 may include a modem 154 or other means for establishing communications over the wide area network 152 (e.g. Wi-Fi, WinMax). The modem 154, which may be internal or external, may be connected to the system bus 123 via the serial port interface 146 or another type of port interface. In a networked environment, at least some of the program modules depicted relative to the computer 120 may be stored in the remote memory storage device 166. The network connections shown are exemplary and other means of establishing a communication link between the computers 120 may be used through a host adaptor 155 coupled by a SCSI bus 156, for instance.


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


The System


A system 170 is depicted in FIG. 4 which may represent the functionalities described in the instant application when run on an apparatus 100, for instance a computer 120, such as has been previously described. The computer 120 may in turn be connected to a server 14-18 comprising a set of program modules 174 enabling functions including but not limited to: computing, document rendering, network communication, application configuration and local database management.


The software system 170 illustratively consists of a collection of at least twelve modules 174 independent from those of the server 14-18 that together carry out the method required for the functionalities to be visible on a graphical user interface and usable by the user. As illustrated, additional modules 226 may also be used in conjunction with the twelve base modules.


A computing module 178 provides a means to circulate data between users, the other modules 174 and the apparatus 100. The computing module 178 is adapted to convert queries 230, which may be system-based or user-based, into graphical rendering in accordance with at least one embodiment of the present invention. The other modules 174 are configured to send to and receive data from the computing module and to individually or collectively interact with other modules 174.


An application configuration module 182 provides software configuration to manage application settings and open connections to other servers 14-18. Other modules 174 may use the application configuration module 182 to manage their behavior to satisfy user-specific needs.


A data elements management module 186 may be used in conjunction with other modules to manage data elements such as documents 200 contained in a database 32 in response to a query 230. The data elements management module 186 may use any kind of database connection and may use a network communication module 190 in order to access a database 32 through a network 28, on a server computer 14-18. The network communication module 190 may use several protocols in order to communicate with a server computer 14-18, such as IPv4, IPv6, TCP, UDP, ODBC, HTTP, WebDAV, SSH, IMAP and even define its own specific communication protocol. The data elements management module 186 may also be used in conjunction with an email connectivity module 194 and network communication module 190 in order to treat and represent emails in the same way as the data elements of a database 32. The data elements management module 186 may also be used in conjunction with the permissions module 198 (on the client or server side) in order to control the user access to elements based by some sort of sharing rules. The data elements management module 186 may also work in conjunction with a caches module 202, providing client-side cached versions of the database 32 and files in order to respond to future requests faster. Modules 174 may be made to communicate information in a standardized way by the use of an Application Programming Interface (API) in order to simplify the data elements management module's 186 interactions with other modules 174.


The data elements management module 186 may sort through documents 200 stored in the database 32 and connected to each other via a variety of referencing modes, may apply a filter as specified in a query 230 and may subsequently direct the filtered documents 200 to other modules 174 (this will be shown in FIG. 6). One such module may be an axis-ordering module 206 which may distribute documents 200 filtered by the data elements management module 186 onto an axis-like array 288 or axis 292 (illustrated in FIG. 6) according to a collation function that may be user- or system-specified and analyzed by the computing module 178. An axis 292 or axis-like array 288 is an embodiment of graphical rendering of the functionalities described in the present specification on a device's display 150 that can be embodied as a substantially rectilinear sequence of documents 200 from which a viewer can infer meaning and/or relationships therebetween. An axis 292 or axis-like array 288 is adapted to accommodate and display a single type of documents 200 or, if desirable, more than one type of documents 200, computer files, multimedia contents, user-selectable elements and/or user-selectable menu elements. Generally, an axis 292 is used to graphically group information elements 200 having a commonality. Other functionalities related to axes 292 shall be described in greater detail below.


The axis-ordering module 206 may manage the ordering of single documents 200 and/or several documents 200 assembled into document sets 220 onto one or more axes 292. In addition of managing the collation of documents 200 onto an axis 292, the axis-ordering module 206 may also manage the order of the documents 200 contained within secondary documents sets 232 or subsidiary axis 294 (illustrated in FIG. 7). The positioning module 210 manages the positioning of documents 200 within axes 240 based on interactions with other modules 174 processing the various elements contained in a query 230. The positioning module 210 is adapted to and may interpret data contained in document sets 228 generated by the data elements management module 186 in relationship to the query 230 to identify a location for a given document set 228 within the collation of an axis 292. Likewise, a visually distinctive features management module 214 is adapted to interpret data contained in documents 200 or document sets 228 generated by the data elements management module 186 in relationship to the query 230 to selectively apply one or more visually distinctive features 284 (illustrated in FIG. 7) to single documents 200 or document sets 228. Finally, a display management module 218 may, inter alia, manage elements related to the user interface 234, possibly interacting with a graphics card and a monitor 147. The display management module 218 may use a document-rendering module 222 that provide instructions to render specific documents 200, like images, text files, word-processing files, spreadsheet files, presentation files, etc. The document-rendering module 222 may also provide an API to let developers add their own extensions to provide renderers for other document types.



FIG. 5 depicts a computer system 120 comprising an operating system 135 with an integrated axis-based user interface 238. As illustrated in FIG. 5, the axis-based user interface 238 could serve as a desktop environment to manipulate documents 200 (such as files, objects and applications), or could be used as a main operating system 135 user interface 234. One can appreciate a hierarchical description of a computer system 120 and software system 170 with multiple components 242. First, hardware 246 is used to provide users with a physical device 34-48. Second, the axis-based system could be built on top of an existing operating system core and kernel 250, such as, for instance, Unix™ or BSD™. A graphics API 254 like OpenGL® could be used also in order to provide basic graphical capabilities to the system via a video adapter 148.


Multiple core functionalities could be integrated to provide core operating system 135 services. A graphical layer framework component 256 could be built over the graphics API component 254, and could be used to provide complex drawing capabilities. The layer-based graphics layer framework component 256 may also support widgets rendering and handling (like buttons, text fields, dialogs, etc.) A network management component 260 could be based on pre-existing network management capabilities in the operating system core and kernel 250, and could be used as a tool to manage an Internet network connection through Ethernet, Bluetooth, Wi-Fi, Modem and other communication channels. A utility component 264 could handle all the other services needed to communicate with the operating system core and kernel 250, providing functionalities such as user login, user authentication, memory, disk-access management, etc. Using these modules, the axis-based user interface 238 would use core functionalities from the graphical layer framework component 256, the network management component 260 and the utility component 264 to provide workspaces 306 comprising multiple axes 292 that display documents 200 (not shown in FIG. 5). The axis-based user interface 238 may also provide more integrated actions, like interface buttons, preview or magnification that may be directly docketed. Another component, a system preferences management component 268 would provide multiple functions needed by the axis-based user interface 238, such as dialogs to manage document insertion, attribute definitions, users, permissions, application configuration, etc. Finally, the operating system 135 may comprise a window management system emulation module 272. This module may be based on an X Window System or X11© and may use other existing client application libraries to provide a large number of applications as well as functionalities to run windowed applications on top of the axis-based user interface 238. To provide other functionalities, third-party application providers could build third-party core modules 276 on top of the axis-based user interface 238 and system preferences management module 268. Third-party application providers could also develop third-party software environments 280 and other applications that could be run using the window management system emulation 272, providing the user with useful applications such as an Internet Browser, Office Business Applications, Multimedia Applications, Games, etc.


The Window Management System Emulation 272 could also provide functions to provide a more axis-based user interface 238 integration, such as, for example, previews, player and editors for the documents 200 displayed in the axis-based user interface 238. For example, a rich text document 200 could use a third-party module 276 or third-party software environment 280 to provide a previewer or media player for the document 200, or a third-party application to integrate a live editor on the axis-based user interface 238.


This computer system 120 could be used, for instance, as a business solution to provide users with an axis-based user interface 238 operating system 135 directly on multiple kinds of devices 34-48 (computers, laptop, tablets, cell phones, etc.). The computer system 120 may also illustratively be used as a business solution to sell preconfigured devices 34-48 with the axis-based user interface 238. Since the operating system 135 has a built-in axis-based user interface 238, the device 34-48 is likely to have a display 150 and other input devices like a keyboard 140, a mouse 142 or a touch-screen interface. The devices 34-48 may not necessarily provide such parts and may be adapted to be used by communicating information about the user interface 240 and input methods with other devices 34-48 (television set, motion sensing input device, computer or tablet over network, cell phone, etc.)


The Interface



FIG. 6 illustrates the interaction of the computer system 120 and software system 170 with an axis-based graphical user interface 238. An interface program providing a graphical user interface 234 for managing information elements 200 in accordance with an embodiment of the invention is installed on a machine, e.g. a computer system 120 as illustrated in FIG. 3. The interface 234 can be programmed using various programming languages e.g. C++, Java or other suitable programming languages. Programming of these languages is well known in the art and is adapted to be stored on a machine-readable medium and readable therefrom to provide executable instructions to a hardware system. It is believed that a skilled reader in software art is going to recognize this portion of the system that will therefore not be further described herein.


The graphical user interface 234 may run through the operating system 135 and the hardware 246 of the computer system 120 or, alternatively, through a network-based system e.g. client-server, and/cloud computing system as exemplified in FIG. 1 and FIG. 2. The interface 234 is adapted to display and manage information elements 200, generally provided on a basis of a query 230, which may be stored in one or many databases 32 (as illustrated in FIG. 6) that might be distributed in a combination of locations (e.g. multiple databases, web, cloud, etc.). Information elements 200 may include computer files, pictures, multimedia content, applications (i.e. computer programs), menu elements, sets of icons and/or other user-selectable elements, all of which shall henceforth be indiscriminately referred to as documents 200 to lighten the text without limiting the scope of the present invention.


An axis-based graphical interface 238 is adapted to graphically structure documents 200 in arrays 288 that arrange the documents 200 in rows and/or columns in a reasonably regular fashion and to allow navigation thereof by the user further to a query 230. The axis-based layout and ordering is adapted to provide the user with information about the content of each document 200, its meaning and its relationships to the other documents 200 disposed on the axis 292. Navigation tools are provided with the axis-based user interface 238 to allow navigation through the documents 200 of a single axis 292 and of various axes 292 when a plurality of axes 292 is enabled. The display of documents 200 on an array 288, or axis 292, therefore allows contextual management of documents 200 as a flow, or an ongoing rational sequence of documents 200. An axis-based interface 238 thus helps to intuitively display a group of documents 200 and facilitate understanding and managing of large sequences of documents 200 bearing a relation.


In a simplified exemplary form, an array 288 may be embodied as an axis of documents 292 (hereinbelow referred to as axis 292 to lighten the text), which groups documents 200 in a single row or column, as illustrated in FIG. 6. An axis 292 can be embodied as a substantially rectilinear arrangement of documents 200 adapted to dispose each document 200 on a straight or curved line, in various embodiments thereof. The axis 292 can be embodied as completely straight (rectilinear), slightly curved, substantially curved, circular, angled, following a particular shape or have a consistent shape over which documents 200 are disposed in a reasonably consistent fashion. The exact shape of the axis 292 can vary as well as its disposition—horizontal, vertical or other—in relation to the device's display 150. What matters, inter alia, is that the layout structure of an axis 292 provides a sequence of documents 200 from which a viewer can infer meaning, logical connections, contextual location, and/or relationships.


The axis 292 can be represented as a single axis 292, a double axis 292, or more axes 292. Axes 292 may be independent from one another (using distinct scales, or orderings, henceforth referred to as collation functions 300) or may form a group of axes 310 by sharing the same scale or collation function 300. Also, a document 200, attribute 296 or other property of an element contained in an axis 292 can be selected and used as a logical connector to create an additional axis 292 from an existing axis 292. This subsidiary axis 294 is meant to be temporary in some embodiments, serving as a way to view a specific set of additional documents 200 or highlight certain documents 200 from the original axis 292 without having to alter the entire workspace 306. It may originate from the logical connector document 200, or information element 200, and be disposed in non-parallel fashion thereto. The subsidiary axis's 294 position is preferably orthogonal to the original axis 292 but the angle may vary. Like axes 292, logically connected subsidiary axes 294 may be scrollable. More such logically connected subsidiary axes 294 can subsequently be created in the same fashion. Navigation among axes 292 and subsidiary axes 294 could be called “relational navigation”.


Axes 292 may be disposed horizontally and/or vertically. Groups of axes 310 may be presented using one of the layouts or combining both. The axes 292 presented in the embodiments below are generally illustrated in the horizontal layout configurations. However, they could, all or in majority, be disposed vertically without departing from the scope of the present disclosure. Other possible graphical layouts of documents 200 might become obvious to a skilled reader in light of the present application and would be considered within the scope of this application.


When only a portion of the axis 292 is visible, a play of zoom, pan and scrolling movements along the axis 292 allows a user to navigate the axis 292 and change the series of documents 200 that is displayed in the display area 314 of the display 150. Scrolling movements can be performed in a variety of ways including but not limited to click-and-drag, pressing on the keys of a keyboard, gesturing to a motion-sensor or on a touch-screen.


Documents 200 might overlap or decrease in size to fit or maximize the space available in the display area 314 in embodiments thereof. Selected documents 200 on an axis 292 can be magnified to increase the level of detail shown. Similarly, a small display area 314 could display only one document 200 out of the entire axis 292. The remaining documents 200 would not be displayed in the display area 314 but would yet remain at their respective “virtual” position on the axis 292, ready to be displayed upon scrolling the axis 292. In other words, if we consider a mobile platform like a mobile phone having a small display 150, the small display 150 might only allow to efficiently display one document 200 or a few documents at a time. However, the displayed document 200 being part of an axis 292, the other documents 200 on the axis 292 would remain displayable in accordance with their respective position on the axis 292 when the axis is scrolled, navigated, gestured.


The documents 200 are selected to be disposed on the axis 292 based on one or more attributes 296, and are ordered thereon according to a collation function 300, namely an ordered arrangement made by comparison, e.g. a chronological order adapted to use a time scale 318. The attribute(s) and collation function parameters are specified in a query 230 that may be run by a user or by an automated function of the system. Indeed, each axis 292 groups documents 200 in accordance with, for example, a selected tag, category, keyword, document creator, or other attribute 296 that expresses a characterization of one or more document(s) 200 and that are configurable to represent intrinsic or extrinsic characteristics. The term “attribute” 296 will generally be used throughout the instant specification to lighten the reading of the text and will encompass other document properties or means for establishing commonality or relationships as described above unless otherwise specified.


Attributes 296 may be user-specified or system-specified. Generally, documents 200 bear a plurality of attributes 296 assigned by one or more user(s) (e.g. keyword, subject, project, creator, category, etc.), and a plurality of attributes 296 that are assigned by the system, such as, illustratively, file type, time of creation, number of views, time of last modification, file size, etc. Given the broad range of applicability of the present invention, the attributes 296 that may be assigned by the system and user, as well as the attributes 296 that can be desirable to use in the management of axes 292 might substantially vary from one field or user to another and however remain within the scope of present specification.


The selection of one or more attributes 296 (using Boolean logic for instance) in a query 230 determines which documents 200 will be displayed on the axis 292. If no specific attribute 296 is selected, the axis 292 will display all documents 200 in a default order, like the date of creation thereof. Thus, all documents 200 on the same axis 292 are normally associated with the selected set or combination of attributes 296 that are used as parameters for the axis 292. Third-party data, like publicity or user-targeted information, could also be added to an axis 292, either arbitrarily or according to user information, filtering and/or existing collation of axes 292 without departing from the scope of the present invention.


The documents 200 illustrated in FIG. 6 feature attributes 296 individually represented by a capital letter thereon, or none, in which case the documents 200 are left blank. Letter attributes 296 are used in the present application for illustrative purposes only while letter attributes are theoretically possible, more descriptive attributes 296 such as those described above are used in embodiments of the present invention. As it is shown in FIG. 6, any document 200 can simultaneously feature multiple attributes 296, some user-specified and others system-specified. In fact, a preferred embodiment of the invention assigns a plurality of attributes 296 to every document 200. Other documents 200 illustrated on FIG. 6 are blank, or without any associated attribute 296, illustrating documents that could theoretically not be assigned any attribute 296, but that could nonetheless be created and found in a query 230 (e.g. a query 230 that would select all documents 200 contained in the database 32).


The query 230 in FIG. 6 here illustratively filters and selects documents 200 from the database 32 based on attribute 296 ‘A’ for display on the axis 292. FIG. 6 further illustrates that the documents 200 selected from the database 32 by the query 230 are placed on the axis 292 in chronological order 318, another parameter that could be specified in the query 230. Indeed, an axis 292 also generally disposes the documents 200 resulting from the query 230 in accordance with a specified order or collation function 300, (e.g. chronological order, alphabetical order, statistical order, increasing file size, origins names, etc.). A collation function 300 might include dividing the axis 292 into successive collation units 304 (e.g. time units 322 in the case of a chronological order, which can illustratively be hours, days, months, years, etc.) that can be graphically illustrated with a separation or separations along the axis 292. A collation function 300 would thus dispose each document 200 along the axis 292 according to the value of a specified attribute 296 in relation to the collation units 304 of the axis 292 and the other documents 200 of the selected document set 228. Among collation functions 300, a chronological distribution of documents 200 on a time scale 318 is used in most embodiments of our work because of its intuitiveness (because any action or event takes place at a specific time and usually in sequence with other events or actions). Documents are therefore associated with a respective collation position, optionally in a collation unit. While an axis 292 disposing documents in random fashion is also contemplated within the scope of the present specification, axes 292 disposing documents 200 according to a collation function 300 are illustrated embodiments because of the usefulness of ordering documents 200.


An axis 292 or a group of axes 310 may be embodied in a linear configuration 326 or a non-linear configuration 330. Both configurations are illustrated in FIG. 7 in a generic example. As can be appreciated from FIG. 7, linear configuration 326 displays collation units 304 of the same graphical longitudinal size regardless of the number of documents 200 contained in each collation unit 304. The size of the documents 200 located within a given collation unit 304 can optionally be adjusted in accordance with the number of documents 200 located therein. For instance, documents 200 will be larger if there are few documents 200 in the collation unit 304 and smaller if many documents 200 are found therein. Alternatively, the documents 200 can remain the same size and can overlap, or be stacked, when their quantity exceeds the available space. Another possible way of making large numbers of documents 200 fit into a fixed-size collation unit 304 is to equip the collation unit 304 with a scroll bar allowing the user to navigate the collation unit 304 to reveal hidden documents 200. This also means that documents 200 in a linear configuration 326 may be displayed as an uneven sequence from a graphical point of view. Ultimately, a collation unit 304 in a linear configuration containing no document will appear as empty, or as a blank space on the display 150, but will still be the same size as the other collation units 304 of the axis 292.


Conversely, the non-linear configuration 330 displays collation units 304 of uneven longitudinal sizes because an even distribution of documents 200 along the axis 292 prevails over the linearity of the collation. In other words, document 200 size and a constant flow of documents 200 along the axis 292 are given primacy over having collation units 304 of equal graphical size. This provides a more efficient use of the space on the axes 292 but may provide less meaning to illustrate an evolution along time.



FIG. 8 illustrate a display area with three axes 292 with multiple documents 200 thereon. The document 200.1 in axis 292.1 has an active document border 364, which is used as a distinction from other documents 200 so a viewer may appreciate the location of the active document 336. The active document 336, 200.1 is used to give the user options to interact with the active document 336 with functions such as “open document”, “download document”, “edit document's attributes”, “delete document”, etc. for example. Documents 200 may be active and/or selected. In the embodiments, only one document 200 may be considered active at a given time, while multiple documents 200 may be considered selected at a given time. When a document 200 became an active document 336, it replaces the previous active document 336. The active document 336 may use a border like an active document border 364 to be distinguishable, but could also use other visual distinctions, such as a coloration, a visual effect or an animation.


In embodiments, the axis 292.1 is considered an active axis 338 since it contains the active document 336. If another document 200 over another axis 292 is activated, this document 200 will become the new active document 336 and its axis 292 will become the new active axis 338. The active axis 338 may use a visual effect to be distinguishable, such as bolder borders, a coloration, a coloration, a visual effect or an animation, for example.


In the embodiments, we use documents 200, but axes 292 are not limited to the sole use of documents 200, information element may be database entries, contact information, web links, notes, log entries, etc.


Still in FIG. 8, one can appreciate the presence of another document 200.1 on the axis 292.3, which is another instance of the active document 337. A document 200 may be shown in multiple axis 292 at once, each one is described as a different instance of a document 200. In the example of FIG. 8, the second instance of 200.1 is not considered as the active document 336. Another occurrence document border 366 may be used to help the user appreciate that another instance of the active document 337 of axis 292.1 is visible in the display area 314. Since axes 292 can be scrolled, some other instances of the active document 337 may appear in portions of axes 292 not shown on the display area 314 or on other axes that may not be visible on the display area 314.


Finally, an aligning tool 340 is exemplary shown at the bottom right of the display area. In the current embodiment, the aligning tool 340 is user-selectable and the user may use a pointing device 142 to enable its functionality. The shape and position of the aligning tool 340 may vary, or the function may be triggered through another way such as a keyboard shortcut, a mouse or touchscreen gesture, a menu option, a vocal command, eyes-sight, etc. In our example, the aligning tool 340 is used to trigger the “centering” functionality, that is one of the embodiments of the present invention.



FIG. 9 illustrates possible results of a mouse over, or other means to select the aligning tool 340. In embodiments of the current invention, the aligning tool 340 scrolls, or displaces, the active document 200.1 of axis 292.1 along the longitudinal direction of the axis to locate the active document 200.1 at the center of a viewing area of a display. The other documents on the axis are also scrolled accordingly along the axis. One can appreciate the axis scrolling movement indicated by arrow 342 of documents 200.1 on the first axis 292.1 while the documents on the other axes 292.2,292.3 did not move. The movement indicated by arrow 342 is representative of an axis 292 scrolling, hence all the documents 200 on the axis are translated to the right. For example, document 200.6 is still located before the active document 200.1 after the axis scrolling. The axis movement 342 may be animated, for example, by progressively moving the axis to a final position to help the user get an appreciation of the direction and amplitude of the movement. Also, one can appreciate that the time unit markers 334 have also translated accordingly with the scrolling 342 of the first axis 292.1. The actuation of the aligning tool 340 is illustratively centering the active document 200.1 of the first axis 292.1 near or at the center of the display area 314. The aligning tool 340 could also be positioned at other positions on the display area 314 on the screen. Other locations, such as the left or the right of the display area 314, for instance, could be used as a reference.



FIG. 10 shows another embodiment illustrating that axis 292.3 has a scrolling movement represented by arrow 342 that is an effect of the alignment function described above. The alignment function can be triggered in multiple ways, such as a keyboard shortcut, a mouse, a touchscreen gesture, a 3D movement, a menu option selection, a vocal command, etc. In the embodied example, the alignment function is triggered when the user activates the aligning tool 340 a second time. When this selection is made, the system detects that the active document 336, 200.1 of the axis 292.1 is already centered longitudinally on the display area 314 therefore triggering the centering function a second time is not useful. Alternatively, the second activation of the alignment function may trigger the alignment function as another function of the aligning tool 340. In this embodiment, the effect would align all the other occurrences of the active document 336, 200.1 longitudinally (horizontally in the present situation) at the center of the display area 314 in vertical alignment with the active document 336 to be easily retrieved in a graphical fashion. The alignment can be done programmatically through an axis scrolling movement 342 of the axis 292.3. In this embodiment, the axis 292.2 was not affected by the alignment function because no other occurrence of document 200.1 was found.


The alignment function can help the user see or retrieve other instances of the active documents 336 present on other axes 292. It can also longitudinally align and vertically superpose other axes 292 where no instance of the active document 336 is found. In such axes 292 which, the longitudinal alignment could be done to vertically superpose the location along the axis representing the time where the active document 336 would be longitudinally aligned (horizontally in the present situation). By the effect of a collation function 300, the documents 200 may be chronologically sorted over an axis 292. Other collation functions are encompassed by the present application. By example, in FIG. 11, documents 200.4, 200.5 have incidence in time before and after the timely location of document 200.1. One can conceive that on the absence of another instance of the document 336 along the axis 292.2, knowing the location where the other instance of the document 336 would have been along the axis 292.2 could be useful. For example, the first axis 292.1 may show the activity of a first employee, while the second axis 292.2 may show the activity of a second employee. The user may want to see documents representing activities of the second employee at the same insertion time of the active document 336. This is shown in FIG. 11 where the alignment function would have affected the axis 292.2 by applying an axis scrolling movement 342 over it. One can appreciate how documents 200.2 and 200.3 are now located near a perpendicular alignment column 362 that will be described in further details below. This is because document 200.2 has been inserted before the insertion time of document 200.1 and document 200.3 was inserted after the insertion time of document 200.1. In the present situation, documents 200.2, 200.3 have been inserted in two different days, a time unit separator 334 is visible in-between.


Another embodiment is shown in FIG. 11, instead of a perpendicular alignment line 360 (illustrated in FIG. 10), the system can display a perpendicular alignment column 362, illustratively bordered by a pair of perpendicular and parallel borders 370 and define a width on the display area 314, to let the user see the alignment of document 200.1 and discriminate easily axis 292.2 where the active document 336, 200.1 is absent. By example, documents 200.2 and 200.3 on axis 292.2 are transversally aligned with document 200.1, letting the user know that the time or sequential order of document 200.1 is situated after document 200.2 and before document 200.3. If document 200.1 was matching the query of axis 292.2, it would have been located between document 200.2 and document 200.3. This document location can be easier to understand for the user when displaying an alignment column 362, or the like providing similar meaning.



FIG. 12 is a flowchart, starting at the centering button activated step 800, and representing an illustrative behavior of the aligning tool. This flowchart will be using a variable A. A variable is a symbolic name referring to a value which may change during the processing of the flowchart. The variable A will get the values of different axes 292 present alongside with the active axis 338. The first step 802 is to determine if the active document 336 is already centered on its own axis 292. If it is not the case, the centering function is used in step 804, where the axis 292 gets scrolled so the active document 336 gets centered on the display area 314 and the flowchart ends at step 816. If the active document 336 was already centered, step 806 serves as a loop over each other axes. Variable A gets the value of each axis 292 other than the axis of the active document 336. In step 808, a test is done to see if there is an instance of the active document 337. If an instance of the active document 337 is found, step 810 programmatically scrolls axis 292 stored in variable A. This instance of the active document 337 should be longitudinally aligned at the center of the display area 314 along with the active document 336. If no instance of the active document 336 is found in the axis 292 stored in the variable A, step 812 sets a search over documents of the axis 292 stored in the variable A. This search look for the first document where the time is greater or equal than the one of the active document 336. This search can be done efficiently with the use of a binary search algorithm, by example. In step 814, the axis 292 of variable A is scrolled at the middle between the first document greater or equal to the active document 336, and its previous document. Steps 808-814 are executed again on all axes 292 stored in variable A, until they were all aligned. Then the test at step 806 would fail and the algorithm stops at step 816.


The triggering of the centering function and aligning function can be done by the user enabling the aligning tool 340 different number of times. In an alternate and unillustrated embodiment, the system may trigger the centering and/or aligning function automatically based on, illustratively, the use of another function or each time a document 200 is set as the active document 336.


Another embodiment is shown in FIG. 13, where, as a result of an activation of the aligning tool 340, axes 292.3 and 292.2 have been interchanged to accentuate the presence of document 200.1 on axis 292.3. The axis 292.2 has been moved farther from the active axis 292.1 since document 200.1 is absent from axis 292.2. This axis reordering function can be triggered at a same time as the alignment function, or as a third enablement action on the aligning tool 340. The axis reordering movement illustrated by arrow 348 can be animated to let the user understand that a reordering is happening. In an alternative but unillustrated embodiment, the axes 292 reordering function may move the axis 292.1, displaying the active document 200.1, at the top of the display area 314 or at the center of the display area 314 but can also leave its vertical position unchanged. If so, the reordering of the axes 292 may be made at the top of the active axis 292.1, 338 or at the bottom of the active axis 292.1. In this case, all upper axes 292 with an instance of the active document 337, 200.1 thereon are moved toward the bottom of the display area 314 before the active axis 338, and all lower axes 292 with an instance of the active document 337, 200.1 are moved up next to the active axis 292.1.



FIG. 14 and FIG. 15 are similar flowcharts demonstrating the logic of the axes reordering function. The flowchart of FIG. 14 is used to reorder the axes 292 above the active axis 338 and the flowchart of FIG. 15 is used to reorder the axes under the active axis 338. When using the axes reordering function, the two flowcharts may be used.


The flowchart of FIG. 14 will be using variables A and P. A variable is a symbolic name referring to a value which may change during the processing of the flowchart. The variable A will get the values of different axes 292 present before the active axis 338. The variable P is referring to the position of an axis 292. Variable P can be an integer, or a memory pointer (a stored memory address) that indicates the position an axis 292. The flowchart starts at step 820. The step 822 is to locate the previous axis 292, and stock its position in variable P. Step 824 starts a loop over all the axes 292 above the active axis 338 and store them in variable A. For example, if the active axis 338 is displayed in fourth position from the top, the iteration of axes 292 in variable A could be done in this order: third axis 292.3, second axis 292.2 and first axis 292.1. If no previous axis 292 is found, the variable A is set to a null value, and step 826 tests either if variable A is null and stops the reordering function if so with step 834. Step 828 tests if there is an instance of the active document 337 in the axis 292 of variable A. If not, the test is done on the next axis 292 by returning to step 824. In a case where an instance of the active document 337 is found in axis 292 of the variable A, step 830 moves the axis 292 of the variable A to the next position of variable P and shifts other axes 292 above. For example, if the fourth axis 292 is the active axis 338 and the second axis 292 has an instance of the active document 337 and the variable P was the position of the third axis 292, then the second axis 292.2 would be moved at the third position. And the previously third axis would be shifted at the second position. Finally, step 832 decrements the variable P. If the variable P has the third axis 292 position value, decrementing would have the effect to set the variable P to the second axis 292 position. And the next axis 292 is selected at step 824, continuing the loop until each axis 292 above the active axis 338 was checked or reordered.


The flowchart of FIG. 15 will be using variables A and P. A variable is a symbolic name referring to a value which may change during the processing illustrated in the flowchart. Variable A will get the values of different axes 292 present before the active axis 338. The variable P is referring to the position of an axis 292. Variable P can be an integer, or a memory pointer (a stored memory address) that indicates the position an axis 292. The flowchart starts at step 840. The step 842 is to locate the previous axis 292, and stock its position in variable P. Step 844 starts a loop over all the axes 292 below the active axis 338 and store them in variable A. For instance, if the active axis 338 is in the third position, the iteration of axes 292 in variable A could be done in this order: fourth axis 292, fifth axis 292, sixth axis 292, and so on. If no next axis 292 is found, the variable A is set to a null value, and step 846 tests either if variable A is null and stops the reordering function if so with step 854. Step 848 tests if there is an instance of the active document 337 in the axis 292 of the variable A. If not, the test is done on the next axis 292 by returning to step 844. In the case where an instance of the active document 337 is found in axis 292 of the variable A, step 850 moves the axis 292 of the variable A to the next position of variable P and shift other axes 292 below. For example, if the third axis 292 is the active axis 338 and the fifth axis 292 has an instance of the active document 337 and the variable P was the position of the fourth axis 292, then the fifth axis 292 would be moved at the fourth position. And the previously fourth axis would be shifted at the fifth position. Finally, step 852 increments the variable P. If the variable P has the third axis 292 position value, decrementing would have the effect to set the variable P to the fourth axis 292 position. And the next axis 292 is selected at step 844, continuing the loop until each axis 292 below the active axis 338 was checked or reordered.



FIGS. 16 and 17 show an alternate embodiment where the centering function is enabled with an activation of the aligning tool 340 without prior enablement of the axes aligning function. In FIG. 16, the active document 336, 200.1 is shown in the axis 292.1 slightly before the right edge of the display area 314. FIG. 17 illustrates the effect of the click on the aligning tool 340 with only the alignment function enabled. One can appreciate how axes gets scrolled through scrolling aligned relatively to the active document horizontal location, instead of at the center of the display area 314. The perpendicular alignment line 360 is now showing at the right side of the display area 314. In this alternate embodiment, a second click of the aligning tool 340 may trigger the centering function on every axes 292.


From FIG. 18, the next figures omit illustrating the display area 314 for more clarity, but it should be considered that the interactive axes 292 and their documents 200 are displayed typically on a display area 314 or other alternative display limits set within the display area 314.


Moving now to FIG. 18 showing an embodiment providing a functionality adapted to lock an axis 292 so it won't be affected by the alignment function. Axis 292.3 has an axis movement lock tool 350. This can be set by the system under certain conditions or by the user through, for instance, a menu selection, a keyboard shortcut, a mouse, a gesture, etc. When an active axis 338 is locked, it can respond to the centering function. But, when a non-active axis 292 is locked, the alignment function won't affect the position of the axis 292. For example, in FIG. 18, the document 200.1 of axis 292.1 is the active document 336, and the second instance of the active document 337 in the axis 292.2 is already aligned with the active document 336. This may be a consequence of the use of the alignment function. The third instance of the active document 337 on the axis 292.3 is not aligned with the others axes 292. Since the axis 292.3 is considered locked, triggering the alignment function by activating the aligning tool 340 would not initiate any scrolling axis movement 342 (not shown in FIG. 18) on the locked axis 292.3.


Another similar functionality is shown in FIG. 19. The axes 292.1 and 292.2 have axes movement (displacement) link icons 352 thereon to allow an auto-alignment function. This can be set by the system under certain conditions, or by the user through a menu, keyboard shortcut, a mouse, a gesture, etc. When two or more axes 292 have the movement (displacement) link icon 352, their scrolling are automatically synchronized.



FIG. 20 shows the result of a user scrolling axis movement 354 on the axis 292.1 where the axis 292.2 may automatically scrolls through an equivalent scrolling axis movement identified by arrow 342 so the two instances of the active documents 337, 200.1 in axes 292.1 and 292.2 are kept aligned. One can appreciate that the axis 292.3 remains unchanged since there is no movement link icon 352 on axis 292.3. The third axis 292.3 could be aligned with the others axes 292.1 and 292.2 through the activation of the aligning tool 340.



FIG. 21 shows the result of an activation of document 200.2. It means, in FIG. 21, that document 200.2 is now considered to be the active document 336. This happened while axes 292.1 and 292.2 were still linked with the auto-alignment function. One can appreciate how the documents 200.1 are now unaligned. The axis 292.2 was automatically scrolled through a scrolling axis movement 342 to align the location between documents 200.3 and 200.4 at the middle of the longitudinal location of active document 200.2. This happens because an instance of the active document 337, 200.2 is absent from axis 292.2 and, as an effect of the auto-alignment function, the axes 192 aligned location shows a portion of the axis chronological order where active document 336, 200.2 is found, between the time of documents 200.3 and of document 200.4. A perpendicular alignment line 360 can be shown to indicate that an alignment of axes 292 has been automatically performed. One can appreciate that the axis 292.3 remains unchanged since there is no movement link icon 352 on axis 292.3. The third axis 292.3 could be aligned through the activation of the aligning tool 340. The third axis 292.3 could be aligned with the others axes 292.1 and 292.2 through the click on the aligning tool 340.



FIG. 22 shows another embodiment when an instance of the active document 337, 200.1 is not visible in the display area 314 (not shown in FIG. 22, but the edges of the figure may be considered as the limits of the viewport of the display area 314). A user-selectable tool, illustratively an arrow tool 346 is shown next to associated axis 292.2, identifying the direction of the axis 292.2 to displace another instance of the active document 200.1. The arrow tool 346 is reacting to activation provided by a pointing device 142 (not shown in Figure) but could also react to other means like keyboard shortcuts or body gestures. When activated, this triggers the aligning function on the axis 292.2 to which the user-clickable arrow 346 is associated, to longitudinally align (horizontally) the other instances of the active document 337, 200.1 on the axis 292.2 with the active document 336, 200.1 of the axis 292.1 through a longitudinal axis scrolling movement 342 (not shown in Figure). Alternatively, the user could still use the aligning tool 340 to center and/or align active documents 336, 200.1 and axes 292 automatically. Once the active document 336, 200.1 of axis 292.2 is visible in the display area 314, the user-clickable arrow 346 may disappear.



FIG. 23 shows another example of different uses of arrow tools 346. In this example, the active document 336 is shown in the axis 292.1, and another instance of the active document 337 is aligned and shown in the axis 292.2. Axis 292.2 may include multiple instances of the active document 337 on the same axis 292.2, and thus multiple arrow tools 346.1 and 346.2 indicate to the user directions of other documents. In this example, there is one instance of the active document 337 before the visible portion of axis 292.2 and four instances of the active document 337 after the visible portion of the axis 292.2. The respective number of instances may be written on the arrow tools 346.1 and 346.2. No arrow tool 346 is shown over axis 292.3. This indicates, in the illustrative embodiment, that no instance of the active document 337 is comprised in axis 292.3. Triggering the event the arrow tool 346.2 scrolls the axis 292.2 to the next instance of the active document 337. Doing so, the axis 292.2 could show arrow tools 346 indicating that there are two instances of the active document 337 at left and three instances of the active document 337 at the right of the view port of the display area 314. Note that the tool 346 is illustratively using an arrow shape and other means, shape or form can be used without departing from the scope of the present application.


Still in FIG. 23, a third arrow tool 346.3 is visible at the bottom of the display area 314 (not shown in Figure, but the edges of the figure may be considered as the limits of the viewport of the display area 314) and this one is directed to the bottom of the display area 314. This indicates that two instances of the active document 337 may be found in some axes 292 below 292.3 which are not visible in the display area 314. Clicking on this may scroll vertically to a vertical location where the first axis 292 with an instance of the active document 337 is shown in the display area 314.



FIG. 24 shows an axis 292.1 and a group 310 of axes 292.2 and 292.3. When two or more axes 292 are merged into a group 310, they share a same timeline. In the illustrated example, all axes 292 have one visible instance of the active document 337. The instances of the active document 337 in group 310 are showing in the same time unit t28, it could mean they are considered the same day. In axis 292.2, there is a document 200.2 that is considered inserted before document 200.1. In this embodiment, the instance of the active document 337 of axis 292.3 is aligned at left because the groups 310 may be more compact if all documents in time units 322 are appearing sequentially from left to right.


Moving to FIG. 25, it shows the effect of the aligning tool 340 where the instance of the active document 337 of the axis 292.3 is aligned with the active document 336. An alignment with the second instance of the active document 337 on axis 292.2 could have also been possible. In this embodiment, the first horizontal instance of the active document 200.1 is chosen. Subsequent triggering of the alignment function of the aligning tool 340 iterates between different aligned position of the group 310.



FIG. 26 illustrates an alternate embodiment where the groups 310 align horizontally the same instances of documents 200 in their time units 322. For example, documents 200.1, 200.2 and 200.3 are longitudinally aligned in their time units because they are instances of the same documents 200. Documents 200.4 and 200.5 are not aligned with other instances of the same documents 200 because they are only visible on axis 292.2. This is also the case for documents 200.6 and 200.7 which are only visible on axis 292.3. This provides visualization advantages for a viewer. One can appreciate, for instance. how empty document spaces in group 310 are providing additional information about the timely ordering of documents 200 to display which document 200 is timed before or after another in a time unit t. It also helps solving the active document 200.1 alignment issue when triggering the alignment function.



FIG. 27 shows another situation where an instance of the active document 337 is shown on the axis 292.2 outside of the display area 314 (not shown in FIG. 27, but the edges of the figure may be considered as the limits of the viewport of the display area 314). Even the groups 310 of axes 292.2 and 292.3 may be sharing a same timeline, the different instances of a same document 200 may be in different time units 322. This may happen, for example, if the other instance of the active document 337 is shown in a subsidiary array linked on another document 200 with a different date. It may also happen if the axes 292.2 and 292.3 use different time sorting attributes as collation function 300 (not shown in FIG. 27). For instance, the documents 200 on axis 292.2 could be sorted by insertion date while the axis 292.3 could be sorted by last modification date. The arrow tool 346 indicates the presence of the other instance of the active document 337 on the axis 292.2 outside of the display area 314 (not shown in Figure, but the edges of the figure may be considered as the limits of the viewport of the display area 314).



FIG. 28 illustrates how two documents may have a link between them. This link may be expressed through an attribute. The document 200.6 can be linked to another document 200.7 through an attribute or a relation therebetween. An attribute 296 (not shown in FIG. 28) can have several types, like, for instance, a Boolean value, a string value, a unique document identifier or an address to another document. Two documents 200 may be considered as linked if at least one attribute associated with one of the two documents 200 has a value linked to the other document 200. For example, document 200.6 may be a published patent document being linked to a document 200.7 which is a patent application art document. The document 200.6 may have a “Patent Application” attribute 296 (not shown in FIG. 28) which value is a unique identifier of document 200.7.



FIG. 29 shows an alternate embodiment where two axes 292 of documents 200, where the documents 200 of the first axis 292 represent published patent arts and the documents 200 of the second axis 292 represent published patent application art documents, as described in their axis header title 302. The axes 292 may be used by a user to explore patent art documents related to a prior art searching. In such a search, the patent application art documents of the published patent art documents may be found in the same search result. In the current example, the document 200.6 may be a published patent art document while document 200.7 may be a patent application art document. The published patent art document 200.6 was made active by an action of the user or a function of the system. The document 200.7 may have a special border, or visual distinctive feature 284, to let the user know it is a related document to the active published art document 200.6. In this embodiment, when using the aligning tool 340, the alignment function could align a related document 200.7 instead of instances of the active document 200.6. Also, the user may appreciate the two arrow tools 346 illustrating the presence of related documents to 200.6 and 200.7 in the axis. For example, it could be other publication of the patent application art with different kind codes, such as A1, A2 and A3.



FIG. 30 describes another embodiment of the present invention when using the alignment function of the aligning tool 340 with instances of the active document 337 on a vertical subsidiary axis 294.1. Axis 292.2 is attached to a vertical subsidiary axis 294.1, through a pivot document 200.8. The pivot document 200.8 is a document that is both member on the axis 292.2 and its vertical subsidiary axis 294.1. The pivot document 200.8 represents the logical connector between the axis 292.2 and its subsidiary axis 294.1. This special status of document 200.8 is graphically discriminated by subsidiary axis connector visual distinctive features 298. This let the user knows which document is the logical connector between the axis 292.2 and its vertical subsidiary axis 294.1. In the same way that axes 292 on distinct axes groups 310 (not shown in Figure) can be moved independently one from another, the vertical subsidiary axis 294.1 can be moved vertically 344 from the other horizontal axes 292, thus implying the pertinence of having a subsidiary axis connector visual distinctive feature 298. When moving the axis 292.2 horizontally, the horizontal position of the vertical subsidiary axis 294.1 is also adjusted since they are connected.


When triggering the alignment function with the activation of the aligning tool 340, vertical subsidiary axes 294 may be affected by the alignment. In FIG. 30, the instance of the active document 337 of subsidiary axis 294.1 is horizontally contiguous to the active document 336, and is vertically aligned to the active document 336. These horizontal and vertical conditions may be the effect of the alignment function, the vertical position may have been adjusted programmatically through a vertical axis scrolling movement 342 (not shown in Figure) of the vertical subsidiary axis 294.1 and the horizontal position may have been adjusted through a horizontal axis scrolling movement 342 (not shown in Figure) of the horizontal axis 292.2 thus affecting the horizontal position of the vertical subsidiary axis 294.1. The horizontal position is adjusted to bring the instance of the active document 337 of the vertical subsidiary axis 294.1 contiguous to the active document 336, so the user may easily appreciate the other positioning of the other instance of the active document 337 without having an overlap of the two instances of the document 200.1.


The axis 292.2 which is the parent of its vertical subsidiary axis 294.1, it may also contain another instance of the active document 337. If so, its instance may be shown in priority, or an arrow tools 346 (not shown in Figure) may be shown to navigate between instances and vertical subsidiary axes 294 having an instance of the active document 337.



FIG. 31 describes another embodiment where the active document 336 is on a subsidiary vertical axis 294.1. The subsidiary vertical axis 294.1 parent is the horizontal axis 292.2. Using the alignment function of the aligning tool 340, the position of the instance of the active document 337 of axis 292.1 is made horizontally contiguous to the active document 336 and is vertically aligned to the active document 337 of the vertical subsidiary axis 294.1. These horizontal and vertical conditions may be the effect of the alignment function, the vertical position of the subsidiary axis 294.1 may have been adjusted through a vertical axis scrolling movement 342 (not shown in Figure) of the vertical subsidiary axis 294.1 in order to be align vertically the two instances of the document 200.1. And the horizontal position of the instance of the active document 337 of the horizontal axis 292.1 may be the effect of a horizontal axis scrolling movement 342 (not shown in Figure) of the horizontal axis 292.1. The horizontal position of the instance of the active document 337 of the axis 292.1 is adjusted to be contiguous to the instance of the active document 336. This let the user know which other instance of the active document 337 without having an overlap with the active document 336.



FIG. 32 shows two windows 316.1 and 316.2 containing axes 292.1 and 292.2. The windows may be components of a graphical user interface 234 (not shown in Figure) provided by an operating 135 (not shown in Figure), but is not limited to, since an application may also show sub windows within the display area 314 (not shown in Figure, but the edges of the figure may be considered as the limits of the viewport of the display area 314). Each window 316 have a window header 320.1 and 320.2. The first window header 320.1 may have emphasis so the user knows that its attached windows 316.1 is the active window. In the embodied example, each window has exactly one axis 292, but they may contain more axes 292 and even groups of axes 310. Each window may have a distinct aligning tool 340 giving the user possibility to use the centering and alignment function on each window. The user may have access to an inter-window alignment function. This function may be used when a third click is performed on the aligning tool 340. When the inter-window alignment function is triggered, other instance of the active document 337 on axes from other windows 316.



FIG. 33 shows the result of the inter-window alignment function, where the two instances of the active document 200.1 are horizontally aligned. One can appreciate that the second window 316.2 has even moved to be centered relatively to the first window 316.1 and the two windows 316.1 and 316.2 are vertically stick one to the other. This may be another effect of the inter-window alignment function. A perpendicular alignment line 360 may be shown to let the user know different instances of the active document 200.1 are aligned, this can be shown inside the windows 316 or over the window if the windowing system of the graphical user interface 234 (not shown in Figure) provided by an operating 135 (not shown in Figure) is permitting it.


The description and the drawings that are presented above are meant to be illustrative of the present invention. They are not meant to be limiting of the scope of the present invention. Modifications to the embodiments described may be made without departing from the present invention, the scope of which is defined by the following claims:

Claims
  • 1. A method of transversally aligning a plurality of axes of user-selectable elements to gather, on a display area, multiple instances of a subject user-selectable element present thereon, the method comprising: displaying a plurality of user-selectable elements along a first axis of user-selectable elements including a first axial direction thereof in accordance with a first collation function, each user-selectable element being located on the first axis at respective collation locations thereof, the first axis displaying a subject user-selectable element thereon;displaying a plurality of user-selectable elements along a second axis of user-selectable elements including a second axial direction thereof in accordance with a second collation function, each information element being located on the second axis at respective collation locations, the second axis being substantially parallel with the first axis, at least one of the axes being capable of relative axial displacement;selecting the subject user-selectable element on the first axis; andenabling an alignment function;in response to enabling the alignment function, performing the steps comprising of substantially centering the subject user-selectable element on the first axis;identifying if another instance of the subject user-selectable element is present on the second axis; andif after identifying if another instance of the subject user-selectable element is present on the second axis and when another instance of the subject user-selectable element is present on the second axis, then identifying a first axial collation location of the subject user-selectable element along the first axis and identifying a second axial collation location of the another instance of the subject user-selectable element along the second axis of user-selectable elements; andif the first axial collation location of the subject user-selectable element on the first axis of user-selectable elements is transversally misaligned with the second axial collation location of the another instance of the subject user-selectable element, then axially displacing at least one of the first axis of user-selectable elements and the second axis of user-selectable elements to display the subject user-selectable element from the first axis of user-selectable elements substantially transversally aligned with the another instance of the subject user-selectable element from the second axis of user-selectable elements, whereby a user can visually associate both instances of the subject user-selectable element on a display area; andif after identifying if another instance of the subject user-selectable element is present on the second axis and when no other instance of the subject user-selectable element is present on the second axis, then identifying a first axial collation location of the subject user-selectable element along the first axis and identifying a corresponding second axial collation location where another instance of the subject user-selectable element would be located along the second axis of user-selectable elements if another instance of the subject user-selectable element was present on the second axis; andif the first axial collation location of the subject user-selectable element on the first axis of user-selectable elements is transversally misaligned with the second axial collation location, then axially displacing at least one of the first axis user-selectable elements and the second axis of user-selectable elements to display the first axial collation location of the subject user-selectable element from the first axis of user-selectable elements substantially transversally aligned with the second axial collation location along the second axis, whereby a user can visually appreciate where another instance of the subject user-selectable element would be located on the second axis of user-selectable elements in respect of the first axial collation location of the subject user-selectable element on the first axis of information elements.
  • 2. The method of aligning axes of information elements of claim 1, wherein the first plurality of user-selectable elements is having a first commonality thereof and the second plurality of user-selectable elements is having a second commonality thereof.
  • 3. The method of aligning axes of information elements of claim 1, wherein at least one of the collation functions is a time-based order including a non-linear timescale where units of time are represented with various axial lengths along the axis.
  • 4. The method of aligning axes of information elements of claim 1, wherein the axial displacement of at least one of the first axis of user-selectable elements and the second axis of user-selectable elements is progressive.
  • 5. The method of aligning axes of information elements of claim 1, wherein, after transversal alignment of the axes, the subject user-selectable element from the first axis of user-selectable elements and the another instance of the subject user-selectable element from the second axis of user-selectable elements are graphically conspicuous from other user-selectable elements.
  • 6. A method of retrieving multiple instances of an information element on a graphical user interface including a plurality of axes of information elements, the method comprising: displaying a plurality of information elements along a first axis including a first axial direction thereof in accordance with a first collation function, each information element being located on the first axis at respective collation locations thereof, the first axis displaying a subject information element thereon;displaying a second plurality of information elements along a second axis including a second axial direction thereof in accordance with a second collation function, each information element being located on the second axis at respective collation locations, the second axis being substantially parallel with the first axis;selecting the subject information element on the first axis; andenabling an alignment function;in response to enabling the alignment function, preforming the steps comprising of substantially centering the subject information element on the first axis;identifying if another instance of the subject information element is present on the second axis;if after identifying if another instance of the subject information element is present on the second axis and when another instance of the subject information element is present on the second axis, then identifying a first axial collation location of the subject information element along the first axis and identifying a second axial collation location of the another instance of the subject information element along the second axis of information elements; andif the first axial collation location of the subject information element on the first axis of information elements is transversally misaligned with the second axial collation location of the another instance of the subject information element, then axially displacing at least one of the first axis of information elements and the second axis of information elements to display the subject information element from the first axis of information elements to be transversally aligned with the another instance of the subject information element from the second axis of information elements, whereby a user can visually retrieve the another instance of the subject information element on a display area; andif after identifying if another instance of the subject information element is present on the second axis and when no other instance of the subject information element is present on the second axis, then identifying a first axial collation location of the subject information element along the first axis and identifying a second axial collation location where the another instance of the subject information element would be located along the second collation function if present on the second axis of information elements; andif the first axial collation location of the subject information element on the first axis of information elements is transversally misaligned with the second axial collation location, then axially displacing at least one of the first axis of information elements and the second axis of information elements to display the first axial collation location of the subject information element from the first axis of information elements substantially transversally aligned with the second axial collation location along the second axis, whereby a user can visually appreciate where another instance of the subject information element would be located on the second axis of information elements in respect of the first axial collation location of the subject information element on the first axis of information elements.
  • 7. A method of performing a relational search, the method comprising: displaying a plurality of search results along a first axis including a first axial direction thereof in accordance with a first collation function, each search result being located on the first axis at respective collation locations thereof, the first axis displaying a subject search result thereon;displaying a second plurality of search results along a second axis including a second axial direction thereof in accordance with a second collation function, each search result being located on the second axis at respective collation locations, the second axis being substantially parallel with the first axis;selecting the subject search result on the first axis;enabling an alignment function; andin response to enabling the alignment function, performing the steps comprising of substantially centering the subject search result on the first axis;identifying if another instance of the subject search result is present on the second axis;if after identifying if another instance of the subject search result is present on the second axis and when another instance of the subject search result is present on the second axis, then identifying a first axial collation location of the subject search result along the first axis and identifying a second axial collation location of the another instance of the subject search result along the second axis of search results;if the first axial collation location of the subject search result from the first axis of search results is transversally misaligned with the second axial collation location of the another instance of the subject search result, then axially displacing at least one of the first axis of search results and the second axis of search results to display the subject search result from the first axis of search results to be substantially transversally aligned with the another instance of the subject search result from the second axis of search results, whereby a user can visually retrieve the another instance of the subject search result on a display area; andif after identifying if another instance of the subject search result is present on the second axis and when no other instance of the subject search result is present on the second axis, then identifying a first axial collation location of the subject search result along the first axis and identifying a second axial collation location where the another instance of the subject search result would be located along the second collation function if another instance of the subject search result was present on the second axis of search results; andif the first axial collation location of the subject search result on the first axis of search results is transversally misaligned with the second axial collation location, then axially displacing at least one of the first axis of search results and the second axis of search results to display the first axial collation location of the subject search result from the first axis of search results substantially transversally aligned with the second axial collation location along the second axis, whereby a user can visually appreciate where another instance of the subject search result on the second axis of search results would be located on the second axis of search results in respect of the first axial collation location of the subject search result on the first axis of search results.
  • 8. The method of performing a relational search of claim 7, wherein at least one of the first collation function and the second collation function is a chronological order.
  • 9. The method of performing a relational search of claim 7, wherein at least some of the search results are displayed with a quadrilateral shape.
  • 10. The method of performing a relational search of claim 7, wherein the transversal alignment with the subject search result is generally made about a center of the display area.
  • 11. The method of performing a relational search of claim 7, wherein the subject search result and the another instance of the subject search result are substantially axially aligned with a transversal alignment identification displayed in conjunction with the axes.
  • 12. The method of performing a relational search of claim 7, wherein at least one of the axes includes collation units of various axial lengths.
  • 13. The method of performing a relational search of claim 7, wherein the axial displacement of at least one of the axes is progressive.
  • 14. The method of performing a relational search of claim 7, wherein the first axis and the second axis are axially scrollable independently.
  • 15. The method of performing a relational search of claim 7, wherein the subject search result includes a visual distinctive feature distinguishing the subject search result from other search results.
  • 16. The method of performing a relational search of claim 7, wherein the another instance of the subject search result includes a visual distinctive feature.
  • 17. The method of performing a relational search of claim 7, wherein other search results on the first axis and on the second axis are substantially transversally aligned.
  • 18. The method of performing a relational search of claim 7, wherein at least some of the search results are images.
  • 19. The method of performing a relational search of claim 7, wherein at least one of the axes is adapted to be locked to prevent axial displacement thereof.
  • 20. The method of performing a relational search of claim 7, wherein enabling the alignment function is made on a basis of an input provided by a user.
CROSS-REFERENCES

The present invention relates to and claims priority from U.S. Provisional Patent Application No. 62/515,093, filed Jun. 5, 2017, entitled METHOD AND APPARATUS OF ALIGNING INFORMATION ELEMENT AXES. This document is incorporated herein by reference.

US Referenced Citations (651)
Number Name Date Kind
4616336 Robertson Oct 1986 A
4653021 Takagi Mar 1987 A
4817036 Millett Mar 1989 A
5101500 Marui Mar 1992 A
5115504 Belove May 1992 A
5148154 MacKay Sep 1992 A
D332812 Solheim Jan 1993 S
5241624 Torres Aug 1993 A
5261087 Mukaino Nov 1993 A
5312478 Reed May 1994 A
5353391 Cohen Oct 1994 A
5388197 Rayner Feb 1995 A
5398074 Duffield Mar 1995 A
5414811 Parulski May 1995 A
5499330 Lucas Mar 1996 A
5519828 Rayner May 1996 A
5524195 Clanton Jun 1996 A
5535063 Lamming Jul 1996 A
5537524 Aprile Jul 1996 A
5546528 Johnston Aug 1996 A
5581752 Inoue Dec 1996 A
5598519 Narayanan Jan 1997 A
5602596 Claussen Feb 1997 A
5606374 Bertram Feb 1997 A
5621456 Florin Apr 1997 A
5621874 Lucas Apr 1997 A
5623613 Rowe Apr 1997 A
5634064 Warnock May 1997 A
5649182 Reitz Jul 1997 A
5659742 Beattie Aug 1997 A
5663757 Morales Sep 1997 A
5671381 Strasnick Sep 1997 A
5673401 Volk Sep 1997 A
5677708 Matthews, III Oct 1997 A
5680605 Torres Oct 1997 A
5682511 Sposato Oct 1997 A
5689287 Mackinlay Nov 1997 A
5701500 Ikeo et al. Dec 1997 A
5713031 Saito Jan 1998 A
5740815 Alpins Apr 1998 A
5751280 Abbott May 1998 A
5754183 Berend May 1998 A
5760772 Austin Jun 1998 A
5781188 Amiot Jul 1998 A
5781785 Ikeo Jul 1998 A
5786816 Macrae Jul 1998 A
5794178 Caid Aug 1998 A
5798766 Hayashi Aug 1998 A
5812124 Eick Sep 1998 A
5822751 Gray Oct 1998 A
5832504 Tripathi Nov 1998 A
5838317 Bolnick Nov 1998 A
5838320 Matthews, III Nov 1998 A
5838326 Card Nov 1998 A
5838966 Harlan Nov 1998 A
5847707 Hayashida Dec 1998 A
5850218 LaJoie Dec 1998 A
5878410 Zbikowski Mar 1999 A
5880729 Johnston, Jr. Mar 1999 A
5900879 Berry May 1999 A
5903271 Bardon May 1999 A
5905992 Lucas May 1999 A
5920859 Li Jul 1999 A
5926824 Hashimoto Jul 1999 A
5933843 Takai Aug 1999 A
5956708 Dyko Sep 1999 A
5966127 Yajima Oct 1999 A
5974391 Hongawa Oct 1999 A
5977974 Hatori Nov 1999 A
5980096 Thalhammer-Reyero Nov 1999 A
5982369 Sciammarella Nov 1999 A
5999173 Ubillos Dec 1999 A
6003034 Tuli Dec 1999 A
6005601 Ohkura Dec 1999 A
6006227 Freeman Dec 1999 A
6009442 Chen Dec 1999 A
6012072 Lucas Jan 2000 A
6020930 Legrand Feb 2000 A
6023703 Hill Feb 2000 A
6028600 Rosin Feb 2000 A
6029164 Birrell Feb 2000 A
6037933 Blonstein Mar 2000 A
6038522 Manson Mar 2000 A
6061062 Venolia May 2000 A
6064384 Ho May 2000 A
6067554 Hohensee May 2000 A
6078924 Ainsbury Jun 2000 A
6081817 Taguchi Jun 2000 A
6088032 Mackinlay Jul 2000 A
6100887 Bormann Aug 2000 A
6108657 Shoup Aug 2000 A
6111578 Tesler Aug 2000 A
6119120 Miller Sep 2000 A
6149519 Osaki Nov 2000 A
6151059 Schein Nov 2000 A
6151604 Wlaschin Nov 2000 A
6151702 Overturf Nov 2000 A
6163345 Noguchi Dec 2000 A
6174845 Rattinger Jan 2001 B1
6175362 Harms Jan 2001 B1
6175845 Smith Jan 2001 B1
6185551 Birrell Feb 2001 B1
6188406 Fong Feb 2001 B1
6189012 Mital Feb 2001 B1
6202068 Kraay Mar 2001 B1
6211873 Moyer Apr 2001 B1
6236994 Swartz May 2001 B1
6237004 Dodson May 2001 B1
6240421 Stolarz May 2001 B1
6243093 Czerwinski Jun 2001 B1
6243724 Mander Jun 2001 B1
6253218 Aoki Jun 2001 B1
6253518 Azar Jul 2001 B1
6262722 Allison Jul 2001 B1
6266059 Matthews, III Jul 2001 B1
6266098 Cove Jul 2001 B1
6275229 Weiner Aug 2001 B1
6281898 Nikolovska Aug 2001 B1
6281940 Sciammarella Aug 2001 B1
6289362 Van Der Meer Sep 2001 B1
6295639 Van Der Meer Sep 2001 B1
6308187 DeStefano Oct 2001 B1
6310622 Asente Oct 2001 B1
6313851 Matthews, III Nov 2001 B1
6317761 Landsman Nov 2001 B1
6335742 Takemoto Jan 2002 B1
6337698 Keely, Jr. Jan 2002 B1
6338044 Cook Jan 2002 B1
6344880 Takahashi Feb 2002 B1
6351765 Pietropaolo Feb 2002 B1
6353436 Reichlen Mar 2002 B1
6353831 Gustman Mar 2002 B1
6366299 Lanning Apr 2002 B1
6380953 Mizuno Apr 2002 B1
6381362 Deshpande Apr 2002 B1
6388665 Linnett May 2002 B1
6392651 Stradley May 2002 B1
6418556 Bennington Jul 2002 B1
6421828 Wakisaka Jul 2002 B1
6425129 Sciammarella Jul 2002 B1
6434545 MacLeod Aug 2002 B1
6434598 Gish Aug 2002 B1
6456938 Barnard Sep 2002 B1
6457006 Gruenwald Sep 2002 B1
6457017 Watkins Sep 2002 B2
6463431 Schmitt Oct 2002 B1
6466237 Miyao Oct 2002 B1
6487557 Nagatomo Nov 2002 B1
6491585 Miyamoto Dec 2002 B1
6501469 MacPhail Dec 2002 B1
6507858 Kanerva Jan 2003 B1
6538672 Dobbelaar Mar 2003 B1
6542896 Gruenwald Apr 2003 B1
6553310 Lopke Apr 2003 B1
6556225 MacPhail Apr 2003 B1
6577350 Proehl Jun 2003 B1
6581068 Bensoussan Jun 2003 B1
6587106 Suzuki Jul 2003 B1
6594673 Smith Jul 2003 B1
6598043 Baclawski Jul 2003 B1
6600501 Israel Jul 2003 B1
D161708 Nguyen Aug 2003 S
D478090 Nguyen Aug 2003 S
6604144 Anders Aug 2003 B1
6606411 Loui Aug 2003 B1
6613100 Miller Sep 2003 B2
6636246 Gallo Oct 2003 B1
6638313 Freeman Oct 2003 B1
6642939 Vallone Nov 2003 B1
6650343 Fujita Nov 2003 B1
6662357 Bowman-Amuah Dec 2003 B1
6668102 Chiba Dec 2003 B2
6671692 Marpe Dec 2003 B1
6671693 Marpe Dec 2003 B1
6671694 Baskins Dec 2003 B2
6675158 Rising, III Jan 2004 B1
6678671 Petrovic Jan 2004 B1
6678694 Zimmermann Jan 2004 B1
6678891 Petrovic Jan 2004 B1
6684249 Frerichs Jan 2004 B1
6690391 Proehl Feb 2004 B1
6691127 Bauer Feb 2004 B1
6694326 Mayhew Feb 2004 B2
6694335 Hopmann Feb 2004 B1
6694486 Frank Feb 2004 B2
6701318 Fox Mar 2004 B2
6704727 Kravets Mar 2004 B1
6704744 Williamson Mar 2004 B1
6721760 Ono Apr 2004 B1
6725232 Bradley Apr 2004 B2
6725427 Freeman Apr 2004 B2
6735591 Khan May 2004 B2
6738787 Stead May 2004 B2
6744447 Estrada Jun 2004 B2
6744967 Kaminski Jun 2004 B2
6754660 MacPhail Jun 2004 B1
6760721 Chasen Jul 2004 B1
6768999 Prager Jul 2004 B2
6772148 Baclawski Aug 2004 B2
6859803 Dagtas Feb 2005 B2
6862027 Andrews Mar 2005 B2
6865717 Wright Mar 2005 B2
6879946 Rong Apr 2005 B2
6889220 Wolff May 2005 B2
6900807 Liongosari May 2005 B1
6901558 Andreas May 2005 B1
6915254 Heinze Jul 2005 B1
6915489 Gargi Jul 2005 B2
6922699 Schuetze Jul 2005 B2
6925611 SanGiovanni Aug 2005 B2
6927770 Ording Aug 2005 B2
6934916 Webb Aug 2005 B1
6948124 Combs Sep 2005 B2
6950989 Athsani Sep 2005 B2
6961900 Sprague Nov 2005 B1
6965380 Kumata Nov 2005 B1
6973628 Asami Dec 2005 B2
6983227 Thalhammer-Reyero Jan 2006 B1
6985948 Taguchi Jan 2006 B2
6987220 Holcombe Jan 2006 B2
6990637 Anthony Jan 2006 B2
7003737 Chiu Feb 2006 B2
7007034 Hartman, Jr. Feb 2006 B1
7010744 Torgerson Mar 2006 B1
7013258 Su Mar 2006 B1
7019741 Kelly Mar 2006 B2
7020848 Rosenzweig Mar 2006 B2
7054878 Gottsman May 2006 B2
7055104 Billmaier May 2006 B1
7075550 Bonadio Jul 2006 B2
7080394 Istvan Jul 2006 B2
7088859 Yamaguchi Aug 2006 B1
7107531 Billmaier Sep 2006 B2
7107532 Billmaier Sep 2006 B1
7113975 Nakayama Sep 2006 B2
7117199 Frank Oct 2006 B2
7137067 Yanase Nov 2006 B2
7139006 Wittenburg Nov 2006 B2
7149983 Robertson Dec 2006 B1
7155675 Billmaier Dec 2006 B2
7159177 Billmaier Jan 2007 B2
7199809 Lacy Apr 2007 B1
7218325 Buck May 2007 B1
7220910 Plastina May 2007 B2
7234114 Kurtz Jun 2007 B2
7266768 Ferlitsch Sep 2007 B2
7289981 Chang Oct 2007 B2
7290698 Poslinski Nov 2007 B2
7293228 Lessing Nov 2007 B1
7302649 Ohnishi Nov 2007 B2
7318196 Crow Jan 2008 B2
7334191 Sivan Feb 2008 B1
7336279 Takiguchi Feb 2008 B1
7346600 Nakao Mar 2008 B2
7346850 Swartz Mar 2008 B2
7350157 Billmaier Mar 2008 B1
7353461 Davidsson Apr 2008 B2
7363591 Goldthwaite Apr 2008 B2
7366994 Loui Apr 2008 B2
7372473 Venolia May 2008 B2
7380260 Billmaier May 2008 B1
7418674 Robbins Aug 2008 B2
7426057 Mori Sep 2008 B2
7444598 Horvitz Oct 2008 B2
7447713 Berkheimer Nov 2008 B1
7448950 Matsumoto Nov 2008 B2
7458033 Bacigalupi Nov 2008 B2
7461088 Thorman Dec 2008 B2
7502819 Alonso Mar 2009 B2
D589972 Casagrande et al. Apr 2009 S
7594246 Billmaier Sep 2009 B1
7606819 Audet Oct 2009 B2
7607104 Maeda Oct 2009 B2
7629527 Hiner Dec 2009 B2
7650569 Allen Jan 2010 B1
7661075 Lahdesmaki Feb 2010 B2
7680817 Audet Mar 2010 B2
7681128 Yamamoto Mar 2010 B2
7681149 Lahdesmaki Mar 2010 B2
D614197 Casagrande Apr 2010 S
7698658 Ohwa Apr 2010 B2
7703040 Cutrell Apr 2010 B2
7710423 Drucker May 2010 B2
7714859 Shoemaker May 2010 B2
7716194 Williams May 2010 B2
7716604 Kataoka May 2010 B2
7735102 Billmaier Jun 2010 B1
7739598 Porter Jun 2010 B2
7739622 DeLine Jun 2010 B2
7757253 Rappaport Jul 2010 B2
7761471 Lee Jul 2010 B1
7765184 Makela Jul 2010 B2
7765195 Miller Jul 2010 B2
7770117 Uy Aug 2010 B1
7770217 Pueblas Aug 2010 B2
7788247 Wang Aug 2010 B2
7788592 Williams Aug 2010 B2
7792328 Albertson Sep 2010 B2
7818378 Buchheit Oct 2010 B2
7822735 Suda Oct 2010 B2
7831599 Das Nov 2010 B2
7844074 Moskowitz Nov 2010 B2
7856424 Cisler Dec 2010 B2
7870489 Serita Jan 2011 B2
7899818 Stonehocker Mar 2011 B2
7902741 Iwanaga Mar 2011 B2
7949691 Franciscus de Heer May 2011 B1
7962522 Norris, III Jun 2011 B2
7991720 Mander Aug 2011 B2
8001481 Al Chakra Aug 2011 B2
8010508 Audet Aug 2011 B2
8010892 Audet Aug 2011 B2
8010903 Dieberger Aug 2011 B2
8069404 Audet Nov 2011 B2
8078966 Audet Dec 2011 B2
8091033 von Sichart Jan 2012 B2
8099680 Kolde Jan 2012 B1
8136030 Audet Mar 2012 B2
8151185 Audet Apr 2012 B2
8306982 Audet Nov 2012 B2
8307355 Capomassi Nov 2012 B2
8316306 Audet Nov 2012 B2
8341194 Gottsman Dec 2012 B2
8438188 Norris, III May 2013 B2
8468467 Yamashita Jun 2013 B2
8601392 Audet Dec 2013 B2
8607155 Audet Dec 2013 B2
8701039 Audet Apr 2014 B2
8707169 Morita Apr 2014 B2
8739050 Audet May 2014 B2
8762380 Shirai Jun 2014 B2
8788937 Audet Jul 2014 B2
8826123 Audet Sep 2014 B2
8930895 Drukman Jan 2015 B2
8984417 Audet Mar 2015 B2
8990255 Metsatahti Mar 2015 B2
9058093 Audet Jun 2015 B2
9081498 Thorsander Jul 2015 B2
9122374 Audet Sep 2015 B2
9189129 Cassistat Nov 2015 B2
9262381 Audet Feb 2016 B2
9348800 Audet May 2016 B2
9519693 Audet Dec 2016 B2
9529495 Cassistat Dec 2016 B2
9588646 Cassistat Mar 2017 B2
20010003186 DeStefano Jun 2001 A1
20010025288 Yanase Sep 2001 A1
20010034766 Morimoto Oct 2001 A1
20010055017 Ording Dec 2001 A1
20020011990 Anwar Jan 2002 A1
20020032696 Takiguchi Mar 2002 A1
20020033848 Sciammarella Mar 2002 A1
20020035563 Suda Mar 2002 A1
20020052721 Ruff May 2002 A1
20020056129 Blackketter May 2002 A1
20020059215 Kotani May 2002 A1
20020070958 Yeo Jun 2002 A1
20020078440 Feinberg Jun 2002 A1
20020087530 Smith Jul 2002 A1
20020091739 Ferlitsch Jul 2002 A1
20020096831 Nakayama Jul 2002 A1
20020101458 SanGiovanni Aug 2002 A1
20020105541 Endou Aug 2002 A1
20020140719 Amir Oct 2002 A1
20020140740 Chen Oct 2002 A1
20020143772 Gottsman Oct 2002 A1
20020152474 Dudkiewicz Oct 2002 A1
20020180795 Wright Dec 2002 A1
20030001898 Bernhardson Jan 2003 A1
20030001901 Crinon Jan 2003 A1
20030030664 Parry Feb 2003 A1
20030037051 Gruenwald Feb 2003 A1
20030046693 Billmaier Mar 2003 A1
20030046694 Istvan Mar 2003 A1
20030046695 Billmaier Mar 2003 A1
20030052900 Card Mar 2003 A1
20030069893 Kanai Apr 2003 A1
20030090504 Brook May 2003 A1
20030090524 Segerberg May 2003 A1
20030093260 Dagtas May 2003 A1
20030093792 Labeeb May 2003 A1
20030095149 Fredriksson May 2003 A1
20030120681 Baclawski Jun 2003 A1
20030120737 Lytle Jun 2003 A1
20030121055 Kaminski Jun 2003 A1
20030128228 Crow Jul 2003 A1
20030132971 Billmaier Jul 2003 A1
20030140023 Ferguson Jul 2003 A1
20030142136 Carter Jul 2003 A1
20030149939 Hubel Aug 2003 A1
20030156119 Bonadio Aug 2003 A1
20030163468 Freeman Aug 2003 A1
20030167902 Hiner Sep 2003 A1
20030190950 Matsumoto Oct 2003 A1
20030206201 Ly Nov 2003 A1
20030237047 Borson Dec 2003 A1
20040003398 Donian Jan 2004 A1
20040024738 Yamane Feb 2004 A1
20040054968 Savage Mar 2004 A1
20040064473 Thomas Apr 2004 A1
20040090439 Dillner May 2004 A1
20040095376 Graham May 2004 A1
20040111401 Chang Jun 2004 A1
20040125143 Deaton Jul 2004 A1
20040128277 Mander Jul 2004 A1
20040139143 Canakapalli Jul 2004 A1
20040143598 Drucker Jul 2004 A1
20040150657 Wittenburg Aug 2004 A1
20040160416 Venolia Aug 2004 A1
20040163049 Mori Aug 2004 A1
20040172593 Wong Sep 2004 A1
20040177319 Horn Sep 2004 A1
20040189827 Kim Sep 2004 A1
20040233238 Lahdesmaki Nov 2004 A1
20040233239 Lahdesmaki Nov 2004 A1
20040263519 Andrews Dec 2004 A1
20050022132 Herzberg Jan 2005 A1
20050060343 Gottsman Mar 2005 A1
20050060667 Robbins Mar 2005 A1
20050108644 Finke-Anlauff May 2005 A1
20050119936 Buchanan Jun 2005 A1
20050131959 Thorman Jun 2005 A1
20050138066 Finke-Anlauff Jun 2005 A1
20050210410 Ohwa Sep 2005 A1
20050234843 Beckius Oct 2005 A1
20050262533 Hart Nov 2005 A1
20050268254 Abramson Dec 2005 A1
20050289482 Anthony Dec 2005 A1
20060000484 Romanchik Jan 2006 A1
20060004848 Williams Jan 2006 A1
20060013554 Poslinski Jan 2006 A1
20060013555 Poslinski Jan 2006 A1
20060013556 Poslinski Jan 2006 A1
20060013557 Poslinski Jan 2006 A1
20060020966 Poslinski Jan 2006 A1
20060020971 Poslinski Jan 2006 A1
20060026170 Kreitler Feb 2006 A1
20060041521 Oral Feb 2006 A1
20060045470 Poslinski Mar 2006 A1
20060048043 Kikuchi Mar 2006 A1
20060048076 Vronay Mar 2006 A1
20060075338 Kusakabe Apr 2006 A1
20060095857 Torvinen May 2006 A1
20060107096 Findleton May 2006 A1
20060116994 Jonker Jun 2006 A1
20060136246 Tu Jun 2006 A1
20060136466 Weiner Jun 2006 A1
20060136839 Makela Jun 2006 A1
20060143574 Ito Jun 2006 A1
20060155757 Williams Jul 2006 A1
20060156246 Williams Jul 2006 A1
20060161867 Drucker Jul 2006 A1
20060197782 Sellers Sep 2006 A1
20060200475 Das Sep 2006 A1
20060209069 Bacigalupi Sep 2006 A1
20060236251 Kataoka Oct 2006 A1
20060241952 Loduha Oct 2006 A1
20060242178 Butterfield Oct 2006 A1
20060248129 Carnes Nov 2006 A1
20060259511 Boerries Nov 2006 A1
20060271884 Hurst Nov 2006 A1
20060277478 Seraji Dec 2006 A1
20060277496 Bier Dec 2006 A1
20070005576 Cutrell Jan 2007 A1
20070007884 Iwanaga Jan 2007 A1
20070011150 Frank Jan 2007 A1
20070024722 Eura Feb 2007 A1
20070061745 Anthony Mar 2007 A1
20070061855 Serita Mar 2007 A1
20070067290 Makela Mar 2007 A1
20070076984 Takahashi Apr 2007 A1
20070083505 Ferrari Apr 2007 A1
20070083527 Wadler Apr 2007 A1
20070094615 Endo Apr 2007 A1
20070100842 Wykes May 2007 A1
20070118520 Bliss May 2007 A1
20070120856 De Ruyter May 2007 A1
20070136687 Pak Jun 2007 A1
20070143803 Lim Jun 2007 A1
20070156654 Ravinarayanan Jul 2007 A1
20070168877 Jain Jul 2007 A1
20070171224 MacPherson Jul 2007 A1
20070185826 Brice Aug 2007 A1
20070192749 Baudisch Aug 2007 A1
20070204218 Weber Aug 2007 A1
20070208679 Tseng Sep 2007 A1
20070214169 Audet Sep 2007 A1
20070216694 Audet Sep 2007 A1
20070220209 Maeda Sep 2007 A1
20070239676 Stonehocker Oct 2007 A1
20070268522 Miyamoto Nov 2007 A1
20070271508 Audet Nov 2007 A1
20070272508 Toya Nov 2007 A1
20080000126 Teza Jan 2008 A1
20080010605 Frank Jan 2008 A1
20080015911 Wang Jan 2008 A1
20080016142 Schneider Jan 2008 A1
20080019371 Anschutz Jan 2008 A1
20080022199 Sako Jan 2008 A1
20080024444 Abe Jan 2008 A1
20080040665 Waldeck Feb 2008 A1
20080046844 Sugie Feb 2008 A1
20080058106 Audet Mar 2008 A1
20080059897 DiLorenzo Mar 2008 A1
20080065995 Bell Mar 2008 A1
20080071822 Audet Mar 2008 A1
20080072169 Audet Mar 2008 A1
20080077756 Shibata Mar 2008 A1
20080092038 Audet Apr 2008 A1
20080098323 Vallone Apr 2008 A1
20080104227 Birnie May 2008 A1
20080104534 Park May 2008 A1
20080111826 Endrikhovski May 2008 A1
20080118219 Chang May 2008 A1
20080120571 Chang May 2008 A1
20080133579 Lim Jun 2008 A1
20080134013 Audet Jun 2008 A1
20080134022 Audet Jun 2008 A1
20080140448 Hernandez Jun 2008 A1
20080141115 Audet Jun 2008 A1
20080155474 Duhig Jun 2008 A1
20080163048 Gossweiler, III Jul 2008 A1
20080174790 Noguchi Jul 2008 A1
20080184285 Park Jul 2008 A1
20080186305 Carter Aug 2008 A1
20080243778 Behnen Oct 2008 A1
20080244437 Fischer Oct 2008 A1
20080256473 Al Chakra Oct 2008 A1
20080256474 Al Chakra Oct 2008 A1
20080270361 Meyer Oct 2008 A1
20080270928 Al Chakra Oct 2008 A1
20080276178 Fadell Nov 2008 A1
20080282198 Brooks Nov 2008 A1
20080294651 Masuyama Nov 2008 A1
20080295016 Audet Nov 2008 A1
20080295036 Ikeda Nov 2008 A1
20080298697 Lee Dec 2008 A1
20080299989 King Dec 2008 A1
20080301562 Berger Dec 2008 A1
20080307343 Robert Dec 2008 A1
20080307348 Jones Dec 2008 A1
20090018996 Hunt Jan 2009 A1
20090019371 Audet Jan 2009 A1
20090033664 Hao Feb 2009 A1
20090048981 McBain Millan Feb 2009 A1
20090055413 Audet Feb 2009 A1
20090055726 Audet Feb 2009 A1
20090055729 Audet Feb 2009 A1
20090055763 Audet Feb 2009 A1
20090055776 Audet Feb 2009 A1
20090063552 Jones Mar 2009 A1
20090064029 Corkran Mar 2009 A1
20090064143 Bhogal Mar 2009 A1
20090070662 Audet Mar 2009 A1
20090070699 Birkill Mar 2009 A1
20090083260 Artom Mar 2009 A1
20090083859 Roth Mar 2009 A1
20090106684 Al Chakra Apr 2009 A1
20090106685 Care Apr 2009 A1
20090113334 Al Chakra Apr 2009 A1
20090116817 Kim May 2009 A1
20090132952 Wong May 2009 A1
20090150832 Keller Jun 2009 A1
20090164933 Pederson Jun 2009 A1
20090177754 Brezina Jul 2009 A1
20090199119 Park Aug 2009 A1
20090199302 So Aug 2009 A1
20090210862 Viswanadha Aug 2009 A1
20090217204 Yamashita Aug 2009 A1
20090228774 Matheny Sep 2009 A1
20090228788 Audet Sep 2009 A1
20090235194 Arndt Sep 2009 A1
20090254850 Almeida Oct 2009 A1
20090265372 Esmann-Jensen Oct 2009 A1
20090276733 Manyam Nov 2009 A1
20090284658 Cho Nov 2009 A1
20090287693 Audet Nov 2009 A1
20090288006 Audet Nov 2009 A1
20090307629 Horiuchi Dec 2009 A1
20090319933 Zaika Dec 2009 A1
20090322756 Robertson Dec 2009 A1
20100023500 Bascom Jan 2010 A1
20100057576 Brodersen Mar 2010 A1
20100058226 Flake Mar 2010 A1
20100070919 Araumi Mar 2010 A1
20100077355 Belinsky Mar 2010 A1
20100082427 Burgener Apr 2010 A1
20100082653 Nair Apr 2010 A1
20100083159 Mountain Apr 2010 A1
20100094890 Bokor Apr 2010 A1
20100110228 Ozawa May 2010 A1
20100145976 Higgins Jun 2010 A1
20100146380 Rousso Jun 2010 A1
20100150522 Schmehl Jun 2010 A1
20100169823 Audet Jul 2010 A1
20100171861 Ota Jul 2010 A1
20100185509 Higgins Jul 2010 A1
20100205563 Haapsaari Aug 2010 A1
20100313158 Lee Dec 2010 A1
20100313159 Decker Dec 2010 A1
20100318200 Foslien Dec 2010 A1
20100325132 Liu Dec 2010 A1
20100325134 Galfond Dec 2010 A1
20100332512 Shpits Dec 2010 A1
20100333031 Castelli Dec 2010 A1
20110010667 Sakai Jan 2011 A1
20110012927 Lin Jan 2011 A1
20110029925 Robert Feb 2011 A1
20110035700 Meaney Feb 2011 A1
20110061082 Heo Mar 2011 A1
20110078166 Oliver Mar 2011 A1
20110145745 Hyeon Jun 2011 A1
20110154213 Wheatley Jun 2011 A1
20110219297 Oda Sep 2011 A1
20110239149 Lazo Sep 2011 A1
20110246926 Newton Oct 2011 A1
20110302556 Drukman Dec 2011 A1
20110307814 Audet Dec 2011 A1
20120159320 Audet Jun 2012 A1
20120183273 Utsuki Jul 2012 A1
20120198385 Audet Aug 2012 A1
20120198389 Audet Aug 2012 A1
20120249581 Cassistat Oct 2012 A1
20120260204 Audet Oct 2012 A1
20120262398 Kim Oct 2012 A1
20130080880 Cassistat Mar 2013 A1
20130080888 Audet Mar 2013 A1
20130179777 Cassistat Jul 2013 A1
20130179801 Audet Jul 2013 A1
20130198190 Cassistat Aug 2013 A1
20130198782 Arruda Aug 2013 A1
20130218894 Audet Aug 2013 A1
20130227470 Thorsander Aug 2013 A1
20130227487 Cassistat Aug 2013 A1
20130263050 Audet Oct 2013 A1
20130290891 Audet Oct 2013 A1
20130290897 Audet Oct 2013 A1
20130332453 Audet Dec 2013 A1
20130332459 Audet Dec 2013 A1
20130346106 Xiao Dec 2013 A1
20140181649 Audet Jun 2014 A1
20140223297 Audet Aug 2014 A1
20140244625 Seghezzi Aug 2014 A1
20140245228 Audet Aug 2014 A1
20150019252 Dawson Jan 2015 A1
20150324071 Audet Nov 2015 A1
20160077689 Audet Mar 2016 A1
20160085390 Audet Mar 2016 A1
20160092043 Missig Mar 2016 A1
20170255368 Audet Sep 2017 A1
20180349006 Lindley Dec 2018 A1
Foreign Referenced Citations (47)
Number Date Country
2323268 Oct 2000 CA
2609837 Dec 2012 CA
2666016 Jul 2014 CA
2780828 Oct 2015 CA
2601154 Sep 2016 CA
2602831 Sep 2016 CA
2677921 Jun 2017 CA
2657835 Sep 2017 CA
2568369 Mar 2013 EP
07-013971 Jan 1995 JP
07-085080 Mar 1995 JP
08-016612 Jan 1996 JP
09-016809 Jan 1997 JP
09-265480 Oct 1997 JP
09-288659 Nov 1997 JP
10-143414 May 1998 JP
10-149432 Jun 1998 JP
10-275222 Oct 1998 JP
11-120180 Apr 1999 JP
11-195028 Jul 1999 JP
11-212988 Aug 1999 JP
2000-099540 Apr 2000 JP
2000-250942 Sep 2000 JP
2000-293281 Oct 2000 JP
2000-348040 Dec 2000 JP
2001-005822 Jan 2001 JP
2001-092737 Apr 2001 JP
2001-101227 Apr 2001 JP
2001-167288 Jun 2001 JP
2001-243244 Sep 2001 JP
2001-282816 Oct 2001 JP
2001-331514 Nov 2001 JP
2001-337762 Dec 2001 JP
2001-337953 Dec 2001 JP
2002-056411 Feb 2002 JP
WO 199903271 Jan 1999 WO
WO 200065429 Nov 2000 WO
WO 200122194 Mar 2001 WO
WO 200163378 Aug 2001 WO
WO 200198881 Dec 2001 WO
WO 2002099241 Dec 2002 WO
WO 2003001345 Jan 2003 WO
WO 2003032199 Apr 2003 WO
WO 2005045756 May 2005 WO
WO 2005083595 Sep 2005 WO
WO 2007095997 Aug 2007 WO
WO 2008030779 Mar 2008 WO
Non-Patent Literature Citations (10)
Entry
The lifestream approach to reorganizing the information world; Nicolas Carriero, Scott Fertig; Eric Freeman and David Gelernter; Apr. 1995; Yale University; United States.
Haystack Project; David R. Karger, Stephen J. Garland, Karun Bakshi, David Huynh, Nicholas Matsakis, Dennis Quan, Vineet Sinha, Jaime Teevan, Yuan Shen, Punyashloka Biswal, Artem Gleyzer, Ryan Manuel, Alexandre P. Poliakov, Amanda Smith, Lynn A. Stein, Eytan Adar, Mark Asdoorian, Robert Aspell, Wendy Chien, Gabriel Cunningham, Jonathan Derryberry, Adam Holt, Joshua Kramer, Percy Liang, Ilya Lisansky, Aidan Low, Enrique A. Muñoz Torres, Mark Rosen, Kai Shih, Svetlana Shnitser, Ben Walter, Marina Zhurakhinskaya; Massachsetts Institute of Technology; http://web.archive.org/web/20070415053620/http://haystack.lcs.mit.edu/ ; http://groups.csail.mit.edu/haystack/ ; http://en.wikipedia.org/wiki/Haystack_%28MIT_project%29 ; Published May 10, 2013.
Chandler Project; Grant Baillie, Jeffrey Harris, Sheila Mooney, Katie Capps Parlante, Jared Rhine, Mimi Yin, Eugene Kim, Alex Russell, Andre Mueninghoff, Al Cho, Aleks Totic, Alec Flett, Andy Vajda, Andy Hertzfeld, Aparna Kadakia, Bobby Rullo, Brendan O'Connor, Brian Douglas Skinner, Brian Kirsch, Brian Moseley, Bryan Stearns, Chao Lam, Chris Haumesser, David Surovell, Donn Denman, Ducky Sherwood, Ed Bindl, Edward Chao, Heikki Toivonen, Jed Burgess, John Anderson, John Townsend, Jürgen Botz, Lisa Dusseault, Lori Motko, Lou Montulli, Mark Jaffe, Matthew Eernisse, Michael Toy, Mike Taylor, Mitch Kapor, Morgen Sagen, Pieter Hartsook, Philippe Bossut, Priscilla Chung, Robin Dunn, Randy Letness, Rys McCusker, Stuart Parmenter, Suzette Tauber, Ted Leung, Travis Vachon, Vinubalaji Gopal ; Open Source Applications Foundation ; http://chandlerproject.org/ ; Published May 10, 2013.
Emacs Org-Mode; Carsten, Bastien Guerry, Eric Shulte, Dan Davison, John Wiegley, Sebastian Rose, Nicolas Goaziou, Achim Gratz, Nick Dokos, Russel Adams, Suvayu Ali, Luis Anaya, Thomas Baumann, Michael Brand, Christophe Bataillon, Alex Bochannek, Jan Böcker, Brad Bozarth, Tom Breton, Charles Cave, Pavel Chalmoviansky, Gregory Chernov, Sacha Chua, Toby S. Cubitt, Baoqiu Cui, Eddward DeVilla, Nick Dokos, Kees Dullemond, Thomas S. Dye, Christian Egli, David Emery, Nic Ferrier, Miguel A. Figueroa-Villanueva, John Foerch, Raimar Finken, Mikael Fornius, Austin Frank, Eric Fraga, Barry Gidden, Niels Giesen, Nicolas Goaziou, Kai Grossjohann, Brian Gough, Bernt Hansen, Manuel Hermenegildo, Phil Jackson, Scott Jaderholm, Matt Jones, Tokuya Kameshima, Jonathan Leech-Pepin, Shidai Liu, Matt Lundin, David Maus, Jason F. McBrayer, Max Mikhanosha, Dmitri Minaev, Stefan Monnier, Richard Moreland, Rick Moynihan, Todd Neal, Greg Newman, Tim O'Callaghan, Osamu Okano, Takeshi Okano, Oliver Oppitz, Scott Otterson, Pete Phillips, Francesco Pizzolante, Martin Pohlack, T.V. Raman, Matthias Rempe, Paul Rivier, Kevin Rogers, Frank Ruell, Jason Riedy, Philip Rooke, Christian Schlauer, Christopher Schmidt, Paul Sexton, Tom Shannon, Ilya Shlyakhter, Stathis Sideris, Daniel Sinder, Dale Smith, James TD Smith, Adam Spiers, Ulf Stegemann, Andy Stewart, David O'Toole, Jambunathan K, Sebastien Vauban, Stefan Vollmar, Jürgen Vollmer, Samuel Wales, Chris Wallace, David Wainberg, Carsten Wimmer, Roland Winkler, Piotr Zielinski; http://orgmode.org/ ; Published May 10, 2013.
TimeLine: Visualizing Integrated Patient Records; Alex A. T. Bui, Denise R. Aberte, Hooshang Kangarloo ; IEE Transactions on information technology in biomedicine, vol. 11, No. 4, Published Jul. 2007.
ChronoTwigger: A visual analytics tool for understanding source and test co-evolution ; Barret Ens, Daniel Rea, Roiy Shpaner, Hadi Hemmati, James E. Young, POurang Irani ; Department of Computer Science, University of Manitoba, Winnipeg, Canada ; Published 2014.
Translation of foreign reference EP2568369; Dec. 15, 2016.
Visualization of document collection: the vibe system ; in Information Processing & Management vol. 29. Published by Pergamon Press, Molde (Norway), Published Feb. 3, 1992.
Requisition from Canadian Intellectual Property Office in application CA 2,638,101, dated Apr. 18, 2017.
Website photo from Gallery Codex, dated Sep. 22, 2005 and cited in requisition from Canadian Intellectual Property Office dated from Apr. 18, 2017 in application CA 2,638,101.
Related Publications (1)
Number Date Country
20180348978 A1 Dec 2018 US
Provisional Applications (1)
Number Date Country
62515093 Jun 2017 US