US20150095842A1 - Extendable blade sequence along pannable canvas direction - Google Patents
Extendable blade sequence along pannable canvas direction Download PDFInfo
- Publication number
- US20150095842A1 US20150095842A1 US14/231,846 US201414231846A US2015095842A1 US 20150095842 A1 US20150095842 A1 US 20150095842A1 US 201414231846 A US201414231846 A US 201414231846A US 2015095842 A1 US2015095842 A1 US 2015095842A1
- Authority
- US
- United States
- Prior art keywords
- blade
- canvas
- user
- user interface
- accordance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000004913 activation Effects 0.000 claims abstract description 63
- 230000007246 mechanism Effects 0.000 claims abstract description 23
- 230000000977 initiatory effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 10
- 238000004091 panning Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims 2
- 238000012790 confirmation Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
Definitions
- a current paradigm for navigating through various information contexts is windows based.
- a classic example of this is the web browser experience.
- a user might begin with a home page that occupies the entire browser space. The user might then select a hyperlink, whereupon a new window appears. However, the previous window either disappears or, in the case of exercising an option to open the new page in a new window, the previous window is fully, or at least partially, hidden.
- At least some embodiments described herein relate to a user interface that includes a canvas that extends in one direction.
- An activation mechanism may be used to generate an initial blade in the canvas.
- a blade is a user interface element that occupies a portion of the canvas in the dimension along which the canvas extends. For instance, the blade might occupy a majority or even all of the canvas in the portion to which it is assigned.
- the blade includes multiple selectable elements that each have a corresponding blade. If the selectable element is selected, then the corresponding blade is also presented on the canvas. For instance, the new blade might be displayed adjacent the first blade in the extendable direction of the canvas.
- the elements in the first blade might be hierarchically structured so that a selectable element in the first blade might actually contain one or more other selectable elements.
- the user interface might more generally include an extension mechanism configured to present a corresponding subsequent blade on the canvas when a selected element from a prior blade is selected, the subsequent blade also including multiple selectable elements that may be hierarchically structured. In this manner, long chains of blades may be created representative of a journey that the user has taken since initiating the first blade.
- FIG. 1 abstractly illustrates a computing system in which some embodiments described herein may be employed
- FIG. 2A abstractly illustrates an environment in which a portion of a pannable canvas is displayed on a displayable area of a display, and a portion of the canvas is not displayed in the displayable area of the display;
- FIG. 2B illustrates the user interface of FIG. 2A in a state in which the user has selected an activation control to activate an initial blade in a journey;
- FIG. 2C illustrates the user interface of FIG. 2B in a state in which the user has selected a selectable element of the initial blade to add an additional blade;
- FIG. 3 illustrates a supporting architecture for a user interface of FIGS. 2A through 2C ;
- FIG. 4 illustrates a flowchart of a method for generating a user interface that has a pannable canvas and that presents a sequence of blades representing a user journey through information
- FIG. 5 illustrates a user interface in which a portion of a canvas is displayed
- FIG. 6 illustrates a user interface resulting from the interaction of the user with an activation control
- FIG. 7 illustrates a user interface that shows how information that is global may still be accessed without having to leave the context of the journey;
- FIG. 8 illustrates a user interface that is similar to that of FIG. 6 , except that command window is activated;
- FIG. 9 illustrates a user interface having a single blade in the journey, but in which that single blade has a command space activated
- FIG. 10 illustrates a user interface having a single blade in the journey, in a state in which the user is able to select a selectable element from that single blade;
- FIG. 11 illustrates a user interface that results from the user selecting the selectable element, and in which a second blade in the journey is correspondingly appended to for a sequence of blades in the journey;
- FIG. 12 illustrates the second blade of FIG. 11 only in full representation mode
- FIG. 13 illustrate a journey view in which a journey may be viewed in its entirety, saved, pinned, shared, or closed;
- FIG. 14 illustrates a flow associated with presenting a selectable item or part which then issues command to underlying information resources
- FIG. 15 illustrates a part presented in different sizes and shapes, and exposing different information in different forms depending on the size and shape
- FIG. 16 illustrates a notification as it might appear if not associated with any of the activation controls in the favorites area
- FIG. 17 illustrates the activation of a temporary area and an initial blade in response to selection of the notification
- FIG. 18 illustrates an initial state in which the user selects to create a website
- FIG. 19 illustrates a creation pane in which the user enters information about the website and is given options for adding onto the original resource requested;
- FIG. 20 illustrates a creation pane in which the user selects a database to be associated with the website, and the system automatically selects an additional add on of a connection string between the website and the database;
- FIG. 21 illustrates the creation pane in which the user enters information about the database
- FIG. 22 illustrates the creation pane in which the user enters information about the connection string between the website and the database.
- At least some embodiments described herein relate to a user interface that includes a canvas that extends in one direction along a pannable direction.
- An activation mechanism may be used to generate an initial blade in the canvas.
- a blade is a user interface element that occupies a portion of the canvas in the pannable dimension along which the canvas extends. For instance, the blade might occupy a majority or even all of the canvas in the portion to which it is assigned.
- the blade includes multiple selectable elements that each have a corresponding blade. If the selectable element is selected, then the corresponding blade is also presented on the canvas. For instance, the new blade might be displayed adjacent the first blade in the extendable direction of the canvas.
- the elements in the first blade might be hierarchically structured so that a selectable element in the first blade might actually contain one or more other selectable elements.
- the user interface might more generally include an extension mechanism configured to present a corresponding subsequent blade on the canvas when a selected element from a prior blade is selected, the subsequent blade also including multiple selectable elements that may be hierarchically structured. In this manner, long chains of blades may be created representative of a journey that the user has taken since initiating the first blade.
- Computing systems are now increasingly taking a wide variety of forms. Computing systems may, for example, be handheld devices, appliances, laptop computers, desktop computers, mainframes, distributed computing systems, or even devices that have not conventionally been considered a computing system.
- the term “computing system” is defined broadly as including any device or system (or combination thereof) that includes at least one physical and tangible processor, and a physical and tangible memory capable of having thereon computer-executable instructions that may be executed by the processor.
- the memory may take any form and may depend on the nature and form of the computing system.
- a computing system may be distributed over a network environment and may include multiple constituent computing systems.
- a computing system 100 typically includes at least one processing unit 102 and memory 104 .
- the memory 104 may be physical system memory, which may be volatile, non-volatile, or some combination of the two.
- the term “memory” may also be used herein to refer to non-volatile mass storage such as physical storage media. If the computing system is distributed, the processing, memory and/or storage capability may be distributed as well.
- the term “executable module” or “executable component” can refer to software objects, routines, or methods that may be executed on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads).
- embodiments are described with reference to acts that are performed by one or more computing systems. If such acts are implemented in software, one or more processors of the associated computing system that performs the act direct the operation of the computing system in response to having executed computer-executable instructions.
- such computer-executable instructions may be embodied on one or more computer-readable media that form a computer program product.
- An example of such an operation involves the manipulation of data.
- the computer-executable instructions (and the manipulated data) may be stored in the memory 104 of the computing system 100 .
- Computing system 100 may also contain communication channels 108 that allow the computing system 100 to communicate with other message processors over, for example, network 110 .
- the computing system 100 also includes a display 112 on which a user interface, such as the user interfaces described herein, may be rendered.
- a user interface such as the user interfaces described herein
- Such user interfaces may be generated in computer hardware or other computer-represented form prior to rendering.
- the presentation and/or rendering of such user interfaces may be performed by the computing system 100 by having the processing unit(s) 102 execute one or more computer-executable instructions that are embodied on one or more computer-readable media.
- Such computer-readable media may form all or a part of a computer program product.
- Embodiments described herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below.
- Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures.
- Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
- Computer-readable media that store computer-executable instructions are physical storage media.
- Computer-readable media that carry computer-executable instructions are transmission media.
- embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
- Computer storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- a “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
- a network or another communications connection can include a network and/or data links which can be used to carry or desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
- program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa).
- computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system.
- a network interface module e.g., a “NIC”
- NIC network interface module
- computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- the computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
- the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like.
- the invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
- program modules may be located in both local and remote memory storage devices.
- FIG. 2A abstractly illustrates an environment 200 A in which a portion 201 A of a canvas 202 is displayed on a displayable area 210 of a display, and a portion 201 B of the canvas is not displayed in the displayable area 210 of the display.
- the display might be, for instance, the display 112 of the computing system 100 of FIG. 1 .
- the canvas 202 extends in an extendable direction 221 along a single dimension 222 . For instance, in FIG. 2A through 2C , the extendable direction 221 is rightward, and the single dimension 222 is horizontally.
- the user interface might include a panning control 231 that the user may manipulate in order to pan the canvas 202 along the single dimension 222 so as to gain a view of a desired portion of at least a populated portion of the canvas 202 .
- FIG. 3 illustrates a supporting architecture 300 for a user interface 301 .
- the user interface 301 is an example of the user interface of FIGS. 2A through 2C .
- the supporting architecture 300 is illustrated as including a panning mechanism 311 which operates to pan the canvas 202 in response to user direction.
- the single dimension 222 may be configurable to be vertical or horizontal according to the tastes of the user.
- the extendable direction 221 may be configurable. For instance, if the dimension 222 is vertical, the user might configure the canvas to extend downward, or upward, according to the user's preference. If the dimension 222 is horizontal, the user might configure the canvas to extend leftward, or rightward, according to the user's preference.
- the panning control 231 might not activate until the populated portion of the canvas extends to a degree that the populated portion of the canvas cannot be displayed all at once.
- the supporting architecture 300 illustrates a configuration mechanism 312 that is configured to respond to such user preference configuration.
- a “populated” portion of the canvas means that portion of the canvas that contains the sequence of one or more blades built up through user interaction with the canvas.
- one or more and potentially many blades may be added to the canvas. Some or all of these blades may be added contiguously.
- the “extendable direction” of the canvas refers to the direction in which new blades are added to the prior sequence of one or more contiguous blades upon interacting with selectable elements from the prior blade.
- a “blade” is a user interface element that occupies a position within the canvas.
- a “position” is a range within the single dimension of the canvas. For instance, if the pannable dimension 222 is the horizontal dimension, as in the more specific examples to follow, the blade would occupy the canvas 202 from a left position to a right position.
- the blade “occupies the position” within the canvas in the sense that between the two boundaries of the blade, the blade occupies at least a majority of the canvas within those two boundaries for each of a majority of points between the two boundaries including at least the two boundaries themselves.
- the blade occupies all of the canvas between the two boundaries, which are left and right boundaries since the dimension is the horizontal dimension in the concrete examples to follow.
- the user interface 210 also includes an activation control 232 that may be activated by a user to present an initial blade on the canvas 220 .
- Each blade may include one or multiple selectable elements.
- Each selectable element has a corresponding blade such that if the user selects the corresponding selectable element, the corresponding blade appears on the canvas as a next blade on the canvas.
- the environment 200 B is similar to that of environment 200 A, except that the selection of activation control 232 causes an initial blade 241 to appear in the canvas 202 .
- the initial blade includes multiple selectable controls 251 A, 251 B and 251 C.
- the supporting architecture includes an activation mechanism 313 that is responsive to activate the initial blade 241 in response to the user interfacing with the activation control 232 .
- the blade correlator 314 maintains a correlation between a selectable element and a blade. Accordingly, the architecture 300 has a knowledge of what blades correspond to each of the selectable controls 251 A, 251 B, and 251 C.
- the user interface 210 also includes an extension mechanism 315 , which causes one or more additional blades to be spawned off of the initial blade 241 in response to selection of one of the selectable elements 251 A, 251 B and 251 C.
- the extension mechanism 315 might then reference the corresponding blade identified by correlator 314 , and cause the corresponding blade to appear on the canvas 202 .
- the environment 200 C shows that the new blade 242 is caused to appear next to the first blade 241 .
- the new blade 242 likewise has selectable controls 252 A and 252 B.
- this process may be repeated by the user repeatedly interfacing with selectable controls from a prior blade, thereby causing a new blade to be added to the sequence of blades.
- the sequence of blades may be thought of as a journey that the user has taken beginning with the first blade.
- each blade in the sequence is associated with an information context.
- the user may thus have at their view a sequence of blades representing a sequence of information contexts that the user has navigated through.
- the canvas represents an area that includes visual representations of various information contexts the user has reviewed as part of an information journey.
- the selectable elements within a particular blade are hierarchically structured. For instance, one selectable element might have one or more child selectable elements. In addition, those child selectable elements might have further child selectable elements, and so forth. Each selectable element has a corresponding blade representation. Accordingly, when generating choosing a selectable element to select in a given prior blade, the user has fine grained control over what kind of blade is to show next. Examples of this hierarchical structuring of selectable elements will be described in subsequent concrete examples.
- FIG. 4 illustrates a flowchart of a method 400 for generating a user interface.
- the method 400 may be performed by the architecture 300 of FIG. 3 in the environments of FIGS. 2A through 2C , the method 400 will now be described with frequent reference to FIGS. 2A through 2C , FIG. 3 , as well as of course FIG. 4 .
- the method 400 includes providing a canvas that extends in a pannable direction in the user interface (act 401 ). For instance, in FIG. 2A through 2C , the canvas 202 is provided with a pannable dimension 222 and which extends in an extendable direction 221 . If an initial blade is not activated through user interaction with the activation control 232 (“No” in decision block 402 ), the canvas 202 might remain in the state of FIG. 2A with no blades populating the canvas.
- the initial blade corresponding to the activation is presented on the canvas (act 403 ). For instance, in FIG. 2B , the initial blade 241 is presented in response to activation of activation control 232 . If none of the selectable controls of the initial blade are selected (“No in decision block 404 ), then the sequence of blades might extend no further. On the other hand, if the user interacts with one of the selectable controls of the prior blade (“Yes” in decision block 404 ), then the corresponding blade is found (act 405 ), and presented (act 406 ). For instance, in FIG. 2C , the additional blade 242 is presented. As each newly added blade also has selectable elements, this process may repeat to build up a large sequence of blades, each representing a different information context. A more concrete example of the user interface will now be described with respect to FIG. 5 and numerous subsequent figures.
- FIG. 5 illustrates a user interface 500 in which a portion of a canvas is 501 is displayed.
- the user interface 500 is an example of what a user interface might look like after completing act 401 of FIG. 4 .
- the panning dimension is the horizontal dimension.
- the canvas may be panned left and right within at least the populated portion of the canvas.
- the extendable direction is towards the right.
- at least a majority (and in this example all) of the new blades that are added and that are to be appended to the sequence of one or more existing blades in the journey are to be added appended at the right end of the sequence.
- the canvas includes a collection 511 of activation controls.
- the collection might be referred to hereinafter as “favorites”.
- Each of the activation controls in the collection 511 is associated with an information context.
- An information context might be, for example, a web site, a project, a patent tool, or any other context in which information regarding a subject might be provided.
- the user initiates a journey by selecting one of the activation controls. For instance, the user might select the activation control 512 using cursor 513 , or by contacting the activation control 512 in the case of a touch screen. This would result in decision block 402 of FIG. 4 branching on the “Yes” branch.
- FIG. 6 illustrates a user interface 600 resulting from the interaction of the user with the activation control 512 .
- a blade 601 has been presented (as an example of act 403 ).
- the blade 601 represents the beginning of a sequence of blades (or a journey) that the user has just embarked upon.
- the blade 601 is associated with the information context that was associated with the activation control 512 used to spawn the blade 601 .
- the blade 601 provides a view into data in the information context.
- the activation control 512 might be visually highlighted so as to give the user the contextual reference that the blade 601 was generated by activation of the activation control 512 , versus any of the other activation controls 511 .
- the blade 601 (or any other blades in the journey for that matter) are scrollable in the direction perpendicular to the panning dimension. For instance, in FIG. 6 , if the blade 601 was taller than the canvas, then the blade 601 might be scrolled upward and downward to reveal the vertical extent of the blade 601 .
- the blade 601 includes a hierarchy of selectable elements, each selectable element having a corresponding blade representation (not shown in FIG. 6 ) which is displayed if the selectable element is selected. At the top of the hierarchy is what is called a “lens” in this example. If, for example, the information context were a web site, the lens might present at a high level the information that might be normally presented when selecting a tab of the web site. For instance, the blade 601 is illustrated as including two lenses 611 and 612 .
- each lens 611 includes one or more parts.
- lens 611 includes parts 621 through 624
- lens 612 includes parts 625 through 627 .
- Each part represents a view on an aspect of the data, and may be defined by a collection of underlying data and a view definition that defines how that data is to be exposed on the user interface.
- selectable part 621 is illustrated as having selectable item 631 .
- a new blade might be launched within the journey by the user selecting any of the lenses 611 and 612 , any of the selectable parts 621 through 627 , or any of the selectable items within any of the parts.
- the user has a large number of options for progressing in the journey through information and the canvas.
- the selectable lenses, parts, and items of the blade might allow the user to see summary information in the blade 601 regarding the initial disclosure documents, legal notes, status of the application, actual patent application text, which countries or regions the patent application is being pursued in, and so forth. If the user wanted to see any further details about any of those aspects, the user might the select the element, spawning a new blade that shows further details and selectable items.
- FIG. 7 illustrates a user interface 700 that shows how information that is global may still be accessed without having to leave the context of the journey.
- a navigation pane 702 appears.
- the user might, for instance, see what other team members are doing (a global task) while remaining within a word processing experience (a journey context).
- the user might select an item within the navigation pane 702 to start a new journey, thus enabling rapid switching between journeys.
- Commanding may be performed in a constituent way across all artifacts in the user interface. For instance, if a command window is activated, context is used to determine what the prospective target for commands is. For instance, if the cursor is above a particular lens, the command window may then appear and show commands tailored towards operation on the lens given the type of the resource or item represented by the lens.
- the command window shell might appear the same regardless of what the prospective target is for the commands in the command window, though the commands themselves may differ as appropriate given the prospective target. For instance, the command window might be the same regardless of whether the prospective target is the background canvas, a particular blade lens, a particular lens
- FIG. 8 illustrates a user interface 800 that is similar to that of FIG. 6 , except that command window 801 is activated.
- the command window 801 has a primary commands section 811 , a secondary commands section 812 , and an ecosystem peek section 813 .
- the primary commands section 811 might include the most frequently used commands given a type of the prospective target.
- the secondary command section 812 might include other non-primary commands.
- the ecosystem peek section might include information items that are not commands, but rather other information (such as notifications or messages) related to the prospective target.
- the ecosystem peek section might include an identification of when the prospective target was last updated, if anyone else is editing the prospective target.
- the ecosystem peek information may include help information that provides a quick insight into how to use the prospective target and where to get more information about the prospective target.
- the end user can interface with a command in the command space or a command window, and see the command implementation as a declarative model.
- the user might then extend the declarative module using the same means used to implement the declarative model.
- users may author their own commands or extend other commands.
- FIG. 9 illustrates a user interface 900 that might appear if the user selects the control 632 of the blade 601 in FIG. 6 .
- the control may be present in each blade and may be used to activate a command space within and corresponding to that blade, with commands tailored towards the type of the resource or item represented by the blade. For instance, in FIG. 9 , upon selecting control 632 of the blade 601 , the command space 901 appears, allowing the user to execute commands on the resource or item represented by the blade 601 .
- FIG. 10 illustrates a user interface 1000 that is the same as the user interface 700 of FIG. 7 , except to show that the user is about to select the part 622 of the blade 601 .
- the selection of part 622 is an instance of the method 400 travelling along the “Yes” branch in decision block 404 .
- the corresponding blade of the part 622 is found (act 405 ), and presented (act 406 ).
- the user interface 1100 of FIG. 11 might appear.
- the entire pannable canvas has shifted to the left aligned with the left side of the previous blade 601 , and the new blade 1101 is caused to appear.
- the new blade 1101 also has a number of selectable elements, thereby allowing the user an opportunity to further extend the sequence of blades if so desired.
- that new blade When a new blade is launched, that new blade may be positioned by default on the canvas adjacent the last blade in a sequence of one or more blades that constitute the journey up to that point.
- default positions may vary by blade.
- the blade might be pinned to the right or left portion of the display (if the canvas pans horizontally), where panning of the canvas does not affect the position of the pinned blade.
- the blade might also be caused to float, in which case the blade is stationary in some portion of the display despite panning of the underlying canvas. Having blades be pinned or floating while the canvas is pannable allows the blades to be compared to other blades throughout the journey.
- the default position of the blade might be changed due to some user interaction. For instance, if the user interacts with a certain blade that was originally appended to the sequence of blade prior to that blade in the journey, that certain blade may later be pinned to the left or right of the display, or caused to float, depending on the user interaction. Later, that certain blade might return to its default positioning in the sequence of blades.
- a part is selected from a prior blade, perhaps more than one blade is launched and appended to the sequence of blades to that point. For instance, if the user selects a monitoring part, they might want to see an overview of the monitoring events, all events that happened this week and all events that happened this month. These three sets might instead be displayed in separate blades that are siblings to each other. Such sibling blades might reordered in the sequence of blades. The selection of some parts might result in multiple blades automatically, while some parts may permit multiple blades one at a time, upon each instance of the user selecting the part.
- a sequence of blades representing a user's journey through information allows for visualization of cause and effect of certain actions. For instance, when a user edits in the context of a certain part, that certain part may be visually highlighted to reflect to editing. For instance, suppose that a part within blade 1101 were edited, that part might be highlighted. However, the entire chain leading to that part in cause and effect is also highlighted. For instance, part 622 , the selection of which caused blade 1101 to be launched in the first place, may likewise be visually highlighted to show editing. Furthermore, the activation control 512 that was selected in order to launch blade 601 might also be highlighted to reflect that there is editing that occurred. If the user saves the changes then the highlighting showing that editing cause and effect chain may be removed.
- the activation control 512 remains highlighted, reminding the user that there is something along that chain that needs to be edited. There might be a command that allows the user to select that activation control 512 in a certain way so as to quickly return to the edited part within blade 1101 , so that the editing may be completed and/or saved.
- the conventional confirmation model (e.g. “Do you want to delete this file?) is modal, which means the model forces the user into a decision when they may or may not have all of the information needed to answer the question. As an example, the user may not know whether someone else is using the file. The user does have the option of cancelling out of the operation unless they know how to answer it. However, this lessens the likelihood that the user will remember to return to the action that caused the confirmation in the first place.
- the model also forces the user to operate in a one and a time fashion.
- confirmations are not modal. Instead, the when a confirmation occurs in that context of a particular part, the causal chain from the activation control all the way through all of the parts and blades, to the part that generated the confirmation will be highlighted to reflect that there is a confirmation. The user may now exit out of that journey, and evaluate whatever information is desired to evaluate to determine how to respect to the confirmation. The user might then interface with the source of the confirmation (e.g., the activation control) to quickly return to the part that generated the confirmation. The user may then answer the confirmation with more knowledge and security.
- the source of the confirmation e.g., the activation control
- a highlighted path might also be provided for potential availability message that inform the user of available services or resources that may be used to enhance an experience or performance associated with a part.
- each new blade has defaulted to be less than the entire displayable area.
- the blade 601 is illustrated as occupying the entire vertical extent of the canvas, but just one third the horizontal extent of the visible portion of the canvas. Such might be considered to a “browse-mode” of the blade, as such allows panning action to more easily see a larger number of blade to allow the user to quickly browse the information contexts through which the user has navigated as part of the journey.
- Blade 1101 has likewise been opened in browse mode.
- the user interface 1200 of FIG. 12 might appear upon interacting with the part 621 of blade 601 as shown in FIG. 11 .
- the user interface 1200 upon interacting with the part 621 of blade 601 as shown in FIG. 11 , the user interface 1200 of FIG. 12 might appear.
- the user interface 1200 includes a full representation 601 ′ of the blade, the full representation occupying much of the displayed canvas.
- the full mode may contain a different number or combination of lens and parts than the browse mode.
- any parts that are in common may in fact be differently sized, and thus present different granularities of details on information, as described further below.
- the full representation of the blade may simply be added to the sequence of blades with the prior blade being the browse-mode representation.
- the canvas does, however, automatically pan in order to display the entire full representation of the blade.
- the user retains the ability to pan the canvas despite the display of the full representation of the blade. Further interaction with the full representation may allow for a return to the browse-mode view, perhaps removing the full representation of the blade from the sequence of blades on the canvas.
- the part when selected, the part might default to a full representation, rather than the browse representation.
- the default setting for a selectable element might be a function of the underlying type of the resource or item represented by the selectable element.
- the user might also configure certain types to display in different ways by default, or have a chance to change the default setting.
- the blade might have size control mechanisms that allow adjustment of the size of the blade to other sizes as well. In any case, if the blade being resized is not the last blade in the sequence of blades representing the journey, the position of the later blades may be adjusted so as to remain adjacent to and unobscured by the blade that has been readjusted. Thus, blades can be maximized, but that does not mean they grow overtop of existing blades.
- the blade grows width-wise (or more generally along the pannable direction of the canvas), pushing adjacent blades to the left and right.
- a blade might also be collapsed.
- the blade might be made very thin, with little or no information being displayed, but with a control that allows the blade to be expanded again.
- the journey view may allow the user to see all of their open journeys, by perhaps scrolling in the perpendicular direction as the canvas pans. This ability to see all open journeys not only makes switching between journeys easy, but also allows the ability to compare journeys.
- the journey view also enables a apply concept called light path (described later) across journeys.
- the user might also have access to journey controls that allow the user to perform a journey commands (such as save the journey, share the journey, pin the journey as a tile, or close the journey) while viewing the semantics of the journey at a glance. For instance, at any point in the journey navigation, the user might select a title bar (or any other journey view activation control), to cause the user interface to exit the navigation interface, and enter the journey view interface.
- the journey view might also have a pop-out comment that allows the journey to be displayed in a window, and thus allow the user to use the remaining portions of the display for other purposes. If there is some change to the underlying data that causes a change in the journey, that change may be reflected in the pop-out window of the journey.
- FIG. 13 illustrates a user interface 1300 that illustrates a journey view corresponding to the journey built up through FIG. 12 .
- the journey view 1300 includes a journey bar 1301 that spans the extent of all of the blade sequences to that point.
- the journey bar 1301 includes a command section 1302 that allows the user to pin the journey to a certain area of the screen, share the journey with others (via e-mail, social media, collaborative work environments, and the like), save the journey, or close the journey. For instance, saving a journey might be quite helpful if the journey is to be re-performed frequently, such as the journey being a navigation to a particular database.
- Sharing a journey might be helpful, for instance, in the case where a tester finds a specific bug and then send the journey they went on to find that bug to a developer. The developer could then quickly understand not just the context of the bug by the set of insights that lead to the bug.
- FIG. 14 illustrates a general system flow associated with any selectable item or any selectable part.
- the system includes information resources 1401 .
- the transforms 1402 associated with the selectable item or part filter through a portion of the total resources 1401 that are relevant for a particular information context. For instance, the transforms 1402 might provide data associated with a website.
- the selectable part or item 1403 provides the data associated with the particular item or part to a presenter 1404 .
- the presenter is configured to offer up to the display an appropriate view of the data. For instance, the presenter 1404 might present a chart view of the data. Since the selectable part or item is selectable, there are certain commands that may be issued by the part or item depending on its type. These commands may then be executed as represented by arrow 1405 on the underlying information resources 1401 . This would affect potentially not only the experience of the item or part 1404 , but might also affect any other item or part that uses that altered data.
- This architecture allows developers significant opportunities. For instance, developers can use existing parts and items developed by others.
- the developers can create their own selectable items by defining a new data source 1403 and/or defining a new presenter 1404 .
- the developer might define a type for that item, and then define commands 1405 for that item, which would be exposed to the user if the user were to select the command window in the context of that new type.
- the developers can also create their own selectable parts by using existing items or creating new items to define a new data source 1403 and/or presenter 1404 for that selectable part.
- the developer might define a type for that part, and then define commands 1405 for that type, which would be exposed to the user if the user were to select the command window in the context of that new type.
- the developer might access pre-defined lenses, each comprises combinations of parts, depending on the goal to be accomplished. For instance, there might be lenses for presenting overviews, usage/billing, monitoring, configuration, linked resources, team views, authoring, and quick starting amongst others. Developers may further construct their own lens by gathering pre-existing and/or newly developed parts and positioning them with respect to each other.
- FIG. 15 illustrates a single part in six different sizes and shapes.
- the larger version of the parts intelligently offers up more information to the user.
- the size of the part is actually taken into consideration by the presenter 1404 (see FIG. 14 ) when considering what information to present, and how that information should be presented.
- the intelligence may be applied by the developer of the part when defining a part.
- there is a mini-size part version 1501 a small part version 1502 , a normal part version 1503 , a large part version 1504 , a wide part version 1505 , and a tall part version 1506 .
- Parts may appear both within blades of a journey, as well as they might actually be an activation control within the set of activation controls 511 .
- the user might have the option to change the size of the part in accordance with the sizes available for that part. For instance, within the activation controls 511 , the user might change a part size to be smaller or larger. The user might also move parts within the activation controls 511 for more preferred layout for the user. By having a discrete number of pre-defined part sizes and shapes, the designers of the part may more intelligently design what information is to be displayed in the part, and how that information is to be displayed, depending on what they judge as most appropriate given the size and shape of the part.
- Various items may be pinned to the activation controls 511 area as a part that may be activated. For instance, an item from the navigation pane 702 may be pinned as a part in the activation controls 511 . Commands from a command window or space may be pinned as a part in the activation controls 511 . Likewise, component parts of a lens within a blade may be pinned in the activation controls 511 . A pin-all function might also be provided that cases all parts of the blade to be pinned within the activation controls 511 (perhaps as a nested collection within another activation control). Resources, collections, feeds, currated content (such as help topics), and search or query results may likewise be pinned as parts in the activation controls 511 .
- queries and searches may be performed over a wide variety of information contexts accessible to the computer system.
- the user can construct queries that go across multiple contexts and then turn the result of that query into a part. That part represents the result of the query and can then be sized and organized as per the part concepts defined above. That part might be provided into each blade that has a context in which the query results are desired.
- FIG. 16 illustrates a user interface 1600 in which there are no journeys started yet, but in which the activation controls are illustrated. Note that the activation controls have a variety of different sizes including six mini-sizes parts, four small size parts, four normal size parts, and one large size part.
- the notification 1601 appears. If the notification was tied to one of the activation controls, then the notification might have appeared within one of the activation controls. However, the notification 1601 was not tied to an activation control, and thus appeared separately.
- the user interface 1701 of FIG. 17 may appear.
- the canvas has panned automatically to show a temporary area 1702 just to the right of the activation controls, automatically populated the temporary area 1702 with a part 1703 corresponding to the notification 1601 , and automatically selects the part 1703 so that the blade 1704 appears.
- Such a response might be performed whenever an initiating blade of journey is launched by means other than selection of one of the activation controls 511 .
- the temporary area 1702 with the temporary part 1703 may remain, giving the user the option of pinning that part into the activation controls 511 .
- anything described as being pinned to the activation controls 511 may likewise be pinned to the navigation page 702 or to a blade. For instance, a part may be moved from one blade to another.
- Users often want to create one artifact and then bundle it together with others. For instance, the user might want to create a website and then bundle the website with a database. Conventionally, this is often done in a one at a time fashion. The user creates a website, then the database, and then links them together. Or, perhaps the user picks a website template that automatically has a website and database in it. If a new component comes along, each template that is to incorporate the component needs to be updated or the user is burdened with one more thing to link together.
- the user may create an item, and then ask the system what are the other commonly added items associated with the item they are creating. The user can then select those items, choosing to bundle them together. Bundling means they will automatically be created in the right order (e.g. the database has to be created before a caching service can be linked to it) and then automatically linked together. This saves the user the user a tremendous amount of time, and also gives the user the opportunity to improve the overall functionality of the resource. An example walkthrough of this will be described with respect to FIGS. 18 through 22 .
- FIG. 18 illustrates a user interface 1800 that includes a number of activation controls.
- the user interface 1900 of FIG. 19 might then appear.
- a create website pane 1901 appears that allows the user to enter in values for the web site.
- the website pane 1901 also presents also add options 1902 for possible resources that could help augment the performance of the website.
- FIG. 20 illustrates a user interface 2000 in which the user has selected a database option.
- the system is aware that a database and a website will need some kind of connection string, and thus automatically selects a option 2001 .
- a progress bar 2002 then appears showing that the user has completed one of three steps in the total package.
- the user interface 2100 of FIG. 21 appears.
- the user enters information associated with the database.
- the user interface 2200 of FIG. 22 appears.
- the user enters information associated with the link, and completes the application.
- the system automatically builds the application.
- the principles described herein provide a robust interface for operating in which the user takes an intuitive journey through information, and can quickly understand the context in which he or she is working.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Woven Fabrics (AREA)
- Image Analysis (AREA)
Abstract
Description
- This application claims the benefit of each of the following provisional patent applications, and each of the following provisional patent applications are incorporated herein by reference in their entirety:
-
- 1. U.S. Provisional Application Ser. No. 61/884,743, filed Sep. 30, 2013;
- 2. U.S. Provisional Application Ser. No. 61/905,111, filed Nov. 15, 2013;
- 3. U.S. Provisional Application Ser. No. 61/905,243, filed Nov. 17, 2013;
- 4. U.S. Provisional Application Ser. No. 61/905,114, filed Nov. 15, 2013;
- 5. U.S. Provisional Application Ser. No. 61/905,116, filed Nov. 15, 2013;
- 6. U.S. Provisional Application Ser. No. 61/905,129, filed Nov. 15, 2013;
- 7. U.S. Provisional Application Ser. No. 61/905,105, filed Nov. 15, 2013;
- 8. U.S. Provisional Application Ser. No. 61/905,247, filed Nov. 17, 2013;
- 9. U.S. Provisional Application Ser. No. 61/905,101, filed Nov. 15, 2013;
- 10. U.S. Provisional Application Ser. No. 61/905,128, filed Nov. 15, 2013; and
- 11. U.S. Provisional Application Ser. No. 61/905,119, filed Nov. 15, 2013.
- A current paradigm for navigating through various information contexts is windows based. A classic example of this is the web browser experience. A user might begin with a home page that occupies the entire browser space. The user might then select a hyperlink, whereupon a new window appears. However, the previous window either disappears or, in the case of exercising an option to open the new page in a new window, the previous window is fully, or at least partially, hidden.
- At least some embodiments described herein relate to a user interface that includes a canvas that extends in one direction. An activation mechanism may be used to generate an initial blade in the canvas. A blade is a user interface element that occupies a portion of the canvas in the dimension along which the canvas extends. For instance, the blade might occupy a majority or even all of the canvas in the portion to which it is assigned. The blade includes multiple selectable elements that each have a corresponding blade. If the selectable element is selected, then the corresponding blade is also presented on the canvas. For instance, the new blade might be displayed adjacent the first blade in the extendable direction of the canvas. The elements in the first blade might be hierarchically structured so that a selectable element in the first blade might actually contain one or more other selectable elements.
- The user interface might more generally include an extension mechanism configured to present a corresponding subsequent blade on the canvas when a selected element from a prior blade is selected, the subsequent blade also including multiple selectable elements that may be hierarchically structured. In this manner, long chains of blades may be created representative of a journey that the user has taken since initiating the first blade.
- This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of various embodiments will be rendered by reference to the appended drawings. Understanding that these drawings depict only sample embodiments and are not therefore to be considered to be limiting of the scope of the invention, the embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
-
FIG. 1 abstractly illustrates a computing system in which some embodiments described herein may be employed; -
FIG. 2A abstractly illustrates an environment in which a portion of a pannable canvas is displayed on a displayable area of a display, and a portion of the canvas is not displayed in the displayable area of the display; -
FIG. 2B illustrates the user interface ofFIG. 2A in a state in which the user has selected an activation control to activate an initial blade in a journey; -
FIG. 2C illustrates the user interface ofFIG. 2B in a state in which the user has selected a selectable element of the initial blade to add an additional blade; -
FIG. 3 illustrates a supporting architecture for a user interface ofFIGS. 2A through 2C ; -
FIG. 4 illustrates a flowchart of a method for generating a user interface that has a pannable canvas and that presents a sequence of blades representing a user journey through information; -
FIG. 5 illustrates a user interface in which a portion of a canvas is displayed; -
FIG. 6 illustrates a user interface resulting from the interaction of the user with an activation control; -
FIG. 7 illustrates a user interface that shows how information that is global may still be accessed without having to leave the context of the journey; -
FIG. 8 illustrates a user interface that is similar to that ofFIG. 6 , except that command window is activated; -
FIG. 9 illustrates a user interface having a single blade in the journey, but in which that single blade has a command space activated; -
FIG. 10 illustrates a user interface having a single blade in the journey, in a state in which the user is able to select a selectable element from that single blade; -
FIG. 11 illustrates a user interface that results from the user selecting the selectable element, and in which a second blade in the journey is correspondingly appended to for a sequence of blades in the journey; -
FIG. 12 illustrates the second blade ofFIG. 11 only in full representation mode; -
FIG. 13 illustrate a journey view in which a journey may be viewed in its entirety, saved, pinned, shared, or closed; -
FIG. 14 illustrates a flow associated with presenting a selectable item or part which then issues command to underlying information resources; -
FIG. 15 illustrates a part presented in different sizes and shapes, and exposing different information in different forms depending on the size and shape; -
FIG. 16 illustrates a notification as it might appear if not associated with any of the activation controls in the favorites area; -
FIG. 17 illustrates the activation of a temporary area and an initial blade in response to selection of the notification; -
FIG. 18 illustrates an initial state in which the user selects to create a website; -
FIG. 19 illustrates a creation pane in which the user enters information about the website and is given options for adding onto the original resource requested; -
FIG. 20 illustrates a creation pane in which the user selects a database to be associated with the website, and the system automatically selects an additional add on of a connection string between the website and the database; -
FIG. 21 illustrates the creation pane in which the user enters information about the database; and -
FIG. 22 illustrates the creation pane in which the user enters information about the connection string between the website and the database. - At least some embodiments described herein relate to a user interface that includes a canvas that extends in one direction along a pannable direction. An activation mechanism may be used to generate an initial blade in the canvas. A blade is a user interface element that occupies a portion of the canvas in the pannable dimension along which the canvas extends. For instance, the blade might occupy a majority or even all of the canvas in the portion to which it is assigned. The blade includes multiple selectable elements that each have a corresponding blade. If the selectable element is selected, then the corresponding blade is also presented on the canvas. For instance, the new blade might be displayed adjacent the first blade in the extendable direction of the canvas. The elements in the first blade might be hierarchically structured so that a selectable element in the first blade might actually contain one or more other selectable elements.
- The user interface might more generally include an extension mechanism configured to present a corresponding subsequent blade on the canvas when a selected element from a prior blade is selected, the subsequent blade also including multiple selectable elements that may be hierarchically structured. In this manner, long chains of blades may be created representative of a journey that the user has taken since initiating the first blade.
- Some introductory discussion of a computing system will be described with respect to
FIG. 1 . Then, example user interfaces, methods and supporting architectures will be described with respect to subsequent figures. - Computing systems are now increasingly taking a wide variety of forms. Computing systems may, for example, be handheld devices, appliances, laptop computers, desktop computers, mainframes, distributed computing systems, or even devices that have not conventionally been considered a computing system. In this description and in the claims, the term “computing system” is defined broadly as including any device or system (or combination thereof) that includes at least one physical and tangible processor, and a physical and tangible memory capable of having thereon computer-executable instructions that may be executed by the processor. The memory may take any form and may depend on the nature and form of the computing system. A computing system may be distributed over a network environment and may include multiple constituent computing systems.
- As illustrated in
FIG. 1 , in its most basic configuration, acomputing system 100 typically includes at least oneprocessing unit 102 andmemory 104. Thememory 104 may be physical system memory, which may be volatile, non-volatile, or some combination of the two. The term “memory” may also be used herein to refer to non-volatile mass storage such as physical storage media. If the computing system is distributed, the processing, memory and/or storage capability may be distributed as well. As used herein, the term “executable module” or “executable component” can refer to software objects, routines, or methods that may be executed on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). - In the description that follows, embodiments are described with reference to acts that are performed by one or more computing systems. If such acts are implemented in software, one or more processors of the associated computing system that performs the act direct the operation of the computing system in response to having executed computer-executable instructions. For example, such computer-executable instructions may be embodied on one or more computer-readable media that form a computer program product. An example of such an operation involves the manipulation of data. The computer-executable instructions (and the manipulated data) may be stored in the
memory 104 of thecomputing system 100.Computing system 100 may also containcommunication channels 108 that allow thecomputing system 100 to communicate with other message processors over, for example,network 110. - The
computing system 100 also includes adisplay 112 on which a user interface, such as the user interfaces described herein, may be rendered. Such user interfaces may be generated in computer hardware or other computer-represented form prior to rendering. The presentation and/or rendering of such user interfaces may be performed by thecomputing system 100 by having the processing unit(s) 102 execute one or more computer-executable instructions that are embodied on one or more computer-readable media. Such computer-readable media may form all or a part of a computer program product. - Embodiments described herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
- Computer storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry or desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
- Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
- Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like. The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
-
FIG. 2A abstractly illustrates anenvironment 200A in which aportion 201A of acanvas 202 is displayed on adisplayable area 210 of a display, and aportion 201B of the canvas is not displayed in thedisplayable area 210 of the display. As an example, the display might be, for instance, thedisplay 112 of thecomputing system 100 ofFIG. 1 . Thecanvas 202 extends in anextendable direction 221 along asingle dimension 222. For instance, inFIG. 2A through 2C , theextendable direction 221 is rightward, and thesingle dimension 222 is horizontally. - The user interface might include a
panning control 231 that the user may manipulate in order to pan thecanvas 202 along thesingle dimension 222 so as to gain a view of a desired portion of at least a populated portion of thecanvas 202.FIG. 3 illustrates a supportingarchitecture 300 for auser interface 301. For instance, theuser interface 301 is an example of the user interface ofFIGS. 2A through 2C . The supportingarchitecture 300 is illustrated as including apanning mechanism 311 which operates to pan thecanvas 202 in response to user direction. - In some embodiments, the
single dimension 222 may be configurable to be vertical or horizontal according to the tastes of the user. Also, theextendable direction 221 may be configurable. For instance, if thedimension 222 is vertical, the user might configure the canvas to extend downward, or upward, according to the user's preference. If thedimension 222 is horizontal, the user might configure the canvas to extend leftward, or rightward, according to the user's preference. The panningcontrol 231 might not activate until the populated portion of the canvas extends to a degree that the populated portion of the canvas cannot be displayed all at once. The supportingarchitecture 300 illustrates a configuration mechanism 312 that is configured to respond to such user preference configuration. - As used herein, a “populated” portion of the canvas means that portion of the canvas that contains the sequence of one or more blades built up through user interaction with the canvas. In accordance with the principles described herein, as the user interfaces with the canvas, one or more and potentially many blades may be added to the canvas. Some or all of these blades may be added contiguously. As such, the “extendable direction” of the canvas refers to the direction in which new blades are added to the prior sequence of one or more contiguous blades upon interacting with selectable elements from the prior blade.
- In this description and in the claims, a “blade” is a user interface element that occupies a position within the canvas. In this sense, a “position” is a range within the single dimension of the canvas. For instance, if the
pannable dimension 222 is the horizontal dimension, as in the more specific examples to follow, the blade would occupy thecanvas 202 from a left position to a right position. The blade “occupies the position” within the canvas in the sense that between the two boundaries of the blade, the blade occupies at least a majority of the canvas within those two boundaries for each of a majority of points between the two boundaries including at least the two boundaries themselves. In some embodiments, and in the more concrete examples to follow, the blade occupies all of the canvas between the two boundaries, which are left and right boundaries since the dimension is the horizontal dimension in the concrete examples to follow. - The
user interface 210 also includes anactivation control 232 that may be activated by a user to present an initial blade on the canvas 220. Each blade may include one or multiple selectable elements. Each selectable element has a corresponding blade such that if the user selects the corresponding selectable element, the corresponding blade appears on the canvas as a next blade on the canvas. For instance, inFIG. 2B , theenvironment 200B is similar to that ofenvironment 200A, except that the selection ofactivation control 232 causes aninitial blade 241 to appear in thecanvas 202. The initial blade includes multipleselectable controls FIG. 3 illustrates that the supporting architecture includes anactivation mechanism 313 that is responsive to activate theinitial blade 241 in response to the user interfacing with theactivation control 232. Furthermore, theblade correlator 314 maintains a correlation between a selectable element and a blade. Accordingly, thearchitecture 300 has a knowledge of what blades correspond to each of theselectable controls - The
user interface 210 also includes anextension mechanism 315, which causes one or more additional blades to be spawned off of theinitial blade 241 in response to selection of one of theselectable elements selectable element 251A, theextension mechanism 315 might then reference the corresponding blade identified bycorrelator 314, and cause the corresponding blade to appear on thecanvas 202. For instance, inFIG. 2C , theenvironment 200C shows that thenew blade 242 is caused to appear next to thefirst blade 241. Thenew blade 242 likewise hasselectable controls - In some embodiments, each blade in the sequence is associated with an information context. The user may thus have at their view a sequence of blades representing a sequence of information contexts that the user has navigated through. Thus, the canvas represents an area that includes visual representations of various information contexts the user has reviewed as part of an information journey.
- In some embodiments, the selectable elements within a particular blade are hierarchically structured. For instance, one selectable element might have one or more child selectable elements. In addition, those child selectable elements might have further child selectable elements, and so forth. Each selectable element has a corresponding blade representation. Accordingly, when generating choosing a selectable element to select in a given prior blade, the user has fine grained control over what kind of blade is to show next. Examples of this hierarchical structuring of selectable elements will be described in subsequent concrete examples.
-
FIG. 4 illustrates a flowchart of amethod 400 for generating a user interface. As themethod 400 may be performed by thearchitecture 300 ofFIG. 3 in the environments ofFIGS. 2A through 2C , themethod 400 will now be described with frequent reference toFIGS. 2A through 2C ,FIG. 3 , as well as of courseFIG. 4 . - The
method 400 includes providing a canvas that extends in a pannable direction in the user interface (act 401). For instance, inFIG. 2A through 2C , thecanvas 202 is provided with apannable dimension 222 and which extends in anextendable direction 221. If an initial blade is not activated through user interaction with the activation control 232 (“No” in decision block 402), thecanvas 202 might remain in the state ofFIG. 2A with no blades populating the canvas. - However, upon detecting activation of the activation control 232 (“Yes” in decision block 402), the initial blade corresponding to the activation is presented on the canvas (act 403). For instance, in
FIG. 2B , theinitial blade 241 is presented in response to activation ofactivation control 232. If none of the selectable controls of the initial blade are selected (“No in decision block 404), then the sequence of blades might extend no further. On the other hand, if the user interacts with one of the selectable controls of the prior blade (“Yes” in decision block 404), then the corresponding blade is found (act 405), and presented (act 406). For instance, inFIG. 2C , theadditional blade 242 is presented. As each newly added blade also has selectable elements, this process may repeat to build up a large sequence of blades, each representing a different information context. A more concrete example of the user interface will now be described with respect toFIG. 5 and numerous subsequent figures. -
FIG. 5 illustrates auser interface 500 in which a portion of a canvas is 501 is displayed. Theuser interface 500 is an example of what a user interface might look like after completingact 401 ofFIG. 4 . In this example, the panning dimension is the horizontal dimension. In other words, the canvas may be panned left and right within at least the populated portion of the canvas. Also, in this example, the extendable direction is towards the right. In other words, at least a majority (and in this example all) of the new blades that are added and that are to be appended to the sequence of one or more existing blades in the journey are to be added appended at the right end of the sequence. - The canvas includes a
collection 511 of activation controls. The collection might be referred to hereinafter as “favorites”. In the illustrated case, there are eight activation controls. Each of the activation controls in thecollection 511 is associated with an information context. An information context might be, for example, a web site, a project, a patent tool, or any other context in which information regarding a subject might be provided. - The user initiates a journey by selecting one of the activation controls. For instance, the user might select the
activation control 512 usingcursor 513, or by contacting theactivation control 512 in the case of a touch screen. This would result indecision block 402 ofFIG. 4 branching on the “Yes” branch. -
FIG. 6 illustrates auser interface 600 resulting from the interaction of the user with theactivation control 512. Note that ablade 601 has been presented (as an example of act 403). Theblade 601 represents the beginning of a sequence of blades (or a journey) that the user has just embarked upon. Theblade 601 is associated with the information context that was associated with theactivation control 512 used to spawn theblade 601. In other words, theblade 601 provides a view into data in the information context. Theactivation control 512 might be visually highlighted so as to give the user the contextual reference that theblade 601 was generated by activation of theactivation control 512, versus any of the other activation controls 511. - In one embodiment, the blade 601 (or any other blades in the journey for that matter) are scrollable in the direction perpendicular to the panning dimension. For instance, in
FIG. 6 , if theblade 601 was taller than the canvas, then theblade 601 might be scrolled upward and downward to reveal the vertical extent of theblade 601. - The
blade 601 includes a hierarchy of selectable elements, each selectable element having a corresponding blade representation (not shown inFIG. 6 ) which is displayed if the selectable element is selected. At the top of the hierarchy is what is called a “lens” in this example. If, for example, the information context were a web site, the lens might present at a high level the information that might be normally presented when selecting a tab of the web site. For instance, theblade 601 is illustrated as including twolenses - At the next level in the hierarchy, each
lens 611 includes one or more parts. For instance,lens 611 includesparts 621 through 624, andlens 612 includesparts 625 through 627. Each part represents a view on an aspect of the data, and may be defined by a collection of underlying data and a view definition that defines how that data is to be exposed on the user interface. - At the lowest level of the hierarchy of selectable elements is an item. Each part may have one or more selectable items. To avoid unnecessarily over-labeling
FIG. 6 , only one selectable item is labeled. For instance,selectable part 621 is illustrated as havingselectable item 631. - A new blade might be launched within the journey by the user selecting any of the
lenses selectable parts 621 through 627, or any of the selectable items within any of the parts. Thus, the user has a large number of options for progressing in the journey through information and the canvas. - For instance, suppose that the information context of the
blade 601 was a patent tool associated with a particular patent application. In that case, the selectable lenses, parts, and items of the blade might allow the user to see summary information in theblade 601 regarding the initial disclosure documents, legal notes, status of the application, actual patent application text, which countries or regions the patent application is being pursued in, and so forth. If the user wanted to see any further details about any of those aspects, the user might the select the element, spawning a new blade that shows further details and selectable items. -
FIG. 7 illustrates auser interface 700 that shows how information that is global may still be accessed without having to leave the context of the journey. In particular if the user selectscontrol 701, anavigation pane 702 appears. Thus, the user might, for instance, see what other team members are doing (a global task) while remaining within a word processing experience (a journey context). If desired, the user might select an item within thenavigation pane 702 to start a new journey, thus enabling rapid switching between journeys. - Commanding may be performed in a constituent way across all artifacts in the user interface. For instance, if a command window is activated, context is used to determine what the prospective target for commands is. For instance, if the cursor is above a particular lens, the command window may then appear and show commands tailored towards operation on the lens given the type of the resource or item represented by the lens. In accordance with embodiments described herein, the command window shell might appear the same regardless of what the prospective target is for the commands in the command window, though the commands themselves may differ as appropriate given the prospective target. For instance, the command window might be the same regardless of whether the prospective target is the background canvas, a particular blade lens, a particular lens
-
FIG. 8 illustrates auser interface 800 that is similar to that ofFIG. 6 , except thatcommand window 801 is activated. Thecommand window 801 has aprimary commands section 811, asecondary commands section 812, and anecosystem peek section 813. For instance, theprimary commands section 811 might include the most frequently used commands given a type of the prospective target. Thesecondary command section 812 might include other non-primary commands. - The ecosystem peek section might include information items that are not commands, but rather other information (such as notifications or messages) related to the prospective target. For instance, the ecosystem peek section might include an identification of when the prospective target was last updated, if anyone else is editing the prospective target. Furthermore, the ecosystem peek information may include help information that provides a quick insight into how to use the prospective target and where to get more information about the prospective target.
- The end user can interface with a command in the command space or a command window, and see the command implementation as a declarative model. The user might then extend the declarative module using the same means used to implement the declarative model. Thus, users may author their own commands or extend other commands.
-
FIG. 9 illustrates auser interface 900 that might appear if the user selects the control 632 of theblade 601 inFIG. 6 . The control may be present in each blade and may be used to activate a command space within and corresponding to that blade, with commands tailored towards the type of the resource or item represented by the blade. For instance, inFIG. 9 , upon selecting control 632 of theblade 601, thecommand space 901 appears, allowing the user to execute commands on the resource or item represented by theblade 601. -
FIG. 10 illustrates auser interface 1000 that is the same as theuser interface 700 ofFIG. 7 , except to show that the user is about to select thepart 622 of theblade 601. The selection ofpart 622 is an instance of themethod 400 travelling along the “Yes” branch indecision block 404. In response, the corresponding blade of thepart 622 is found (act 405), and presented (act 406). For instance, theuser interface 1100 ofFIG. 11 might appear. Here, the entire pannable canvas has shifted to the left aligned with the left side of theprevious blade 601, and thenew blade 1101 is caused to appear. Thenew blade 1101 also has a number of selectable elements, thereby allowing the user an opportunity to further extend the sequence of blades if so desired. - When a new blade is launched, that new blade may be positioned by default on the canvas adjacent the last blade in a sequence of one or more blades that constitute the journey up to that point. However, default positions may vary by blade. For instance, the blade might be pinned to the right or left portion of the display (if the canvas pans horizontally), where panning of the canvas does not affect the position of the pinned blade. The blade might also be caused to float, in which case the blade is stationary in some portion of the display despite panning of the underlying canvas. Having blades be pinned or floating while the canvas is pannable allows the blades to be compared to other blades throughout the journey.
- The default position of the blade might be changed due to some user interaction. For instance, if the user interacts with a certain blade that was originally appended to the sequence of blade prior to that blade in the journey, that certain blade may later be pinned to the left or right of the display, or caused to float, depending on the user interaction. Later, that certain blade might return to its default positioning in the sequence of blades.
- Furthermore, when a part is selected from a prior blade, perhaps more than one blade is launched and appended to the sequence of blades to that point. For instance, if the user selects a monitoring part, they might want to see an overview of the monitoring events, all events that happened this week and all events that happened this month. These three sets might instead be displayed in separate blades that are siblings to each other. Such sibling blades might reordered in the sequence of blades. The selection of some parts might result in multiple blades automatically, while some parts may permit multiple blades one at a time, upon each instance of the user selecting the part.
- The use of a sequence of blades representing a user's journey through information allows for visualization of cause and effect of certain actions. For instance, when a user edits in the context of a certain part, that certain part may be visually highlighted to reflect to editing. For instance, suppose that a part within
blade 1101 were edited, that part might be highlighted. However, the entire chain leading to that part in cause and effect is also highlighted. For instance,part 622, the selection of which causedblade 1101 to be launched in the first place, may likewise be visually highlighted to show editing. Furthermore, theactivation control 512 that was selected in order to launchblade 601 might also be highlighted to reflect that there is editing that occurred. If the user saves the changes then the highlighting showing that editing cause and effect chain may be removed. On the other hand, if the user wants to exit that journey without saving, theactivation control 512 remains highlighted, reminding the user that there is something along that chain that needs to be edited. There might be a command that allows the user to select thatactivation control 512 in a certain way so as to quickly return to the edited part withinblade 1101, so that the editing may be completed and/or saved. - This visualized cause and effect between parts and blades may be utilized for other actions as well. For instance, consider confirmations. The conventional confirmation model (e.g. “Do you want to delete this file?) is modal, which means the model forces the user into a decision when they may or may not have all of the information needed to answer the question. As an example, the user may not know whether someone else is using the file. The user does have the option of cancelling out of the operation unless they know how to answer it. However, this lessens the likelihood that the user will remember to return to the action that caused the confirmation in the first place. The model also forces the user to operate in a one and a time fashion. For instance, the user is unable to work through a set of websites, selecting specific ones for a Stop Running operation, and then execute all of the operations at once from a single location. Lastly, working with contexts of different types (e.g. websites and databases) is even more difficult for users—despite this being a very common scenario.
- In accordance with embodiments described herein, confirmations are not modal. Instead, the when a confirmation occurs in that context of a particular part, the causal chain from the activation control all the way through all of the parts and blades, to the part that generated the confirmation will be highlighted to reflect that there is a confirmation. The user may now exit out of that journey, and evaluate whatever information is desired to evaluate to determine how to respect to the confirmation. The user might then interface with the source of the confirmation (e.g., the activation control) to quickly return to the part that generated the confirmation. The user may then answer the confirmation with more knowledge and security.
- These highlighted paths may also be used to expose errors. For instance, if an error occurs in the context of a part, the user may step back and evaluate the error using other resources. Once the user is satisfied that the error is being handled, the user might close out the error message. Alternatively, the error message may remain until someone handles the problem that caused the error.
- A highlighted path might also be provided for potential availability message that inform the user of available services or resources that may be used to enhance an experience or performance associated with a part.
- Up until this point in the description, each new blade has defaulted to be less than the entire displayable area. For instance, the
blade 601 is illustrated as occupying the entire vertical extent of the canvas, but just one third the horizontal extent of the visible portion of the canvas. Such might be considered to a “browse-mode” of the blade, as such allows panning action to more easily see a larger number of blade to allow the user to quickly browse the information contexts through which the user has navigated as part of the journey.Blade 1101 has likewise been opened in browse mode. - There might be some interaction that might cause the corresponding blade to have some other display mode. For instance, upon interacting with the
part 621 ofblade 601 as shown inFIG. 11 , theuser interface 1200 ofFIG. 12 might appear. Here, theuser interface 1200 includes afull representation 601′ of the blade, the full representation occupying much of the displayed canvas. The full mode may contain a different number or combination of lens and parts than the browse mode. Furthermore, any parts that are in common may in fact be differently sized, and thus present different granularities of details on information, as described further below. - In some embodiments, if the full representation of the blade is arrived at by interacting with a browse-mode representation of the blade, the full representation of the blade may simply be added to the sequence of blades with the prior blade being the browse-mode representation. The canvas does, however, automatically pan in order to display the entire full representation of the blade. However, the user retains the ability to pan the canvas despite the display of the full representation of the blade. Further interaction with the full representation may allow for a return to the browse-mode view, perhaps removing the full representation of the blade from the sequence of blades on the canvas.
- In some embodiments, for some selectable elements, when selected, the part might default to a full representation, rather than the browse representation. The default setting for a selectable element might be a function of the underlying type of the resource or item represented by the selectable element. The user might also configure certain types to display in different ways by default, or have a chance to change the default setting. The blade might have size control mechanisms that allow adjustment of the size of the blade to other sizes as well. In any case, if the blade being resized is not the last blade in the sequence of blades representing the journey, the position of the later blades may be adjusted so as to remain adjacent to and unobscured by the blade that has been readjusted. Thus, blades can be maximized, but that does not mean they grow overtop of existing blades. Instead, the blade grows width-wise (or more generally along the pannable direction of the canvas), pushing adjacent blades to the left and right. A blade might also be collapsed. For instance, the blade might be made very thin, with little or no information being displayed, but with a control that allows the blade to be expanded again.
- Up until this point, the user interface associated with navigation of a canvas has been described. There might also be a journey view that allows the user to see the entire journey at a glance. This zoomed out view is a semantic representation of the journey, which means that information of importance is maintained and made easier to view, while finer grained details are dropped away. In addition to being able to see more of a navigation context, this view allows users to quickly jump from one blade to another, and do so with an understanding of what they are going to see, rather than having to remember what the target blade contains.
- In addition, the journey view may allow the user to see all of their open journeys, by perhaps scrolling in the perpendicular direction as the canvas pans. This ability to see all open journeys not only makes switching between journeys easy, but also allows the ability to compare journeys. The journey view also enables a apply concept called light path (described later) across journeys.
- The user might also have access to journey controls that allow the user to perform a journey commands (such as save the journey, share the journey, pin the journey as a tile, or close the journey) while viewing the semantics of the journey at a glance. For instance, at any point in the journey navigation, the user might select a title bar (or any other journey view activation control), to cause the user interface to exit the navigation interface, and enter the journey view interface. The journey view might also have a pop-out comment that allows the journey to be displayed in a window, and thus allow the user to use the remaining portions of the display for other purposes. If there is some change to the underlying data that causes a change in the journey, that change may be reflected in the pop-out window of the journey.
-
FIG. 13 illustrates auser interface 1300 that illustrates a journey view corresponding to the journey built up throughFIG. 12 . Thejourney view 1300 includes ajourney bar 1301 that spans the extent of all of the blade sequences to that point. Thejourney bar 1301 includes acommand section 1302 that allows the user to pin the journey to a certain area of the screen, share the journey with others (via e-mail, social media, collaborative work environments, and the like), save the journey, or close the journey. For instance, saving a journey might be quite helpful if the journey is to be re-performed frequently, such as the journey being a navigation to a particular database. Sharing a journey might be helpful, for instance, in the case where a tester finds a specific bug and then send the journey they went on to find that bug to a developer. The developer could then quickly understand not just the context of the bug by the set of insights that lead to the bug. -
FIG. 14 illustrates a general system flow associated with any selectable item or any selectable part. The system includesinformation resources 1401. Thetransforms 1402 associated with the selectable item or part filter through a portion of thetotal resources 1401 that are relevant for a particular information context. For instance, thetransforms 1402 might provide data associated with a website. The selectable part oritem 1403 provides the data associated with the particular item or part to apresenter 1404. The presenter is configured to offer up to the display an appropriate view of the data. For instance, thepresenter 1404 might present a chart view of the data. Since the selectable part or item is selectable, there are certain commands that may be issued by the part or item depending on its type. These commands may then be executed as represented byarrow 1405 on theunderlying information resources 1401. This would affect potentially not only the experience of the item orpart 1404, but might also affect any other item or part that uses that altered data. - This architecture allows developers significant opportunities. For instance, developers can use existing parts and items developed by others. In addition, the developers can create their own selectable items by defining a
new data source 1403 and/or defining anew presenter 1404. The developer might define a type for that item, and then definecommands 1405 for that item, which would be exposed to the user if the user were to select the command window in the context of that new type. The developers can also create their own selectable parts by using existing items or creating new items to define anew data source 1403 and/orpresenter 1404 for that selectable part. Also, the developer might define a type for that part, and then definecommands 1405 for that type, which would be exposed to the user if the user were to select the command window in the context of that new type. - The developer might access pre-defined lenses, each comprises combinations of parts, depending on the goal to be accomplished. For instance, there might be lenses for presenting overviews, usage/billing, monitoring, configuration, linked resources, team views, authoring, and quick starting amongst others. Developers may further construct their own lens by gathering pre-existing and/or newly developed parts and positioning them with respect to each other.
-
FIG. 15 illustrates a single part in six different sizes and shapes. The larger version of the parts intelligently offers up more information to the user. The size of the part is actually taken into consideration by the presenter 1404 (seeFIG. 14 ) when considering what information to present, and how that information should be presented. The intelligence may be applied by the developer of the part when defining a part. In this example, there is amini-size part version 1501, asmall part version 1502, anormal part version 1503, alarge part version 1504, awide part version 1505, and atall part version 1506. Parts may appear both within blades of a journey, as well as they might actually be an activation control within the set of activation controls 511. In certain contexts, the user might have the option to change the size of the part in accordance with the sizes available for that part. For instance, within the activation controls 511, the user might change a part size to be smaller or larger. The user might also move parts within the activation controls 511 for more preferred layout for the user. By having a discrete number of pre-defined part sizes and shapes, the designers of the part may more intelligently design what information is to be displayed in the part, and how that information is to be displayed, depending on what they judge as most appropriate given the size and shape of the part. - Various items may be pinned to the activation controls 511 area as a part that may be activated. For instance, an item from the
navigation pane 702 may be pinned as a part in the activation controls 511. Commands from a command window or space may be pinned as a part in the activation controls 511. Likewise, component parts of a lens within a blade may be pinned in the activation controls 511. A pin-all function might also be provided that cases all parts of the blade to be pinned within the activation controls 511 (perhaps as a nested collection within another activation control). Resources, collections, feeds, currated content (such as help topics), and search or query results may likewise be pinned as parts in the activation controls 511. For instance, queries and searches may be performed over a wide variety of information contexts accessible to the computer system. The user can construct queries that go across multiple contexts and then turn the result of that query into a part. That part represents the result of the query and can then be sized and organized as per the part concepts defined above. That part might be provided into each blade that has a context in which the query results are desired. -
FIG. 16 illustrates auser interface 1600 in which there are no journeys started yet, but in which the activation controls are illustrated. Note that the activation controls have a variety of different sizes including six mini-sizes parts, four small size parts, four normal size parts, and one large size part. Thenotification 1601 appears. If the notification was tied to one of the activation controls, then the notification might have appeared within one of the activation controls. However, thenotification 1601 was not tied to an activation control, and thus appeared separately. - Upon selecting the
notification 1601, the user interface 1701 ofFIG. 17 may appear. Here, in response to the selection of thenotification 1601, the canvas has panned automatically to show atemporary area 1702 just to the right of the activation controls, automatically populated thetemporary area 1702 with apart 1703 corresponding to thenotification 1601, and automatically selects thepart 1703 so that theblade 1704 appears. Such a response might be performed whenever an initiating blade of journey is launched by means other than selection of one of the activation controls 511. If the user were to close theblade 1704, thetemporary area 1702 with thetemporary part 1703 may remain, giving the user the option of pinning that part into the activation controls 511. In this description, anything described as being pinned to the activation controls 511 may likewise be pinned to thenavigation page 702 or to a blade. For instance, a part may be moved from one blade to another. - Users often want to create one artifact and then bundle it together with others. For instance, the user might want to create a website and then bundle the website with a database. Conventionally, this is often done in a one at a time fashion. The user creates a website, then the database, and then links them together. Or, perhaps the user picks a website template that automatically has a website and database in it. If a new component comes along, each template that is to incorporate the component needs to be updated or the user is burdened with one more thing to link together.
- In accordance with embodiments described herein, the user may create an item, and then ask the system what are the other commonly added items associated with the item they are creating. The user can then select those items, choosing to bundle them together. Bundling means they will automatically be created in the right order (e.g. the database has to be created before a caching service can be linked to it) and then automatically linked together. This saves the user the user a tremendous amount of time, and also gives the user the opportunity to improve the overall functionality of the resource. An example walkthrough of this will be described with respect to
FIGS. 18 through 22 . -
FIG. 18 illustrates auser interface 1800 that includes a number of activation controls. Suppose that the user selects theactivation control 1801 in order to create a new web site. Theuser interface 1900 ofFIG. 19 might then appear. A createwebsite pane 1901 appears that allows the user to enter in values for the web site. However, thewebsite pane 1901 also presents also addoptions 1902 for possible resources that could help augment the performance of the website.FIG. 20 illustrates auser interface 2000 in which the user has selected a database option. The system is aware that a database and a website will need some kind of connection string, and thus automatically selects aoption 2001. Aprogress bar 2002 then appears showing that the user has completed one of three steps in the total package. If the user selects next, theuser interface 2100 ofFIG. 21 appears. Here, the user enters information associated with the database. Upon selecting next, theuser interface 2200 ofFIG. 22 appears. The user enters information associated with the link, and completes the application. The system automatically builds the application. - Accordingly, the principles described herein provide a robust interface for operating in which the user takes an intuitive journey through information, and can quickly understand the context in which he or she is working.
- The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (20)
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/231,846 US20150095842A1 (en) | 2013-09-30 | 2014-04-01 | Extendable blade sequence along pannable canvas direction |
TW103129730A TW201528106A (en) | 2013-09-30 | 2014-08-28 | Extendable blade sequence along pannable canvas direction |
RU2016111610A RU2686822C2 (en) | 2013-09-30 | 2014-09-29 | Expandable sequence of panels along the direction of a sheared canvas |
CA2922985A CA2922985A1 (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
CN201480053821.XA CN105659199A (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
MX2016003946A MX2016003946A (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction. |
PCT/US2014/057938 WO2015048600A1 (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
EP14790838.8A EP3053017A1 (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
JP2016518687A JP6446038B2 (en) | 2013-09-30 | 2014-09-29 | Blade sequence expandable along pannable canvas direction |
AU2014324618A AU2014324618A1 (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
KR1020167008368A KR20160064115A (en) | 2013-09-30 | 2014-09-29 | Extendable blade sequence along pannable canvas direction |
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361884743P | 2013-09-30 | 2013-09-30 | |
US201361905129P | 2013-11-15 | 2013-11-15 | |
US201361905114P | 2013-11-15 | 2013-11-15 | |
US201361905111P | 2013-11-15 | 2013-11-15 | |
US201361905105P | 2013-11-15 | 2013-11-15 | |
US201361905119P | 2013-11-15 | 2013-11-15 | |
US201361905116P | 2013-11-15 | 2013-11-15 | |
US201361905128P | 2013-11-15 | 2013-11-15 | |
US201361905101P | 2013-11-15 | 2013-11-15 | |
US201361905243P | 2013-11-17 | 2013-11-17 | |
US201361905247P | 2013-11-17 | 2013-11-17 | |
US14/231,846 US20150095842A1 (en) | 2013-09-30 | 2014-04-01 | Extendable blade sequence along pannable canvas direction |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150095842A1 true US20150095842A1 (en) | 2015-04-02 |
Family
ID=52741177
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/231,846 Abandoned US20150095842A1 (en) | 2013-09-30 | 2014-04-01 | Extendable blade sequence along pannable canvas direction |
US14/231,891 Expired - Fee Related US9483549B2 (en) | 2013-09-30 | 2014-04-01 | Persisting state at scale across browser sessions |
US14/231,912 Abandoned US20150095849A1 (en) | 2013-09-30 | 2014-04-01 | Dialogs positioned with action visualization |
US14/231,873 Abandoned US20150095812A1 (en) | 2013-09-30 | 2014-04-01 | Extensible and context-aware commanding infrastructure |
US14/231,862 Active 2035-01-24 US9792354B2 (en) | 2013-09-30 | 2014-04-01 | Context aware user interface parts |
US14/231,905 Active 2034-09-08 US9727636B2 (en) | 2013-09-30 | 2014-04-01 | Generating excutable code from complaint and non-compliant controls |
US14/231,880 Abandoned US20150095365A1 (en) | 2013-09-30 | 2014-04-01 | Query building using schema |
US14/231,869 Active 2034-08-22 US9754018B2 (en) | 2013-09-30 | 2014-04-01 | Rendering interpreter for visualizing data provided from restricted environment container |
US14/231,897 Active 2035-02-28 US9805114B2 (en) | 2013-09-30 | 2014-04-01 | Composable selection model through reusable component |
US14/231,883 Active 2034-11-24 US9672276B2 (en) | 2013-09-30 | 2014-04-01 | Multi-act creation user interface element |
US14/231,917 Abandoned US20150095846A1 (en) | 2013-09-30 | 2014-04-01 | Pan and selection gesture detection |
Family Applications After (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/231,891 Expired - Fee Related US9483549B2 (en) | 2013-09-30 | 2014-04-01 | Persisting state at scale across browser sessions |
US14/231,912 Abandoned US20150095849A1 (en) | 2013-09-30 | 2014-04-01 | Dialogs positioned with action visualization |
US14/231,873 Abandoned US20150095812A1 (en) | 2013-09-30 | 2014-04-01 | Extensible and context-aware commanding infrastructure |
US14/231,862 Active 2035-01-24 US9792354B2 (en) | 2013-09-30 | 2014-04-01 | Context aware user interface parts |
US14/231,905 Active 2034-09-08 US9727636B2 (en) | 2013-09-30 | 2014-04-01 | Generating excutable code from complaint and non-compliant controls |
US14/231,880 Abandoned US20150095365A1 (en) | 2013-09-30 | 2014-04-01 | Query building using schema |
US14/231,869 Active 2034-08-22 US9754018B2 (en) | 2013-09-30 | 2014-04-01 | Rendering interpreter for visualizing data provided from restricted environment container |
US14/231,897 Active 2035-02-28 US9805114B2 (en) | 2013-09-30 | 2014-04-01 | Composable selection model through reusable component |
US14/231,883 Active 2034-11-24 US9672276B2 (en) | 2013-09-30 | 2014-04-01 | Multi-act creation user interface element |
US14/231,917 Abandoned US20150095846A1 (en) | 2013-09-30 | 2014-04-01 | Pan and selection gesture detection |
Country Status (17)
Country | Link |
---|---|
US (11) | US20150095842A1 (en) |
EP (6) | EP3053027A1 (en) |
JP (2) | JP6465870B2 (en) |
KR (3) | KR102186865B1 (en) |
CN (6) | CN105683909B (en) |
AU (2) | AU2014324618A1 (en) |
BR (1) | BR112016004551A8 (en) |
CA (2) | CA2922725A1 (en) |
CL (1) | CL2016000729A1 (en) |
HK (1) | HK1222731A1 (en) |
IL (1) | IL244368A0 (en) |
MX (2) | MX2016003946A (en) |
PH (1) | PH12016500256A1 (en) |
RU (2) | RU2679540C2 (en) |
SG (2) | SG11201601888UA (en) |
TW (4) | TW201528106A (en) |
WO (7) | WO2015048205A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177455A (en) * | 2019-12-31 | 2020-05-19 | 精英数智科技股份有限公司 | Method, device and equipment for determining cutting tooth load type of coal mining machine and storage medium |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD750112S1 (en) * | 2013-01-04 | 2016-02-23 | Samsung Electronics Co., Ltd. | Portable electronic device with graphical user interface |
US20150095842A1 (en) * | 2013-09-30 | 2015-04-02 | Microsoft Corporation | Extendable blade sequence along pannable canvas direction |
USD745877S1 (en) * | 2013-10-17 | 2015-12-22 | Microsoft Corporation | Display screen with graphical user interface |
US10176218B2 (en) * | 2014-11-07 | 2019-01-08 | Sap Se | OData custom query composer |
US10990258B2 (en) * | 2015-08-04 | 2021-04-27 | Google Llc | Interactively presenting a visible portion of a rendering surface on a user device |
US10452750B2 (en) | 2015-08-04 | 2019-10-22 | Google Llc | Systems and methods for interactively presenting a visible portion of a rendering surface on a user device |
JP6812639B2 (en) * | 2016-02-03 | 2021-01-13 | セイコーエプソン株式会社 | Electronic devices, control programs for electronic devices |
US10289297B2 (en) * | 2016-08-26 | 2019-05-14 | Google Llc | Animating an image to indicate that the image is pannable |
US9871911B1 (en) * | 2016-09-30 | 2018-01-16 | Microsoft Technology Licensing, Llc | Visualizations for interactions with external computing logic |
KR102605332B1 (en) * | 2016-11-02 | 2023-11-23 | 주식회사 넥슨코리아 | Device and method to provide content |
US10796088B2 (en) * | 2017-04-21 | 2020-10-06 | International Business Machines Corporation | Specifying a conversational computer agent and its outcome with a grammar |
WO2018208047A1 (en) | 2017-05-09 | 2018-11-15 | Samsung Electronics Co., Ltd. | Method and system for managing and displaying application |
US10827319B2 (en) * | 2017-06-02 | 2020-11-03 | Apple Inc. | Messaging system interacting with dynamic extension app |
CN110019718B (en) * | 2017-12-15 | 2021-04-09 | 上海智臻智能网络科技股份有限公司 | Method for modifying multi-turn question-answering system, terminal equipment and storage medium |
US11341422B2 (en) | 2017-12-15 | 2022-05-24 | SHANGHAI XIAOl ROBOT TECHNOLOGY CO., LTD. | Multi-round questioning and answering methods, methods for generating a multi-round questioning and answering system, and methods for modifying the system |
CN110019717B (en) * | 2017-12-15 | 2021-06-29 | 上海智臻智能网络科技股份有限公司 | Device for modifying multi-turn question-answering system |
US11379252B1 (en) * | 2018-01-31 | 2022-07-05 | Parallels International Gmbh | System and method for providing layouts for a remote desktop session |
US11659003B2 (en) * | 2018-08-30 | 2023-05-23 | International Business Machines Corporation | Safe shell container facilitating inspection of a virtual container |
US10902045B2 (en) * | 2018-09-18 | 2021-01-26 | Tableau Software, Inc. | Natural language interface for building data visualizations, including cascading edits to filter expressions |
US11048871B2 (en) * | 2018-09-18 | 2021-06-29 | Tableau Software, Inc. | Analyzing natural language expressions in a data visualization user interface |
CN109542563B (en) * | 2018-11-09 | 2022-06-07 | 优信数享(北京)信息技术有限公司 | Multi-state integrated android page management method, device and system |
US11385766B2 (en) | 2019-01-07 | 2022-07-12 | AppEsteem Corporation | Technologies for indicating deceptive and trustworthy resources |
EP3764210A1 (en) | 2019-07-08 | 2021-01-13 | dSPACE digital signal processing and control engineering GmbH | Display of display areas on a desktop |
US11089050B1 (en) * | 2019-08-26 | 2021-08-10 | Ca, Inc. | Isolating an iframe of a webpage |
US11455339B1 (en) | 2019-09-06 | 2022-09-27 | Tableau Software, LLC | Incremental updates to natural language expressions in a data visualization user interface |
US11474975B2 (en) | 2019-09-18 | 2022-10-18 | Microsoft Technology Licensing, Llc | Identity represented assets in a content management system |
US11199955B2 (en) * | 2019-10-02 | 2021-12-14 | Palantir Technologies Inc. | Enhanced techniques for building user interfaces |
CN110825766A (en) * | 2019-11-13 | 2020-02-21 | 恩亿科(北京)数据科技有限公司 | Query condition generation method and device, server and readable storage medium |
CN110995942B (en) * | 2019-12-06 | 2021-08-06 | 科大国创软件股份有限公司 | Soft switch automatic calling method and system based on interface visualization |
KR20210086263A (en) * | 2019-12-31 | 2021-07-08 | 한국과학기술원 | Secure user interface distribution method for heterogeneous multi-device interaction |
CN111610912B (en) * | 2020-04-24 | 2023-10-10 | 北京小米移动软件有限公司 | Application display method, application display device and storage medium |
CN114205365B (en) * | 2020-08-31 | 2023-06-20 | 华为技术有限公司 | Application interface migration system, method and related equipment |
EP4208200A2 (en) | 2020-09-02 | 2023-07-12 | Genmab A/S | Antibody therapy |
US11698933B1 (en) | 2020-09-18 | 2023-07-11 | Tableau Software, LLC | Using dynamic entity search during entry of natural language commands for visual data analysis |
US11301631B1 (en) | 2020-10-05 | 2022-04-12 | Tableau Software, LLC | Visually correlating individual terms in natural language input to respective structured phrases representing the natural language input |
CN112732243B (en) * | 2021-01-11 | 2024-06-18 | 京东科技控股股份有限公司 | Data processing method and device for generating functional components |
US11363050B1 (en) | 2021-03-25 | 2022-06-14 | Bank Of America Corporation | Information security system and method for incompliance detection in data transmission |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124696A1 (en) * | 2005-11-30 | 2007-05-31 | Microsoft Corporation | Centralized user interface for displaying contextually driven business content and business related functionality |
US7694233B1 (en) * | 2004-04-30 | 2010-04-06 | Apple Inc. | User interface presentation of information in reconfigured or overlapping containers |
US20120089914A1 (en) * | 2010-04-27 | 2012-04-12 | Surfwax Inc. | User interfaces for navigating structured content |
US20130086508A1 (en) * | 2011-10-04 | 2013-04-04 | Qualcomm Incorporated | Application window position and size control in (multi-fold) multi-display devices |
US20130120295A1 (en) * | 2011-11-16 | 2013-05-16 | Samsung Electronics Co., Ltd. | Mobile device for executing multiple applications and method for same |
US8762880B2 (en) * | 2007-06-29 | 2014-06-24 | Microsoft Corporation | Exposing non-authoring features through document status information in an out-space user interface |
US9043722B1 (en) * | 2012-06-19 | 2015-05-26 | Surfwax, Inc. | User interfaces for displaying relationships between cells in a grid |
Family Cites Families (175)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6362033A (en) * | 1986-09-02 | 1988-03-18 | Nec Corp | Display device for relative information |
WO1994024657A1 (en) * | 1993-04-20 | 1994-10-27 | Apple Computer Inc. | Interactive user interface |
US5625763A (en) | 1995-05-05 | 1997-04-29 | Apple Computer, Inc. | Method and apparatus for automatically generating focus ordering in a dialog on a computer system |
JPH09245188A (en) * | 1996-03-12 | 1997-09-19 | Fujitsu Ltd | Graphic display method and graphic display device |
US5845299A (en) | 1996-07-29 | 1998-12-01 | Rae Technology Llc | Draw-based editor for web pages |
US6049812A (en) | 1996-11-18 | 2000-04-11 | International Business Machines Corp. | Browser and plural active URL manager for network computers |
US6128632A (en) * | 1997-03-06 | 2000-10-03 | Apple Computer, Inc. | Methods for applying rubi annotation characters over base text characters |
US6091415A (en) * | 1997-05-02 | 2000-07-18 | Inventec Corporation | System and method for displaying multiple dialog boxes in a window display |
US5886694A (en) | 1997-07-14 | 1999-03-23 | Microsoft Corporation | Method for automatically laying out controls in a dialog window |
US5995101A (en) * | 1997-10-29 | 1999-11-30 | Adobe Systems Incorporated | Multi-level tool tip |
US6236400B1 (en) * | 1998-04-02 | 2001-05-22 | Sun Microsystems, Inc. | Method and apparatus for controlling the display of hierarchical information |
US6473102B1 (en) * | 1998-05-11 | 2002-10-29 | Apple Computer, Inc. | Method and system for automatically resizing and repositioning windows in response to changes in display |
US7801913B2 (en) | 1998-12-07 | 2010-09-21 | Oracle International Corporation | System and method for querying data for implicit hierarchies |
US6460060B1 (en) | 1999-01-26 | 2002-10-01 | International Business Machines Corporation | Method and system for searching web browser history |
JP2000331020A (en) * | 1999-05-21 | 2000-11-30 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for information reference and storage medium with information reference program stored |
US6701513B1 (en) | 2000-01-14 | 2004-03-02 | Measurement Computing Corporation | Program-development environment for use in generating application programs |
US7243335B1 (en) * | 2000-02-17 | 2007-07-10 | Microsoft Corporation | Method and system for reducing coding complexity by providing intelligent manipulable defaults |
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
US6473891B1 (en) | 2000-05-03 | 2002-10-29 | Lsi Logic Corporation | Wire routing to control skew |
US7062475B1 (en) | 2000-05-30 | 2006-06-13 | Alberti Anemometer Llc | Personalized multi-service computer environment |
US6750887B1 (en) | 2000-06-02 | 2004-06-15 | Sun Microsystems, Inc. | Graphical user interface layout manager |
US7171455B1 (en) | 2000-08-22 | 2007-01-30 | International Business Machines Corporation | Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals |
US6919890B2 (en) * | 2000-09-28 | 2005-07-19 | Curl Corporation | Grid and table layout using elastics |
US6640655B1 (en) * | 2000-10-03 | 2003-11-04 | Varco I/P, Inc. | Self tracking sensor suspension mechanism |
US6950198B1 (en) | 2000-10-18 | 2005-09-27 | Eastman Kodak Company | Effective transfer of images from a user to a service provider |
US7370040B1 (en) | 2000-11-21 | 2008-05-06 | Microsoft Corporation | Searching with adaptively configurable user interface and extensible query language |
US6760128B2 (en) | 2000-12-06 | 2004-07-06 | Eastman Kodak Company | Providing a payment schedule for utilizing stored images using a designated date |
AU2002233991A1 (en) | 2000-12-06 | 2002-06-18 | American Express Travel Related Services Company, Inc. | Layout generator system and method |
JP2002182812A (en) * | 2000-12-14 | 2002-06-28 | Smg Kk | Site map display system |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7203678B1 (en) | 2001-03-27 | 2007-04-10 | Bea Systems, Inc. | Reconfigurable query generation system for web browsers |
US20020147963A1 (en) * | 2001-04-09 | 2002-10-10 | Lee Rusty Shawn | Method and apparatus for generating machine control instructions |
US20020180811A1 (en) | 2001-05-31 | 2002-12-05 | Chu Sing Yun | Systems, methods, and articles of manufacture for providing a user interface with selection and scrolling |
US20030011638A1 (en) | 2001-07-10 | 2003-01-16 | Sun-Woo Chung | Pop-up menu system |
US6950993B2 (en) | 2001-08-02 | 2005-09-27 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
US6944829B2 (en) | 2001-09-25 | 2005-09-13 | Wind River Systems, Inc. | Configurable user-interface component management system |
US7480864B2 (en) | 2001-10-12 | 2009-01-20 | Canon Kabushiki Kaisha | Zoom editor |
US7620908B2 (en) * | 2001-12-28 | 2009-11-17 | Sap Ag | Managing a user interface |
US20050066037A1 (en) * | 2002-04-10 | 2005-03-24 | Yu Song | Browser session mobility system for multi-platform applications |
CA2385224C (en) | 2002-05-07 | 2012-10-02 | Corel Corporation | Dockable drop-down dialogs |
US7065707B2 (en) * | 2002-06-24 | 2006-06-20 | Microsoft Corporation | Segmenting and indexing web pages using function-based object models |
US7293024B2 (en) | 2002-11-14 | 2007-11-06 | Seisint, Inc. | Method for sorting and distributing data among a plurality of nodes |
US20080177994A1 (en) | 2003-01-12 | 2008-07-24 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
US7000184B2 (en) | 2003-01-24 | 2006-02-14 | The Cobalt Group, Inc. | Remote web site editing in a standard web browser without external software |
US20040165009A1 (en) * | 2003-02-20 | 2004-08-26 | International Business Machines Corporation | Expansion of interactive user interface components |
US7769794B2 (en) | 2003-03-24 | 2010-08-03 | Microsoft Corporation | User interface for a file system shell |
US7823077B2 (en) | 2003-03-24 | 2010-10-26 | Microsoft Corporation | System and method for user modification of metadata in a shell browser |
US7720616B2 (en) | 2003-05-07 | 2010-05-18 | Sureprep, Llc | Multi-stage, multi-user engagement submission and tracking process |
US7417644B2 (en) | 2003-05-12 | 2008-08-26 | Microsoft Corporation | Dynamic pluggable user interface layout |
US7669140B2 (en) | 2003-08-21 | 2010-02-23 | Microsoft Corporation | System and method for providing rich minimized applications |
US8230366B2 (en) | 2003-10-23 | 2012-07-24 | Apple Inc. | Dynamically changing cursor for user interface |
US8037420B2 (en) * | 2003-12-04 | 2011-10-11 | International Business Machines Corporation | Maintaining browser navigation relationships and for choosing a browser window for new documents |
US7711742B2 (en) | 2003-12-11 | 2010-05-04 | International Business Machines Corporation | Intelligent data query builder |
US20080109785A1 (en) | 2004-01-16 | 2008-05-08 | Bailey Bendrix L | Graphical Program Having Graphical and/or Textual Specification of Event Handler Procedures for Program Objects |
GB2411331A (en) * | 2004-02-19 | 2005-08-24 | Trigenix Ltd | Rendering user interface using actor attributes |
US7577938B2 (en) | 2004-02-20 | 2009-08-18 | Microsoft Corporation | Data association |
US7536672B1 (en) | 2004-03-05 | 2009-05-19 | Adobe Systems Incorporated | Management of user interaction history with software applications |
CN100343802C (en) * | 2004-05-10 | 2007-10-17 | 华为技术有限公司 | Method and system for unifying users'interface |
US8453065B2 (en) | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US8046712B2 (en) | 2004-06-29 | 2011-10-25 | Acd Systems International Inc. | Management of multiple window panels with a graphical user interface |
US8117542B2 (en) * | 2004-08-16 | 2012-02-14 | Microsoft Corporation | User interface for displaying selectable software functionality controls that are contextually relevant to a selected object |
WO2006018647A1 (en) | 2004-08-20 | 2006-02-23 | Rhoderick John Kennedy Pugh | Server authentication |
US7434173B2 (en) | 2004-08-30 | 2008-10-07 | Microsoft Corporation | Scrolling web pages using direct interaction |
US7720867B2 (en) | 2004-09-08 | 2010-05-18 | Oracle International Corporation | Natural language query construction using purpose-driven template |
US8819569B2 (en) | 2005-02-18 | 2014-08-26 | Zumobi, Inc | Single-handed approach for navigation of application tiles using panning and zooming |
US7728825B2 (en) * | 2005-03-22 | 2010-06-01 | Microsoft Corporation | Targeting in a stylus-based user interface |
US20060224951A1 (en) * | 2005-03-30 | 2006-10-05 | Yahoo! Inc. | Multiple window browser interface and system and method of generating multiple window browser interface |
US20060236264A1 (en) * | 2005-04-18 | 2006-10-19 | Microsoft Corporation | Automatic window resize behavior and optimizations |
US8195646B2 (en) | 2005-04-22 | 2012-06-05 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US7721225B2 (en) | 2005-05-03 | 2010-05-18 | Novell, Inc. | System and method for creating and presenting modal dialog boxes in server-side component web applications |
US7730418B2 (en) * | 2005-05-04 | 2010-06-01 | Workman Nydegger | Size to content windows for computer graphics |
US20070024646A1 (en) | 2005-05-23 | 2007-02-01 | Kalle Saarinen | Portable electronic apparatus and associated method |
US20060282771A1 (en) | 2005-06-10 | 2006-12-14 | Tad Vinci | Verifying document compliance to a subsidiary standard |
US20070033522A1 (en) | 2005-08-02 | 2007-02-08 | Lin Frank L | System and method for dynamic resizing of web-based GUIs |
US7933632B2 (en) | 2005-09-16 | 2011-04-26 | Microsoft Corporation | Tile space user interface for mobile devices |
US8543824B2 (en) | 2005-10-27 | 2013-09-24 | Apple Inc. | Safe distribution and use of content |
US7954064B2 (en) | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US7836303B2 (en) | 2005-12-09 | 2010-11-16 | University Of Washington | Web browser operating system |
US8898203B2 (en) | 2005-12-27 | 2014-11-25 | International Business Machines Corporation | Generating a separable query design object and database schema through visual view editing |
JP4635894B2 (en) * | 2006-02-13 | 2011-02-23 | ソニー株式会社 | Information processing apparatus and method, and program |
JP4415961B2 (en) | 2006-03-15 | 2010-02-17 | ブラザー工業株式会社 | Removable media device and data control program |
US20070233854A1 (en) | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Management status summaries |
US20070234195A1 (en) | 2006-04-03 | 2007-10-04 | National Instruments Corporation | Simultaneous update of a plurality of user interface elements displayed in a web browser |
US7685519B1 (en) * | 2006-07-18 | 2010-03-23 | Intuit Inc. | Process and apparatus for providing a customizable content tooltip |
US20080018665A1 (en) * | 2006-07-24 | 2008-01-24 | Jay Behr | System and method for visualizing drawing style layer combinations |
US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US20080065974A1 (en) | 2006-09-08 | 2008-03-13 | Tom Campbell | Template-based electronic presence management |
US7890957B2 (en) | 2006-09-08 | 2011-02-15 | Easyonme, Inc. | Remote management of an electronic presence |
US20080109714A1 (en) | 2006-11-03 | 2008-05-08 | Sap Ag | Capturing screen information |
US8082539B1 (en) * | 2006-12-11 | 2011-12-20 | Parallels Holdings, Ltd. | System and method for managing web-based forms and dynamic content of website |
JP5031353B2 (en) | 2006-12-15 | 2012-09-19 | キヤノン株式会社 | Display device, control method, and program |
CN101004685A (en) * | 2007-01-08 | 2007-07-25 | 叶炜 | Method for realizing graphical user interface |
US9032329B2 (en) | 2007-03-23 | 2015-05-12 | Siemens Product Lifecycle Management Software Inc. | System and method for dialog position management |
US8321847B1 (en) * | 2007-05-17 | 2012-11-27 | The Mathworks, Inc. | Dynamic function wizard |
US20080306933A1 (en) * | 2007-06-08 | 2008-12-11 | Microsoft Corporation | Display of search-engine results and list |
US10019570B2 (en) | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US8065628B2 (en) | 2007-06-25 | 2011-11-22 | Microsoft Corporation | Dynamic user interface for previewing live content |
KR20090000507A (en) * | 2007-06-28 | 2009-01-07 | 삼성전자주식회사 | Information display method and device |
US9131078B2 (en) | 2007-07-27 | 2015-09-08 | Lagavulin Limited | Apparatuses, methods, and systems for a portable, image-processing transmitter |
US9009181B2 (en) | 2007-08-23 | 2015-04-14 | International Business Machines Corporation | Accessing objects in a service registry and repository |
US8126840B2 (en) | 2007-10-22 | 2012-02-28 | Noria Corporation | Lubrication program management system and methods |
US8046353B2 (en) | 2007-11-02 | 2011-10-25 | Citrix Online Llc | Method and apparatus for searching a hierarchical database and an unstructured database with a single search query |
CN101499004A (en) * | 2008-01-31 | 2009-08-05 | 株式会社日立制作所 | System and method for connecting virtual machine and user interface |
JP2009193423A (en) * | 2008-02-15 | 2009-08-27 | Panasonic Corp | Electronic device input device |
US20090254822A1 (en) * | 2008-04-04 | 2009-10-08 | International Business Machines Corporation | Hi-efficiency wizard framework system and method |
US8219385B2 (en) * | 2008-04-08 | 2012-07-10 | Incentive Targeting, Inc. | Computer-implemented method and system for conducting a search of electronically stored information |
JP4171770B1 (en) * | 2008-04-24 | 2008-10-29 | 任天堂株式会社 | Object display order changing program and apparatus |
US8375336B2 (en) * | 2008-05-23 | 2013-02-12 | Microsoft Corporation | Panning content utilizing a drag operation |
US8156445B2 (en) | 2008-06-20 | 2012-04-10 | Microsoft Corporation | Controlled interaction with heterogeneous data |
US20100005053A1 (en) | 2008-07-04 | 2010-01-07 | Estes Philip F | Method for enabling discrete back/forward actions within a dynamic web application |
US8345014B2 (en) * | 2008-07-12 | 2013-01-01 | Lester F. Ludwig | Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface |
US8566741B2 (en) * | 2008-08-29 | 2013-10-22 | Microsoft Corporation | Internal scroll activation and cursor adornment |
US8402381B2 (en) * | 2008-09-23 | 2013-03-19 | International Business Machines Corporation | Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments |
KR20100049474A (en) | 2008-11-03 | 2010-05-12 | 삼성전자주식회사 | A method for remote user interface session migration to other device |
US8095412B1 (en) * | 2008-11-03 | 2012-01-10 | Intuit Inc. | Method and system for evaluating expansion of a business |
US20120151408A1 (en) | 2008-11-26 | 2012-06-14 | Lila Aps (AHead) | Dynamic network browser |
US7962547B2 (en) | 2009-01-08 | 2011-06-14 | International Business Machines Corporation | Method for server-side logging of client browser state through markup language |
US20100229115A1 (en) * | 2009-03-05 | 2010-09-09 | Microsoft Corporation | Zoomable user interface data generation |
US8806371B2 (en) * | 2009-03-26 | 2014-08-12 | Apple Inc. | Interface navigation tools |
US8819570B2 (en) * | 2009-03-27 | 2014-08-26 | Zumobi, Inc | Systems, methods, and computer program products displaying interactive elements on a canvas |
US20100251143A1 (en) * | 2009-03-27 | 2010-09-30 | The Ransom Group, Inc. | Method, system and computer program for creating and editing a website |
US8819597B2 (en) | 2009-04-10 | 2014-08-26 | Google Inc. | Glyph entry on computing device |
US9213541B2 (en) * | 2009-04-17 | 2015-12-15 | ArtinSoft Corporation, S.A. | Creation, generation, distribution and application of self-contained modifications to source code |
US20100287530A1 (en) | 2009-05-05 | 2010-11-11 | Borland Software Corporation | Requirements definition using interactive prototyping |
US8269737B2 (en) * | 2009-08-20 | 2012-09-18 | Hewlett-Packard Development Company, L.P. | Method and apparatus for interpreting input movement on a computing device interface as a one- or two-dimensional input |
EP3923165A1 (en) | 2009-11-13 | 2021-12-15 | Irdeto B.V. | System and method to protect java bytecode code against static and dynamic attacks within hostile execution environments |
US8782562B2 (en) * | 2009-12-02 | 2014-07-15 | Dell Products L.P. | Identifying content via items of a navigation system |
US8407598B2 (en) * | 2009-12-09 | 2013-03-26 | Ralph Lee Burton | Dynamic web control generation facilitator |
JP5523090B2 (en) * | 2009-12-25 | 2014-06-18 | キヤノン株式会社 | INPUT DEVICE, CONTROL METHOD FOR INPUT DEVICE, PROGRAM, AND STORAGE MEDIUM |
US8533667B2 (en) | 2009-12-30 | 2013-09-10 | International Business Machines Corporation | Call wizard for information management system (IMS) applications |
CN101763218A (en) * | 2010-01-06 | 2010-06-30 | 广东欧珀移动通信有限公司 | Input method of handheld device |
US20110173537A1 (en) * | 2010-01-11 | 2011-07-14 | Everspeech, Inc. | Integrated data processing and transcription service |
EP2548132A4 (en) | 2010-03-19 | 2016-11-09 | Siemens Healthcare Diagnostics | MODULAR DIAGNOSTIC INSTRUMENT WORKSTATION ARCHITECTURE AND METHOD |
US8316323B2 (en) | 2010-03-26 | 2012-11-20 | Microsoft Corporation | Breadcrumb navigation through heirarchical structures |
US8631350B2 (en) * | 2010-04-23 | 2014-01-14 | Blackberry Limited | Graphical context short menu |
US20110271184A1 (en) * | 2010-04-28 | 2011-11-03 | Microsoft Corporation | Client application and web page integration |
US9160756B2 (en) | 2010-05-19 | 2015-10-13 | International Business Machines Corporation | Method and apparatus for protecting markup language document against cross-site scripting attack |
US9110586B2 (en) * | 2010-06-03 | 2015-08-18 | Panasonic Intellectual Property Corporation Of America | Scrolling apparatus, scrolling method, non-transitory computer readable recording medium and intergrated circuit |
CN102270125A (en) * | 2010-06-04 | 2011-12-07 | 中兴通讯股份有限公司 | Device and method for developing Web application |
US20110314415A1 (en) * | 2010-06-21 | 2011-12-22 | George Fitzmaurice | Method and System for Providing Custom Tooltip Messages |
US8706854B2 (en) | 2010-06-30 | 2014-04-22 | Raytheon Company | System and method for organizing, managing and running enterprise-wide scans |
US8544027B2 (en) | 2010-07-30 | 2013-09-24 | Sap Ag | Logical data model abstraction in a physically distributed environment |
WO2012030958A1 (en) * | 2010-08-31 | 2012-03-08 | Activate Systems, Inc. | Methods and apparatus for improved motion capture |
JP2012069065A (en) * | 2010-09-27 | 2012-04-05 | Nintendo Co Ltd | Information processing program, and information processing device and method |
US8612366B2 (en) * | 2010-09-29 | 2013-12-17 | Moresteam.Com Llc | Systems and methods for performing design of experiments |
US8990199B1 (en) | 2010-09-30 | 2015-03-24 | Amazon Technologies, Inc. | Content search with category-aware visual similarity |
US20120124555A1 (en) | 2010-11-11 | 2012-05-17 | Codekko Software, Inc. | Optimization of Compiled Control Objects |
US9069577B2 (en) * | 2010-11-23 | 2015-06-30 | Apple Inc. | Grouping and browsing open windows |
CN102023749A (en) * | 2010-12-02 | 2011-04-20 | 广东宝莱特医用科技股份有限公司 | Area dragging treating method of list type control on touch screen interface of medical equipment |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US20120191748A1 (en) | 2011-01-20 | 2012-07-26 | John Nicholas Gross | System & Method For Facilitating Sequential Review of Restructured Protected Data |
JP2012168790A (en) | 2011-02-15 | 2012-09-06 | Brother Ind Ltd | Display program and display device |
US9384183B2 (en) * | 2011-03-31 | 2016-07-05 | Infosys Limited | Method and system for reporting web standard non-compliance of web pages |
US9152616B2 (en) | 2011-04-28 | 2015-10-06 | Flipboard, Inc. | Template-based page layout for web content |
US9753699B2 (en) | 2011-06-16 | 2017-09-05 | Microsoft Technology Licensing, Llc | Live browser tooling in an integrated development environment |
US8566100B2 (en) | 2011-06-21 | 2013-10-22 | Verna Ip Holdings, Llc | Automated method and system for obtaining user-selected real-time information on a mobile communication device |
US8799862B2 (en) | 2011-06-24 | 2014-08-05 | Alcatel Lucent | Application testing using sandboxes |
CN102253841B (en) * | 2011-08-09 | 2014-07-23 | 东莞兆田数码科技有限公司 | Small-sized graphic user interface system |
US20130080913A1 (en) * | 2011-09-22 | 2013-03-28 | Microsoft Corporation | Multi-column notebook interaction |
JP5553812B2 (en) * | 2011-10-26 | 2014-07-16 | 株式会社ソニー・コンピュータエンタテインメント | Scroll control device, terminal device, and scroll control method |
US8799780B2 (en) * | 2011-11-28 | 2014-08-05 | International Business Machines Corporation | Installation wizard with multidimensional views |
US8799988B2 (en) | 2012-01-25 | 2014-08-05 | Microsoft Corporation | Document communication runtime interfaces |
US20150058709A1 (en) | 2012-01-26 | 2015-02-26 | Michael Edward Zaletel | Method of creating a media composition and apparatus therefore |
US10185703B2 (en) | 2012-02-20 | 2019-01-22 | Wix.Com Ltd. | Web site design system integrating dynamic layout and dynamic content |
KR101892567B1 (en) * | 2012-02-24 | 2018-08-28 | 삼성전자 주식회사 | Method and apparatus for moving contents on screen in terminal |
US9389872B2 (en) | 2012-03-16 | 2016-07-12 | Vmware, Inc. | Software wizard implementation framework |
EP2665042A1 (en) * | 2012-05-14 | 2013-11-20 | Crytek GmbH | Visual processing based on interactive rendering |
US20140096042A1 (en) * | 2012-07-09 | 2014-04-03 | Aaron Tyler Travis | Method and system for generating and storing a collection of interactive browsers within a navigation plane |
US9195477B1 (en) | 2012-10-09 | 2015-11-24 | Sencha, Inc. | Device profiles, deep linking, and browser history support for web applications |
US9244971B1 (en) | 2013-03-07 | 2016-01-26 | Amazon Technologies, Inc. | Data retrieval from heterogeneous storage systems |
US9158518B2 (en) | 2013-03-11 | 2015-10-13 | Blackberry Limited | Collaborative application development environment using a connected device |
WO2014157908A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Device and method for displaying execution result of application |
US10410003B2 (en) * | 2013-06-07 | 2019-09-10 | Apple Inc. | Multiple containers assigned to an application |
US20150095842A1 (en) * | 2013-09-30 | 2015-04-02 | Microsoft Corporation | Extendable blade sequence along pannable canvas direction |
US9875116B2 (en) | 2013-11-26 | 2018-01-23 | Cellco Partnership | Sharing of a user input interface of an application session of one application between two or more applications |
-
2014
- 2014-04-01 US US14/231,846 patent/US20150095842A1/en not_active Abandoned
- 2014-04-01 US US14/231,891 patent/US9483549B2/en not_active Expired - Fee Related
- 2014-04-01 US US14/231,912 patent/US20150095849A1/en not_active Abandoned
- 2014-04-01 US US14/231,873 patent/US20150095812A1/en not_active Abandoned
- 2014-04-01 US US14/231,862 patent/US9792354B2/en active Active
- 2014-04-01 US US14/231,905 patent/US9727636B2/en active Active
- 2014-04-01 US US14/231,880 patent/US20150095365A1/en not_active Abandoned
- 2014-04-01 US US14/231,869 patent/US9754018B2/en active Active
- 2014-04-01 US US14/231,897 patent/US9805114B2/en active Active
- 2014-04-01 US US14/231,883 patent/US9672276B2/en active Active
- 2014-04-01 US US14/231,917 patent/US20150095846A1/en not_active Abandoned
- 2014-08-28 TW TW103129730A patent/TW201528106A/en unknown
- 2014-09-24 TW TW103133045A patent/TW201516834A/en unknown
- 2014-09-24 TW TW103133046A patent/TW201528108A/en unknown
- 2014-09-25 TW TW103133249A patent/TW201528103A/en unknown
- 2014-09-25 EP EP14783733.0A patent/EP3053027A1/en not_active Ceased
- 2014-09-25 WO PCT/US2014/057323 patent/WO2015048205A1/en active Application Filing
- 2014-09-25 WO PCT/US2014/057322 patent/WO2015048204A1/en active Application Filing
- 2014-09-25 WO PCT/US2014/057324 patent/WO2015048206A1/en active Application Filing
- 2014-09-25 WO PCT/US2014/057321 patent/WO2015048203A1/en active Application Filing
- 2014-09-25 EP EP14783734.8A patent/EP3053028B1/en active Active
- 2014-09-25 CN CN201480054151.3A patent/CN105683909B/en active Active
- 2014-09-25 KR KR1020167008327A patent/KR102186865B1/en active Active
- 2014-09-25 EP EP14825480.8A patent/EP3053031A1/en not_active Ceased
- 2014-09-25 CN CN201480054050.6A patent/CN105593813B/en active Active
- 2014-09-25 CN CN201480053811.6A patent/CN105683907B/en active Active
- 2014-09-29 EP EP14783748.8A patent/EP3053029A1/en not_active Ceased
- 2014-09-29 SG SG11201601888UA patent/SG11201601888UA/en unknown
- 2014-09-29 EP EP14786398.9A patent/EP3053030A1/en not_active Withdrawn
- 2014-09-29 RU RU2016111604A patent/RU2679540C2/en not_active IP Right Cessation
- 2014-09-29 BR BR112016004551A patent/BR112016004551A8/en not_active Application Discontinuation
- 2014-09-29 MX MX2016003946A patent/MX2016003946A/en unknown
- 2014-09-29 CN CN201480053821.XA patent/CN105659199A/en active Pending
- 2014-09-29 JP JP2016518686A patent/JP6465870B2/en not_active Expired - Fee Related
- 2014-09-29 KR KR1020167008352A patent/KR20160063340A/en not_active Withdrawn
- 2014-09-29 CN CN201480053988.6A patent/CN105683908B/en not_active Expired - Fee Related
- 2014-09-29 CN CN201480054049.3A patent/CN105593812A/en active Pending
- 2014-09-29 CA CA2922725A patent/CA2922725A1/en not_active Abandoned
- 2014-09-29 AU AU2014324618A patent/AU2014324618A1/en not_active Abandoned
- 2014-09-29 WO PCT/US2014/057939 patent/WO2015048601A1/en active Application Filing
- 2014-09-29 KR KR1020167008368A patent/KR20160064115A/en not_active Withdrawn
- 2014-09-29 WO PCT/US2014/057940 patent/WO2015048602A1/en active Application Filing
- 2014-09-29 EP EP14790838.8A patent/EP3053017A1/en not_active Withdrawn
- 2014-09-29 WO PCT/US2014/057938 patent/WO2015048600A1/en active Application Filing
- 2014-09-29 AU AU2014324620A patent/AU2014324620A1/en not_active Abandoned
- 2014-09-29 MX MX2016004113A patent/MX2016004113A/en unknown
- 2014-09-29 RU RU2016111610A patent/RU2686822C2/en not_active IP Right Cessation
- 2014-09-29 SG SG10201802632SA patent/SG10201802632SA/en unknown
- 2014-09-29 CA CA2922985A patent/CA2922985A1/en not_active Abandoned
- 2014-09-29 JP JP2016518687A patent/JP6446038B2/en not_active Expired - Fee Related
-
2016
- 2016-02-05 PH PH12016500256A patent/PH12016500256A1/en unknown
- 2016-03-01 IL IL244368A patent/IL244368A0/en unknown
- 2016-03-30 CL CL2016000729A patent/CL2016000729A1/en unknown
- 2016-09-14 HK HK16110904.6A patent/HK1222731A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694233B1 (en) * | 2004-04-30 | 2010-04-06 | Apple Inc. | User interface presentation of information in reconfigured or overlapping containers |
US20070124696A1 (en) * | 2005-11-30 | 2007-05-31 | Microsoft Corporation | Centralized user interface for displaying contextually driven business content and business related functionality |
US8762880B2 (en) * | 2007-06-29 | 2014-06-24 | Microsoft Corporation | Exposing non-authoring features through document status information in an out-space user interface |
US20120089914A1 (en) * | 2010-04-27 | 2012-04-12 | Surfwax Inc. | User interfaces for navigating structured content |
US20130086508A1 (en) * | 2011-10-04 | 2013-04-04 | Qualcomm Incorporated | Application window position and size control in (multi-fold) multi-display devices |
US20130120295A1 (en) * | 2011-11-16 | 2013-05-16 | Samsung Electronics Co., Ltd. | Mobile device for executing multiple applications and method for same |
US9043722B1 (en) * | 2012-06-19 | 2015-05-26 | Surfwax, Inc. | User interfaces for displaying relationships between cells in a grid |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177455A (en) * | 2019-12-31 | 2020-05-19 | 精英数智科技股份有限公司 | Method, device and equipment for determining cutting tooth load type of coal mining machine and storage medium |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150095842A1 (en) | Extendable blade sequence along pannable canvas direction | |
US11544257B2 (en) | Interactive table-based query construction using contextual forms | |
US11983166B1 (en) | Summarized view of search results with a panel in each column | |
US11615073B2 (en) | Supplementing events displayed in a table format | |
US11544248B2 (en) | Selective query loading across query interfaces | |
US10261660B2 (en) | Orbit visualization animation | |
US7739622B2 (en) | Dynamic thumbnails for document navigation | |
US20130332865A1 (en) | Activity initiation and notification user interface | |
US8572500B2 (en) | Application screen design allowing interaction | |
EP3127013B1 (en) | Service gallery user interface presentation | |
US20170315707A1 (en) | Metadata-based navigation in semantic zoom environment | |
US20230359442A1 (en) | Code context assembly | |
US20110234637A1 (en) | Smart gestures for diagram state transitions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DANTON, STEPHEN MICHAEL;JOSHI, VISHAL R.;ANAND, KARANDEEP SINGH;AND OTHERS;SIGNING DATES FROM 20140630 TO 20140807;REEL/FRAME:033491/0490 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417 Effective date: 20141014 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454 Effective date: 20141014 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |