CN101675425A - Live companion window - Google Patents

Live companion window Download PDF

Info

Publication number
CN101675425A
CN101675425A CN200880014416A CN200880014416A CN101675425A CN 101675425 A CN101675425 A CN 101675425A CN 200880014416 A CN200880014416 A CN 200880014416A CN 200880014416 A CN200880014416 A CN 200880014416A CN 101675425 A CN101675425 A CN 101675425A
Authority
CN
China
Prior art keywords
application program
user interface
data
data content
window
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.)
Granted
Application number
CN200880014416A
Other languages
Chinese (zh)
Other versions
CN101675425B (en
Inventor
G·P·莫罗米萨托
N·B·埃德尔斯坦
A·G·班达拉卡
R·E·奥奇
A·V·帕拉斯尼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101675425A publication Critical patent/CN101675425A/en
Application granted granted Critical
Publication of CN101675425B publication Critical patent/CN101675425B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Abstract

A kind of apparatus and method provide via the companion window corresponding to the main window that primary application program provided and follow application program, and this companion window provides a description the information or the metadata of the data in the main window.Primary application program can be an application program separately with following application program, so that primary application program does not know to follow application program.Follow application program can hook into primary application program (for example via application programming interface), and can monitor primary application program activity and/or data.Based on the sign of data in the primary application program or incident, follow application program can obtain to characterize data that primary application program provides or the contextual information that these data are provided.Main window and companion window can be attached to each other, and main window provides the primary application program data and companion window provides a description the data of these primary application program data.

Description

Live companion window
Background
The computer user can visit mass data on its computing machine.For example, the user may wish to obtain or visit storage data file on computers.In this case, the user can navigate and obtain the file of desired data file by a series of views.Though the user can select the desired data file folder, only provide file itself to the user to the selection of data file.Similarly, the user can navigate to interested particular webpage by the web browser.The selection such as elements such as hyperlink, application programs in this webpage is caused navigating to another website usually or starts selected application program.
Yet the user usually need be such as the additional informations such as additional contextual information that relate to the selected element in the application program.In many cases, this additional information that is associated with selected element can not usually obtain by selecting this yuan the user.Therefore, exist with the demand that makes things convenient for and mode provides the additional contextual information of selected data or application elements efficiently.
General introduction
Provide brief overview of the present invention below so that provide basic understanding to the reader.This general introduction is not an exhaustive overview of the present invention, and neither identifies key/critical element of the present invention, does not describe scope of the present invention yet.Its sole purpose is to be provided at this in simplified form to disclose some notions as the preamble in greater detail that provides after a while.
In one example, primary application program generates the main window comprise the data that this primary application program generates.Can generate the contextual additional information (for example metadata) that to describe data or the incident in the primary application program or these data or incident are provided with the application program of following that primary application program separates.In one example, follow application program to obtain this additional information but not create this additional information from the position that separates.Follow application program can further generate the companion window that is attachable to main window.Companion window can comprise this additional information.
In another example, primary application program is not noted or is not noted following application program basically, so that performed action or incident do not influence primary application program in fact in following application program.In this example, follow application program can hook into primary application program monitoring the data in the primary application program, and primary application program does not monitor and follow application program.Primary application program and follow in the application program each to generate and the explicit user interface, as comprise the window of corresponding information.These windows can be attached to each other.
Many attendant features will also be understood in conjunction with the accompanying drawings and better will be familiar with along with the reference following detailed.
Accompanying drawing is described
Read following detailed description the in detail with reference to the accompanying drawings, will understand the present invention better, in the accompanying drawings:
Fig. 1 illustrates the example of the suitable computingasystem environment that is used to provide live companion window.
Fig. 2 illustrates an example of the system that is used to generate the information that relates to interested data or metadata.
Fig. 3 is the process flow diagram that sign is shown and/or obtains an example of metadata.
Fig. 4 is the process flow diagram that the example of the additional information that generates data content and provide a description or characterize these data is shown.
Fig. 5 is the process flow diagram that another example of the method that is used to provide data is shown.
Fig. 6 illustrates to connect primary application program and follow the process flow diagram of application program with example that data are provided.
Fig. 7 is the process flow diagram that the example of the window that attached and/or modification and different application program be associated is shown.
Fig. 8 illustrates the example as the window of the user interface of primary application program.
Fig. 9 illustrates the example of the main window with attached companion window.
Figure 10 illustrates the example of the companion window with metadata.
Figure 11 illustrates another example of companion window.
Figure 12 illustrates the example of the main window of the companion window with reformatting.
Figure 13 illustrates another example of the main window with folding companion window.
Use identical Reference numeral to refer to identical part in the accompanying drawing.
Describe in detail
The detailed description that provides below in conjunction with accompanying drawing is intended to as the description to this example, but not expression is used to explain or utilize unique form of this example.The sequence of steps that this instructions is set forth the function of this example and is used to construct and operate this example.Yet identical or equivalent function can be realized by different examples with sequence.System described herein is as example and unrestricted providing.It will be apparent to one skilled in the art that this example is suitable for using in various dissimilar computing systems.
Fig. 1 illustrates wherein, and computing subsystem can provide the suitable computingasystem environment of processing capacity or the example of architecture.This computingasystem environment is an example of suitable computing environment, and is not intended to usable range of the present invention or function are proposed any restriction.This computing environment should be interpreted as that the arbitrary assembly shown in the exemplary operation environment or its combination are had any dependence or requirement yet.
Method disclosed herein or system can be with multiple other universal or special computingasystem environment or configuration operations.The example that is fit to known computing system, environment and/or the configuration of use in the present invention comprises, but be not limited to, personal computer, server computer, hand-held or laptop devices, multicomputer system, the system based on microprocessor, set-top box, programmable consumer electronics, network PC, minicomputer, mainframe computer, comprise any the distributed computing environment etc. in said system or the equipment.
This method or system can describe in the general context of the computer executable instructions of being carried out by computing machine such as program module etc.Generally speaking, program module comprises the routine carrying out particular task or realize particular abstract, program, object, assembly, data structure etc.This method or system also realize in the distributed computing environment of task by the teleprocessing equipment execution that links by communication network therein.In distributed computing environment, program module can be arranged in the local and remote computer-readable storage medium that comprises memory storage device.
With reference to figure 1, the example system that is used to realize this method or system comprises the universal computing device of computing machine 102 forms.The assembly of computing machine 102 can include, but not limited to processing unit 104, system storage 106 and will comprise that the various system components of system storage are coupled to the system bus 108 of processing unit 104.System bus 108 can be any in the bus structure of several types, comprises memory bus or memory controller, peripheral bus and uses any local bus in the various bus architectures.As example but not the limitation, such architecture comprises ISA(Industry Standard Architecture) bus, MCA (MCA) bus, enhancement mode ISA (EISA) bus, Video Electronics Standards Association's (VESA) local bus and peripheral component interconnect (pci) bus (being also referred to as interlayer (Mezzanine) bus).
Computing machine 102 generally includes various computer-readable mediums.Computer-readable medium can be can be by any usable medium of computing machine 102 visit, and comprises volatibility and non-volatile media, removable and removable medium not.As example but not the limitation, computer-readable medium can comprise computer-readable storage medium.Computer-readable storage medium comprises the volatibility that realizes with any method or the technology that is used to store such as information such as computer-readable instruction, data structure, program module or other data and non-volatile, removable and removable medium not.Computer-readable storage medium comprises, but be not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical disc storage, tape cassete, tape, disk storage or other magnetic storage apparatus, maybe can be used to store information needed and can be by any other medium of computing machine 102 visits.Arbitrary combination also should be included within the scope of computer-readable recording medium in above-mentioned.
System storage 106 comprises the computer-readable storage medium of volatibility and/or nonvolatile memory form, as ROM (read-only memory) (ROM) 110 and random-access memory (ram) 112.Basic input/output 114 (BIOS) comprises that it is stored among the ROM 110 usually as help the basic routine of transmission information between the element in computing machine 102 when starting.RAM 112 comprises processing unit 104 usually can zero access and/or present data and/or program module of just operating on it.And unrestricted, Fig. 1 illustrates operating system 132, application program 134, other program module 136 and routine data 138 as example.
Computing machine 102 also can comprise other removable/not removable, volatile/nonvolatile computer storage media.Only as example, Fig. 1 shows and reads in never removable, the non-volatile magnetic medium or to its hard disk drive that writes 116, from removable, non-volatile magnetic disk 120, read or to its disc driver that writes 118, and from such as reading removable, the non-volatile CDs 124 such as CD ROM or other optical medium or to its CD drive that writes 122.Other that can use in the exemplary operation environment be removable/and not removable, volatile/nonvolatile computer storage media includes but not limited to tape cassete, flash card, digital versatile disc, digital recording band, solid-state RAM, solid-state ROM or the like.Hard disk drive 116 usually by such as interface 126 grades not the removable memory interface be connected to system bus 108, and disc driver 118 and CD drive 122 are usually by being connected to system bus 108 such as removable memory interfaces such as interface 128 or 130.
More than discuss and driver shown in Figure 1 and the computer-readable storage medium that is associated thereof provide storage to computer-readable instruction, data structure, program module and other data for computing machine 102.In Fig. 1, for example, hard disk drive 116 is illustrated as storage operating system 132, application program 134, other program module 136 and routine data 138.Noticing that these assemblies can be identical or different with additional operations system, application program, other program module and routine data, for example is any different copies of these elements.The user can pass through input equipment, such as keyboard 140 and pointing device 142 (being commonly referred to as mouse, tracking ball or touch pads) to computing machine 102 input commands and information.Other input equipment (not shown) can comprise microphone, operating rod, game paddle, pen, scanner or the like.These and other input equipment is connected to processing unit 104 by the user's input interface 144 that is coupled to system bus usually, but also can be connected such as parallel port, game port or USB (universal serial bus) (USB) by other interface and bus structure.The display device of monitor 158 or other type is connected to system bus 108 also via interface such as video interface or graphical display interface 156.Except that monitor 158, computing machine also can comprise other peripheral output device, and as loudspeaker (not shown) and printer (not shown), they connect by output peripheral interface (not shown).
Computing machine 102 can use to one or more remote computers, is connected in the networked environment as the logic of remote computer and operates.Remote computer can be personal computer, server, router, network PC, peer device or other common network node, and generally comprises top with respect to computing machine 102 described many or whole elements.Logic shown in Fig. 1 connects and comprises Local Area Network 148 and wide area network (WAN) 150, but also can comprise other network.Such networked environment is common in office, enterprise-wide. computer networks, Intranet and the Internet.
When using in the LAN networked environment, computing machine 102 is connected to LAN 148 by network interface or adapter 152.When using in the WAN networked environment, computing machine 102 generally includes modulator-demodular unit 154 or is used for by setting up other device of communication such as WAN such as the Internet 150.Modulator-demodular unit 154 can be internal or external, and it can be connected to system bus 108 via user's input interface 144 or other suitable mechanism.In networked environment, can be stored in the remote memory storage device with respect to computing machine 102 described program modules or its part.And unrestricted, remote application can reside on the memory devices as example.It is exemplary that network shown in being appreciated that connects, and can use other means of setting up communication link between computing machine.
Described and be used for data being provided and method and system corresponding to the additional information of these data being provided in second user interface to the user such as first user interfaces such as windows.First user interface and the data that wherein comprised can be generated by first application program, and the additional information in second user interface can be generated by second application program.First application program can be different application programs with second application program.For example, second application program can be to separate and different application programs with first application program, and can be included in when carrying out and make second application program hook into the executable code of first application program.In this example, second application program can monitor the data that first application program and first application program are provided.Second application program can realize in various manners to the supervision of first application program.For example, supervision can comprise observation and/or follow the tracks of in first application program action or the incident that institute takes or carries out.Second application program can also be observed or follow the tracks of because of one or more actions that take place in first application program or incident produced, first application program is generated data.Based on the observation of second application program to the incident in first application program, action or the data that generated, second application program can generate, obtains, identifies or retrieve additional data.This additional data can be to have any different or different data with the data that first application program is generated, and can describe or characterize incident, action in first application program or the data that generated.In another example, second application program can be observed incident, action in first application program or the data that generated via the 3rd application program.For example, second application program can monitor the monitor application (for example file system viewer) of incident, the action that can observe in first application program or the data that generated.Second application program can receive from this monitor application to be upgraded or event information.In this example, second application program does not directly monitor or observes first application program.On the contrary, monitor application can be observed the incident at the first application program place and be generated the information that relates to these incidents.This information is available to second application program.
Therefore, based on the data that first application program or first application program are provided, second application program can obtain additional data or information, and this additional data or information can be provided in second user interface.In one example, second application program can obtain this information from the operating environment that first and/or second application program is moved therein.Can further select from the information that operating environment obtains based on any action or incident from first application program.In another example, second application program is from data description that operating environment obtained or characterize the data that first application program is provided, but the data that provided with first application program are different.Therefore, in this example, the data that first application program is provided do not comprise the information that second application program is provided, and the information that second application program is provided does not comprise the data that first application program is provided.
In another example, second application program hooks into first application program and monitors first application program, yet first application program is independent of second application program and operates.Be independent of under the situation that second application program operates in first application program, action that second application program is performed or incident do not influence action or the incident that take in the first application program place in fact.Therefore, for example, if second application program has been carried out order and first application program is independent of second application program and operates or operate, then first application program is not performed as the order at the second application program place in fact and carries out each action or other function in an identical manner.In other words, first application program is independent of second application program and operates the situation that the wherein activity of first application program that refers to is not subjected to the influence of any activity that the second application program place carries out in fact.Equally, operate, then remove second application program and first application program is not caused materially affect if first application program is independent of second application program.
Alternatively or additionally, when second application-monitoring, first application program, second application program can not noted or do not noted basically to first application program.In one example, first application program do not note or do not note second application program basically, refers to the state that second application program is not known or do not known basically to first application program wherein.By not knowing second application program, first application program does not just exist as second application program and/or is not carrying out or operating and carry out any function.First application program is not noted or is not noted basically under the situation of second application program therein, and it is minimum or non-existent to the influence of any aspect of first application program that second application program can be removed and remove second application program by integral body.In another example, first application program is not noted second application program, but comprises the instruction that receives from second application program.
Equally, in this example, second application program can monitor first application program, activity that second application program wherein knows that first application program is performed and/or incident are provided and can know that first application program generates and/or export or the situation of data presented.Simultaneously, first application program is not noted second application program basically, action/incident that any information that the application program of winning may not know basically that second application program is provided or the second application program place are carried out.
Alternatively or additionally, first application program can be observed or monitor to second application program, but uncontrollable or otherwise revise first application program.In this example, second application program can monitor the information that first application program is generated, but does not change the information that is generated.Second application program can be based on generating additional information and the additional information that is generated is offered the user from the observed generation information of first application program.Yet in this example, second application program is not controlled, is revised or otherwise influences the information that first application program is generated.Equally, first application program cannot be controlled the additional information that second application program is generated.In addition, first application program also may not noted second application program, the additional information that makes the application program of winning not know that basically second application program is generated basically.In this example, the influence of performed activity of first application program and the function existence, disappearance or the operation that are not subjected to second application program.
In another example, second application program hooks into first application program via application programming interface.First application program can comprise such as application programming interface interfaces such as (API), and second application program can be passed through this interface accessing first application program.For example, second application program can be carried out and come via API (or by any other means) visit first application program with the information of acquisition about the characteristic of the one side of first application program, the data, the state of first application program or the context of first application program that generate or export such as, but not limited to first application program.
Fig. 2 illustrates an example of the system that is used to generate the information that relates to interested data or metadata.This system can comprise can receive the input 205 of importing etc. the input of any kind such as the user.For example, the user can be via input 205 to this system's input command, to be used to carry out action or incident or selection information.In one example, can show on display device that selective listing and user can select an item or selection from this shows.
Processor 204 can receive input commands and deal with data correspondingly via input 205.In one example, this system comprises the host application module 202 that is used to carry out primary application program.Primary application program can be any amount of types of applications that is used to provide data or information.For example, primary application program can comprise the application program of the demonstration that is used to provide file, action item, calendar information, Email Information etc.Primary application program can provide any relevant information.Host application module 202 can be carried out with the generation relevant information, and can further be provided for providing the user interface of this relevant information.Processor 204 can indicate host application module 202 that relevant information and user interface are provided.In addition, from the information of host application module 202 can be further from processor 204 be forwarded to data module 206 with format, adjustment etc., and can further export via output 207.
This system also can comprise be used to obtain and additional information is provided follow application program module 203.The additional information of following application program module 203 to be provided can be selected based on the information that host application module 202 is generated.In addition, this additional information can be positioned at any amount of data source and maybe can obtain from any amount of data source.For example, follow application program module 203 can from operating environment 201, locate and acquired information.
Follow application program module 203 additional information to be included in the data output via data module 206 and output 207.This additional information can comprise the information of the relevant any kind of the information that generated with host application module 202.For example, host application module 202 can generate and comprise the file that is stored on the computing equipment or the data of listed files.The user can be via input 205 selections of importing required file or file, and this selection can further have processor 204 to handle.Select input based on this, processor 204 can be controlled host application module 202 and select required selection.For example, host application module 202 is selected user-selected required file or file.
Follow application program module 203 can carry out to monitor host application module 202.In this example, follow application program module 203 to hook into application program, so that this activity and/or incident of following application-monitoring to carry out in host application module 202 places.Follow application program can monitor interested any element or assembly in the primary application program.For example, the file of following application program can the monitor application process to be generated maybe can monitor the assembly or the incident of itself separating with this program process.In addition, follow application program module 203 can also monitor the data that host application module 202 is generated.In this case, host application module 202 is selected required file.Follow application program module 203 can detect the selection of host application module 202, and can further obtain such as the additional informations such as metadata that relate to required file.Follow application program module 203 to obtain additional information or metadata with any amount of mode.For example, follow application program module 203 to obtain information needed, and the information needed that is obtained can be offered processor 204 and/or data module 206 from operating environment 201.This information needed can be exported via output 207.
Alternatively or additionally, host application module 202 can not note following application program module 202, so that action that carry out in host application module 202 places or the data that generated are not subjected to the influence in the movable or action of following application program module 203 places to carry out.On the contrary, follow application program module 203 to monitor the movable of host application module 202 places and/or the data that generated.Therefore, in this example, follow application program module 203 to know (maybe can note) host application module 202.
Fig. 3 is the process flow diagram that sign is shown and/or obtains an example of metadata.Can on equipment, show the data that comprise interested any relevant information.These data can further show in user interface.For example, can on display device, show window corresponding to application program.This window can comprise such as information such as the file that comprises on the computing system, the webpage that comprises the element (for example hyperlink, other application program, graph image etc.) of any amount or type, contacts list, calendar information, appointment, image, listed files.
Can receive selection (step 301), as the component as shown in selecting in the data as shown on the slave unit.This selection can be corresponding to the selection to the relevant information of shown file, hyperlink, contact person or any kind, and can comprise any action in first window.For example, this action can comprise and cursor or mouse moved to the specific part of first application window and non-actual selection or activate mouse.
Can determine existence or availability (step 302) corresponding to the metadata of shown data.If there is not metadata can use (the "No" branch of step 302), then this process finishes (step 305), otherwise, receive (step 303) and show (step 304) associated metadata.In this example, metadata comprises description, characterizes other data, or contextual any information of other data is provided.Therefore, this metadata comprises the information that any action of taking in any data that first application program generates or provide or first application program or carrying out is provided.
For example, first application program can be carried out the selective listing of wanting selecteed element to provide.Reception is to one selection (step 301) in selecting from these of element list.Metadata (that is, describing the information of the each side of other data) can be identified by second application program.Can be different with first application program, separate and/or second application program distinguished can be carried out to monitor, to observe or follow the tracks of the data that first application program and/or first application program generate or provide.Whether second application program can be determined corresponding to from available from the metadata of selected element the element list of first application program.In one example, sign and location metadata in the operating environment that first application program and/or second application program are carried out therein.This operating environment can comprise any computing equipment, operating system, peripherals, remote equipment etc.Second application program can obtain metadata (step 303) and can further show this metadata (step 304).
Second application program can further show this metadata, is generated and data presented to describe, to characterize first application program in the user interface of separating, or the context of these data is provided.For example, second application program be separate with first application program, different and the difference application program, wherein each in first application program and second application program all generates user interface.Second application program can comprise its execution makes second application program hook into the executable code of first application program.After second application program hooked into first application program, second application program can provide user interface with the first application program cooperation.In this example, the action of second application-monitoring, first application program, but first application program does not monitor the action of second application program.For example, first application program can not noted second application program, the action and/or the incident that make the application program of winning not know that second application program is performed.
Therefore, in this example, first application program generates data and is used to provide the user interface of the data that generated., the difference different with first application program and second application program of separating can hook into first application program, and can monitor action performed in first application program or incident.Equally, the data that first application program is generated can be observed or follow the tracks of to second application program.Based on first application program generate and by second application program observed/data of following the tracks of, the metadata that the data that second application program can locate and/or obtain to be generated with first application program are associated.This metadata can comprise description, characterize the data that first application program is generated, or contextual any information of these data is provided.
In addition, second application program can generate the user interface that first user interface that generated with first application program is separated and distinguished.Second application program also can provide metadata (that is, describing first application program data that generated and/or the data that first application program is provided in first application program user interface).Second application program can provide this metadata in the user interface that this second application program is generated.
Equally, the user interface that generated of first application program can connect or be attached to the user interface that second application program is generated.As described in more detail below, the user interface that generated of the user interface that generated of first application program and second application program can be adjacent one another are or be attached to each other and goes up.Equally, each user interface can be nonoverlapping, so that the part of any in each user interface is not blocked any part of another user interface.These user interfaces can be adjacent one another are and be connected or be attached to each other and go up.In addition, as described in more detail below, can carry out these two user interfaces as individual unit to any the modification in each user interface.
Fig. 4 is the process flow diagram that the example of the additional information that generates data content and provide a description or characterize these data is shown.In this example, primary application program and follow application program to generate or obtain data content.In step 401, follow application program to carry out.Follow the execution of application program to comprise and for example monitor primary application program (step 402), as detecting action or the incident that in primary application program, is taken place.Equally, following the execution of application program to comprise follows application program that the data (step 403) that primary application program generated or provided are provided.
In another example, follow the application-monitoring primary application program, but do not change or revise primary application program.For example, the executable code that is associated with primary application program does not change with respect to the existence of following application program or movable the maintenance.In another example, primary application program does not note following application program.For example, primary application program can follow application program not exist or inactive situation under running in a predefined manner, and can follow application program to exist or movable situation under with same predetermined way running.
If follow application program to detect data (the "Yes" branch of step 403) in the primary application program, then follow application program can obtain metadata corresponding to detected data in primary application program.Follow application program to obtain this metadata from any amount of source.For example, follow application program from primary application program and/or the operating environment of following application program to move therein, to locate and/or to obtain this metadata.
Follow application program can be further based on the detection from the detected data of primary application program is generated data content (step 405).Can further export to the user or can store when needed from following the application's data content.The data content of following application program to generate can comprise the information based on the metadata that obtains from operating environment.For example, this data content can comprise and tabulation from the relevant theme of at least a portion of the detected data of primary application program, people, object, entity etc.
Fig. 5 is the process flow diagram that another example of the method that is used to provide data is shown.In this example, primary application program is carried out to generate interested data (step 501).The interested data that generate from primary application program can comprise any data, such as the file of for example being stored, associated person information, calendar or Email Information, such as web relevant informations such as hyperlink, or the like.Equally, can carry out the application program of following that to separate with primary application program and to distinguish and generate additional data (step 502).This additional data can comprise for example metadata, this metadata description, the state that characterizes the data that primary application program generated, content or to the selection of these data, or the context that these states, content is provided or selects.
But primary application program and follow each self-generating of application program such as user interfaces (step 503) such as windows.In this example, primary application program and the window of following each self-generating of application program to separate and distinguish wherein follow application window (" companion window ") to be attached to main application window (" main window ") (step 504).Companion window can be attached to main window so that be applied in companion window or the main window any action or revise and all to make this action or modification be applied to this two windows.For example, if main window maximizes size on display, then make amendment so that the proportional sizes of main window and companion window keeps the same basically on each comfortable ratio of main window and companion window, and the combination of main window and companion window is maximized to the size of the viewing area that wherein shows main window and companion window (or combination of these two windows).
In addition, can in main window, show or export the data that primary application program generated, and can in companion window, show or export the metadata (step 505) of following application program to obtain or generate.The data that primary application program generated can be different with the metadata of following application program to obtain or generate basically.Therefore, in this example, the data that primary application program generated can not comprise any metadata of following application program to obtain or generate, and the metadata of following application program to obtain or generate any data that can not comprise primary application program and generated.
Fig. 6 illustrates to connect primary application program and follow the process flow diagram of application program with example that data are provided.In this example, primary application program is carried out to generate such as user interfaces (step 601) such as windows.This user interface may be displayed on the display device.Equally, follow application program also can carry out (step 602) to generate the corresponding user interface of following.Follow application program can further hook into primary application program (step 603).For example, primary application program can comprise application programming interface (API) and follow application program can visit this API of primary application program to hook into primary application program.Follow application program can further monitor primary application program, and primary application program can not note following application program.Additionally or alternatively, primary application program can be independent of follows application program to operate, so that the influence of the running of application program is not followed in the running of primary application program.
Follow application program further to generate to relate to the additional information of the data that primary application program generates.For example, follow application program that the data that primary application program generates and/or provides can be provided, and, follow application program (for example from operating environment) to locate and/or to obtain additional information based on detected data.This additional information can comprise that description is from the detected data of primary application program or the contextual metadata of these data is provided.This additional information (for example metadata) can be exported to the user.For example, can display additional information (step 605).
Fig. 7 is the process flow diagram that the example of the window that attached and/or modification and different application program be associated is shown.In step 701, main application window is attached to follows application window.In this example, companion window is attached to main window, comprises the combination window of companion window and main window with formation.Companion window can be adjacent with main window, can be attached to main window, and can share a face with main window.For example, main window can have left side, right side, top side and bottom side.Companion window also can have left side, right side, top side and bottom side.Companion window can be adjacent with main window and be connected to main window, so that the left side of companion window contacts with the right side of main window.Equally, in this example, main window and companion window are to contact but nonoverlapping.When main window and companion window were not overlapping, main window was not blocked by companion window.Equally, companion window is not blocked by main window.Notice that more than describing only is an example, and the either side of companion window can link to each other to be attached in the combination window with the either side of main window.
In step 702, show combination window.Equally, combination window can be used as individual unit and changes or revise, so that one modification in the component of combination window be can be applicable to other component of this combination window.For example, combination window can comprise the main window that is attached to companion window.The user can move to the second place on the display from the primary importance on the display with main window.In this example, the main window of combination window is moved cause following of companion window mobile.Main window and companion window moves or otherwise before and after when being modified or revising, main window and companion window move, change or revise in substantially similar mode.Therefore, in the combination window that is modified before and after main window and the companion window, main window and companion window are in operation of individual unit place or modification therein, and change is applied to main window and companion window in proportion in this process.
In step 703, receive input at the main application window place.For example, the user can select from the choice menus that main application window provides.This selection can comprise the element of any amount or type.For example, this selection can be the selected file folder of the data file that can comprise on the computing system to be stored.This selection can also be the selection to the item in the contact person on website, the contacts list, " waiting to do " tabulation, the appointment on the calendar etc.Any selection can provide in main application window and can be selected.
In step 704, follow application program can detect input or selection in the primary application program.For example, the user can select element from the element list that primary application program generated or obtained.Follow application program can detect this user and select, and select, follow the additional information that application program can be located and/or sign is associated with selected item in the primary application program, as metadata based on this.For example, this selection can comprise the file of data file.Follow application program this selection can be designated the file of data file, and can further locate the information that is associated with this document folder.In one example, follow application program in operating environment, to locate and relate to the additional information that this document presss from both sides.The additional information that identifies or locate can be provided by primary application program visit or provide.Equally, primary application program can not know to follow the action or the incident (for example, located additional information) of application program place execution.So, primary application program can not note following application program.In this example, a data content that obtains or locate can comprise the additional information that is associated with the selected file folder to follow application program.For example, having can be by following application program to obtain to the user's of the access rights of this document folder identity, and can be is further providing in the User Interface (for example companion window) or export corresponding to following.Follow application program can obtain and provide a description data (for example file) similarly or contextual any additional information of these data is provided from primary application program.
In another example, can revise the additional information of following application program in companion window, to be provided.For example, this information can change and renewal in real time with the situation that relates to selected data in the primary application program.Equally, the change of the selected data in the context of additional data that companion window is provided can not noted or not know to primary application program.In this example, follow application program to hook into primary application program and comprise the companion window of describing the selected data in the main application window or the contextual additional information of these data otherwise being provided to provide via API.Equally, the additional data that is provided in the companion window can be based on upgrading the change of the data in the primary application program, and primary application program can not note or not know following the existence or the activity of application program.In another example, the change to the data in the primary application program can not noted or not know to primary application program.
Fig. 8 illustrates the example as the window of the user interface of primary application program.In this example, primary application program can comprise explorer, yet, can use any primary application program that user interface can be provided.For example, primary application program can be browser, word processing file, electronic form document etc.In the example depicted in fig. 8, window 801 comprises each icon corresponding to the file of the data of being stored on the computing system.For example, a data file that provides in the window 801 of primary application program is the file that comprises " Pictures (picture) " 802.
Fig. 9 illustrates the example of the main window 801 of the Fig. 8 with attached companion window 902.In this example, primary application program generates data and main window 801.Primary application program is exported in main window 801 or is shown the data that generated.As shown in Figure 9, the data that primary application program generated comprise the file that is entitled as " Pictures " 901.File 901 is presented in the main window 801.
Equally, companion window 902 can be by following application program to generate.Primary application program can separate and distinguishes with following application program, and can be independent of and follow the data that application program or companion window 902 generate to be provided in main window 801 and the main window 801.For example, application program can not noted or do not noted following basically to primary application program, so that safeguarding in the state of action performed in the primary application program or incident and the main window 801 with identical or substantially the same state is provided or data presented, and no matter follow the state of application program or companion window 902.
In the example depicted in fig. 9, follow application program to generate companion window 902.Equally, companion window 902 is attached or is connected to main window 801, and the information that provides at least a portion of the data that generate with primary application program and provide in main window 801 to be associated.In this example, " Pictures " file 901 in the selection main window 801.Follow application program can hook into primary application program, and monitor primary application program and the selection that detects file 901.Based on selection, follow application program to obtain to describe the additional data of selected file folder 901 to Pictures file 901.For example, follow application program can from operating environment, locate or receive this additional data.
Equally as shown in Figure 9, follow application program in companion window 902, to show to comprise the additional data of the metadata of describing the selected data (for example " Pictures " file 901) in the main window 801.As implied above, companion window 902 can be attached or be connected to main window 801, so that to the manipulation of main window 901 or revise and can be applied to companion window 902 pari passu.For example, adjust main window 801 size, minimize or maximize main window 801 and can in companion window 902, produce equivalent or pro rata modification.Therefore, in this example, can carry out that front and back are revised, moved to main window 801 and companion window 902 etc.
Companion window 9002 can comprise such as any relevant informations such as metadata, this metadata description, the state that the data that provided in the main window 801 are provided, content or to the selection of these data, or the context that these states, content is provided or selects.Figure 10 illustrates companion window and the example of the metadata that wherein comprised.In this example, companion window 1001 comprises title or other identifier of the selected data in the main window.In this case, selected data is " Pictures " file 901 that shows in the main window 801 of Fig. 9.Companion window 1001 is attachable or be connected to main window 801, so that the one side adjacency of face of companion window 1001 and main window.In this example, companion window and main window are attached but are not overlapping.
In the example of companion window shown in Figure 10, companion window 1001 can further comprise member's name or identifier.In this example, the member's name that is identified can be corresponding to the individual that can visit to share particular data.In this example, the member who shares the visit of " Pictures " file 901 can list in companion window.
Additionally or alternatively, companion window can comprise the list of devices that can visit or be authorized to access particular data.For example, the user can have a plurality of equipment (for example, home computer and working computer).Can in companion window, list any in a plurality of equipment that to visit specific data.Any additional information that can comprise the selected data that relates in the main window in the companion window.
Figure 11 illustrates another example of companion window.In this example, companion window 1101 comprises member's tabulation of sharing the visit of selected data, and selected data is from primary application program.Primary application program also can not know to follow application program, so that primary application program operates in substantially similar mode, and no matter follow application program that what is done or even no matter follow whether application program exists, movable or operation.
In addition, can provide companion window with various forms.For example, companion window can be modified to different sizes and provide additional space with other the shown component (as main window) on display.Figure 12 illustrates the example of Fig. 9, and wherein companion window 1201 sizes reduce, and each element is shown as icon in the companion window that this reduces.Figure 13 illustrates the example of Fig. 9, and wherein the companion window size is further reduced to make companion window 1301 to be folded.Folding companion window 1301 can further provide the indication of the state of companion window 1301, for example the color by the folding companion window 1301 of change, pattern, shade, tone etc.The companion window (1201,1301) through change of Figure 12 or Figure 13 can further recover back normal size and demonstration.For example, the selection to the icon in the companion window 1201 of Figure 12 can turn back to original scale with companion window and main window.
The each side that is appreciated that this instructions can be taked various ways and embodiment.Each embodiment shown here is intended to illustration and unrestricted instructions, is appreciated that can make modification and do not deviate from the spirit and scope of the present invention.Though illustrate and described each illustrative embodiment, above-mentionedly openly mean various modifications, change and replacement, and can adopt some feature in some cases and do not use further feature accordingly.Therefore, be appreciated that appended claims is intended to broadly and to explain with the corresponding to mode of scope of the present invention.

Claims (20)

1. one or more computer-readable mediums that comprise the executable code that is used to carry out following steps, described step comprises:
Show first user interface that comprises corresponding to first data content of first application program in the operating environment, described first application program is controlled described first data content; And
Show second user interface that comprises corresponding to second data content of second application program, the described operating environment of described second application access is to generate described second data content, and wherein said second data content is described described first data content.
2. computer-readable medium as claimed in claim 1 is characterized in that, described second user interface is attached to described first user interface.
3. computer-readable medium as claimed in claim 1 is characterized in that, described first application program of described second application-monitoring.
4. computer-readable medium as claimed in claim 3 is characterized in that, described first data content is different with described second data content.
5. computer-readable medium as claimed in claim 3 is characterized in that, described first application program is independent of described second application program and operates.
6. computer-readable medium as claimed in claim 3 is characterized in that described user interface is a window.
7. computer-readable medium as claimed in claim 3 is characterized in that, described second application program is not revised described first application program.
8. computer-readable medium as claimed in claim 7 is characterized in that, described second application program comprises first executable code, and described second application program hooks into described first application program via this first executable code.
9. computer-readable medium as claimed in claim 1 is characterized in that, also comprises the executable code that is used to carry out following steps:
Receive incoming event at the described first application program place;
Detect described incoming event via described second application program;
Described second application program generates described second data content based on the described incoming event at the described first application program place in described second user interface.
10. computer-readable medium as claimed in claim 1 is characterized in that, described first application program comprises application programming interfaces, and wherein said second application program is visited described first application program via these application programming interfaces.
11. computer-readable medium as claimed in claim 10, it is characterized in that, comprise the executable code that is used to carry out following steps: described second application program is determined the characteristic that is associated of described first data content via the application programming interfaces of described first application program.
12. computer-readable medium as claimed in claim 11 is characterized in that, described second application program generates described second data content based on the characteristic that is associated of described first data content.
13. computer-readable medium as claimed in claim 12 is characterized in that, the described characteristic that is associated comprises the state, context of at least a portion of described first data content or in its selection at least one.
14. a method that is used to provide user interface comprises:
First application program shows first user interface;
Second application program generates second user interface;
Generation comprises the combined user interface of described second user interface that is attached to described first user interface;
Show described combined user interface.
15. method as claimed in claim 14 is characterized in that, described combined user interface comprises that described first user interface is adjacent with described second user interface.
16. method as claimed in claim 15 is characterized in that, described first user interface and described second user interface in the described combined user interface are nonoverlapping.
17. method as claimed in claim 14 is characterized in that, also comprises:
Receive input command at the described first application program place;
Revise described combined user interface in response to described input command.
18. method as claimed in claim 17 is characterized in that, revises to comprise front and back described first user interface of modification and described second user interface.
19. a method that is used to provide context data comprises:
In operating environment, carry out first application program;
Generate first user interface in response to carrying out described first application program, described first user interface comprises first data content that is associated with described first application program;
Carry out second application program to generate second user interface, described second application program obtains the data that are associated with described first data content from described operating environment and based on generating second data content from the data that described operating environment obtained, described second data content is different with described first data content;
Show the combined user interface comprise and described first user interface that be attached to it adjacent with described second user interface;
20. method as claimed in claim 19 is characterized in that, described second application program hooks into described first application program, and described first application program is not basically by described second application modification.
CN2008800144161A 2007-05-04 2008-05-01 Live companion window Active CN101675425B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/744,782 US8677270B2 (en) 2007-05-04 2007-05-04 Live companion user interface
US11/744,782 2007-05-04
PCT/US2008/062240 WO2008137559A1 (en) 2007-05-04 2008-05-01 Live companion window

Publications (2)

Publication Number Publication Date
CN101675425A true CN101675425A (en) 2010-03-17
CN101675425B CN101675425B (en) 2013-03-27

Family

ID=39940474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800144161A Active CN101675425B (en) 2007-05-04 2008-05-01 Live companion window

Country Status (5)

Country Link
US (2) US8677270B2 (en)
EP (1) EP2143017A4 (en)
JP (1) JP2010527478A (en)
CN (1) CN101675425B (en)
WO (1) WO2008137559A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883184A (en) * 2010-06-23 2010-11-10 中兴通讯股份有限公司 Method for controlling application program display on mobile terminal and mobile terminal
CN102591650A (en) * 2010-12-27 2012-07-18 微软公司 Companion window experience
CN103098000A (en) * 2010-07-30 2013-05-08 诺基亚公司 Execution and display of applications
CN103548012A (en) * 2011-03-21 2014-01-29 亚马逊技术股份有限公司 Remotely emulating computing devices
US10013231B2 (en) 2011-06-29 2018-07-03 Amazon Technologies, Inc. Remote access to mobile communication devices

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677270B2 (en) 2007-05-04 2014-03-18 Microsoft Corporation Live companion user interface
US8954507B2 (en) * 2007-06-22 2015-02-10 Microsoft Corporation Gathering and using awareness information
US20090112870A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Management of distributed storage
US8286199B1 (en) * 2008-08-22 2012-10-09 SmartVault Corporation Automated method for creating a graphical user interface for a document management system that is visually integrated with an application having limited native GUI-integration capabilities
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US20120290913A1 (en) * 2009-12-14 2012-11-15 Yosef Benraz Computerized tool, system and method for remote access to a computer program
US9811528B2 (en) 2010-12-09 2017-11-07 Yosef Benraz Systems and methods for providing continuing access to a remote computer program
US20120278747A1 (en) * 2011-04-28 2012-11-01 Motorola Mobility, Inc. Method and apparatus for user interface in a system having two operating system environments
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
KR20150081073A (en) * 2014-01-03 2015-07-13 삼성전자주식회사 Method for providing glance information, machine-readable storage medium and electronic device
USD774546S1 (en) * 2014-12-30 2016-12-20 Microsoft Corporation Display screen with icon
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US11310294B2 (en) * 2016-10-31 2022-04-19 Microsoft Technology Licensing, Llc Companion devices for real-time collaboration in communication sessions
WO2018116252A1 (en) 2016-12-21 2018-06-28 Wix.Com Ltd. Actionable widget cards
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US11256392B2 (en) 2019-11-01 2022-02-22 Microsoft Technology Licensing, Llc Unified interfaces for paired user computing devices
US11546391B2 (en) 2019-11-01 2023-01-03 Microsoft Technology Licensing, Llc Teleconferencing interfaces and controls for paired user computing devices
US11599364B2 (en) 2021-02-23 2023-03-07 Dell Products L.P. System and method for provide persistent companion software in an information handling system
US20220398056A1 (en) * 2021-06-14 2022-12-15 Microsoft Technology Licensing, Llc Companion devices as productivity tools

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0678812A1 (en) * 1994-04-20 1995-10-25 Microsoft Corporation Replication verification
US5978567A (en) * 1994-07-27 1999-11-02 Instant Video Technologies Inc. System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
JP3400193B2 (en) 1995-07-31 2003-04-28 富士通株式会社 Method and apparatus for displaying tree structure list with window-related identification icon
US5734380A (en) * 1996-09-27 1998-03-31 Adams; James S. Method for controlling the presentation of displays in a multi-window computer environment
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6029171A (en) * 1997-02-10 2000-02-22 Actioneer, Inc. Method and apparatus for group action processing between users of a collaboration system
US6028602A (en) 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
US7260610B2 (en) * 1998-02-10 2007-08-21 Gateway Inc. Convergence events notification system
US6446077B2 (en) * 1998-09-21 2002-09-03 Microsoft Corporation Inherited information propagator for objects
WO2000020966A1 (en) * 1998-10-02 2000-04-13 Fujitsu Limited Object cooperation device
US6728713B1 (en) * 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
US6401104B1 (en) 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
JP2001101190A (en) 1999-07-29 2001-04-13 Jisedai Joho Hoso System Kenkyusho:Kk Device and method for reception
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
JP4491902B2 (en) 2000-04-04 2010-06-30 ソニー株式会社 Interactive system with media contents using sliding graphic windows
US6760721B1 (en) * 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
US6760828B1 (en) * 2000-06-27 2004-07-06 Emc Corporation Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
WO2002059773A1 (en) 2000-12-04 2002-08-01 Thinkshare Corp. Modular distributed mobile data applications
US6954934B2 (en) * 2001-03-15 2005-10-11 Intel Corporation Management of links to data embedded in blocks of data
US7472396B2 (en) * 2001-05-18 2008-12-30 Qualcomm Incorporated Extensible event notification mechanism
US7409423B2 (en) 2001-06-28 2008-08-05 Horvitz Eric J Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US7207008B1 (en) * 2001-09-12 2007-04-17 Bellsouth Intellectual Property Corp. Method, system, apparatus, and computer-readable medium for interactive notification of events
US7117505B2 (en) * 2001-11-29 2006-10-03 Veritas Operating Corporation Methods, systems, and apparatus to interface with storage objects
WO2003054694A2 (en) 2001-12-18 2003-07-03 Becomm Corporation Method and system for attribute management in a namespace
US7146573B2 (en) * 2002-01-28 2006-12-05 International Business Machines Corporation Automatic window representation adjustment
US6922757B2 (en) * 2002-02-15 2005-07-26 Exanet Inc. Flexible and adaptive read and write storage system architecture
US6954543B2 (en) * 2002-02-28 2005-10-11 Ipac Acquisition Subsidiary I, Llc Automated discovery, assignment, and submission of image metadata to a network-based photosharing service
WO2003085525A2 (en) 2002-04-02 2003-10-16 Collabo-Technology, Inc. Method and apparatus for synchronous project collaboration
US7191217B2 (en) * 2002-04-10 2007-03-13 Nippon Telegraph And Telephone Corporation Distributed server-based collaborative computing
US20030217098A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20030220966A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation System and method for dynamic content dependent conflict resolution
CA2515488C (en) 2003-02-10 2013-04-16 Raindance Communications, Inc. Methods and apparatus for providing egalitarian control in a multimedia collaboration session
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
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
US7904323B2 (en) 2003-06-23 2011-03-08 Intel Corporation Multi-team immersive integrated collaboration workspace
US7111229B2 (en) * 2003-06-25 2006-09-19 Yahoo! Inc. System and method for providing a webpage
US7512884B2 (en) * 2003-06-25 2009-03-31 Microsoft Corporation System and method for switching of media presentation
US20050039139A1 (en) * 2003-08-12 2005-02-17 Solance Technologies, Inc. Linked two-paned user interface for selecting and administering objects within a computer system
JP4504643B2 (en) 2003-08-22 2010-07-14 日本放送協会 Digital broadcast receiving apparatus and content reproduction method
US20050086384A1 (en) * 2003-09-04 2005-04-21 Johannes Ernst System and method for replicating, integrating and synchronizing distributed information
US7734690B2 (en) * 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US20050114790A1 (en) * 2003-11-24 2005-05-26 Christopher Dunbar User interface
US8250150B2 (en) * 2004-01-26 2012-08-21 Forte Internet Software, Inc. Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network
US20050203935A1 (en) * 2004-03-11 2005-09-15 International Business Machines Corporation Clipboard content and document metadata collection
SE528570C2 (en) 2004-04-08 2006-12-19 Abb Research Ltd Method, device and system for establishing a wireless connection between a laptop device with a first application to second devices by means of a second application
US7434173B2 (en) * 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US7788144B2 (en) * 2004-09-01 2010-08-31 Microsoft Corporation System and method for storing and presenting images and related items to a user
US7778984B2 (en) * 2004-11-19 2010-08-17 Microsoft Corporation System and method for a distributed object store
US7953725B2 (en) * 2004-11-19 2011-05-31 International Business Machines Corporation Method, system, and storage medium for providing web information processing services
US20060129917A1 (en) * 2004-12-03 2006-06-15 Volk Andrew R Syndicating multiple media objects with RSS
US7660416B1 (en) * 2005-01-11 2010-02-09 Sample Digital Holdings Llc System and method for media content collaboration throughout a media production process
US7593943B2 (en) 2005-01-14 2009-09-22 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object
US20060218492A1 (en) * 2005-03-22 2006-09-28 Andrade Jose O Copy and paste with citation attributes
US7620902B2 (en) * 2005-04-20 2009-11-17 Microsoft Corporation Collaboration spaces
US20060247961A1 (en) * 2005-04-28 2006-11-02 Klemow Jason L Method and system for providing aggregation and display of notifications
US7487191B2 (en) * 2005-06-10 2009-02-03 International Business Machines Corporation Method and system for model-based replication of data
US8732220B2 (en) * 2005-06-15 2014-05-20 International Business Machines Corporation Virtualized file system
US7693958B2 (en) 2005-06-20 2010-04-06 Microsoft Corporation Instant messaging with data sharing
US8171394B2 (en) * 2005-06-24 2012-05-01 Microsoft Corporation Methods and systems for providing a customized user interface for viewing and editing meta-data
US9286388B2 (en) * 2005-08-04 2016-03-15 Time Warner Cable Enterprises Llc Method and apparatus for context-specific content delivery
US7412534B2 (en) * 2005-09-30 2008-08-12 Yahoo! Inc. Subscription control panel
US20070124458A1 (en) * 2005-11-30 2007-05-31 Cisco Technology, Inc. Method and system for event notification on network nodes
US7440976B2 (en) * 2006-03-22 2008-10-21 Intuit Inc. Method and apparatus for performing collaborative searches
US7870193B2 (en) * 2006-08-28 2011-01-11 International Business Machines Corporation Collaborative, event driven system management
US9230068B2 (en) 2006-10-03 2016-01-05 Salesforce.Com, Inc. Method and system for managing license objects to applications in an application platform
US20080155112A1 (en) 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds
US20080201338A1 (en) 2007-02-16 2008-08-21 Microsoft Corporation Rest for entities
US8914434B2 (en) * 2007-04-11 2014-12-16 International Business Machines Corporation Method and apparatus for syndicating interactions between a client and a web service
US8677270B2 (en) 2007-05-04 2014-03-18 Microsoft Corporation Live companion user interface
US8239479B2 (en) 2007-06-22 2012-08-07 Microsoft Corporation Server-assisted and peer-to-peer synchronization
US8954507B2 (en) * 2007-06-22 2015-02-10 Microsoft Corporation Gathering and using awareness information
US9401957B2 (en) 2007-09-14 2016-07-26 International Business Machines Corporation System and method for synchronization between servers
US8145727B2 (en) * 2007-10-10 2012-03-27 Yahoo! Inc. Network accessible media object index
US20090112870A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Management of distributed storage

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883184A (en) * 2010-06-23 2010-11-10 中兴通讯股份有限公司 Method for controlling application program display on mobile terminal and mobile terminal
WO2011160333A1 (en) * 2010-06-23 2011-12-29 中兴通讯股份有限公司 Method for controlling application program display on mobile termianl and mobile terminal
CN101883184B (en) * 2010-06-23 2014-12-17 中兴通讯股份有限公司 Method for controlling application program display on mobile terminal and mobile terminal
CN103098000A (en) * 2010-07-30 2013-05-08 诺基亚公司 Execution and display of applications
CN102591650A (en) * 2010-12-27 2012-07-18 微软公司 Companion window experience
US10606564B2 (en) 2010-12-27 2020-03-31 Microsoft Technology Licensing, Llc Companion window experience
CN103548012A (en) * 2011-03-21 2014-01-29 亚马逊技术股份有限公司 Remotely emulating computing devices
US9424052B2 (en) 2011-03-21 2016-08-23 Amazon Technologies, Inc. Remotely emulating computing devices
US11403124B2 (en) 2011-03-21 2022-08-02 Amazon Technologies, Inc. Remotely emulating computing devices
US10013231B2 (en) 2011-06-29 2018-07-03 Amazon Technologies, Inc. Remote access to mobile communication devices

Also Published As

Publication number Publication date
JP2010527478A (en) 2010-08-12
EP2143017A1 (en) 2010-01-13
US8677270B2 (en) 2014-03-18
EP2143017A4 (en) 2012-09-26
US20140157185A1 (en) 2014-06-05
US20080276195A1 (en) 2008-11-06
CN101675425B (en) 2013-03-27
US9274674B2 (en) 2016-03-01
WO2008137559A1 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
CN101675425B (en) Live companion window
CN101128816B (en) Method and system for displaying and interacting with paginated content
US8364759B2 (en) Mesh-managing data across a distributed set of devices
CN1821943B (en) The discoverability of tasks using active content wizards and help files-“what can I do now” feature
CN100592245C (en) Method and system for previewing documents on a computer system
KR100737521B1 (en) Method and system for collecting and restoring application states
EP2477111B1 (en) Computer system and program restoring method thereof
CN101090356A (en) Method and system for enabling access to remote storage
CN101558403A (en) Providing travel log integration for objects hosted in a browser
CN105359097A (en) Bundling file permissions for sharing files
CN101416143A (en) User interface morph based on permissions
US9483630B2 (en) Information processing apparatus, method of controlling the same and storage medium
US9864637B2 (en) Adaptable software resource managers based on intentions
US20170185279A1 (en) Information processing apparatus, information processing method, and program
CN101393538B (en) Information playback system,Data generation apparatus and data playback apparatus
US20120096369A1 (en) Automatically displaying photos uploaded remotely to a digital picture frame
JP2017060154A (en) Digital evidence creation device, digital evidence creation program, and digital evidence creation method
US20050044529A1 (en) Task library of task data for a plurality of components on a computer system
JP2016143101A (en) System and program
CN101369255B (en) Information processing device, method and program
US10637909B2 (en) Methods for managing entity profiles and application launching in software applications
US20150169880A1 (en) File processing method and electronic device supporting the same
JP7372497B1 (en) Job site recruitment status list system
JP6926781B2 (en) Information processing equipment and information processing programs
US20140136580A1 (en) Method and system for opening file and computer readable storage medium storing the method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150508

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.