US20150256574A1 - Shared space for communicating information - Google Patents

Shared space for communicating information Download PDF

Info

Publication number
US20150256574A1
US20150256574A1 US14/711,300 US201514711300A US2015256574A1 US 20150256574 A1 US20150256574 A1 US 20150256574A1 US 201514711300 A US201514711300 A US 201514711300A US 2015256574 A1 US2015256574 A1 US 2015256574A1
Authority
US
United States
Prior art keywords
space
expressions
shared space
canvas
user
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
Application number
US14/711,300
Inventor
Russell Sanchez
Christian Colando
Seiya Ohta
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 Technology Licensing LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39370475&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20150256574(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to US14/711,300 priority Critical patent/US20150256574A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OHTA, SEIYA, COLANDO, CHRISTIAN, SANCHEZ, RUSSELL
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Publication of US20150256574A1 publication Critical patent/US20150256574A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/0484Interaction 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/04842Selection of displayed objects or displayed text elements
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Definitions

  • Embodiments provide a “shared space” for communicating information.
  • the shared space can be configured to allow a number of users to communicate by using the shared space.
  • a shared space application is configured to provide a persistent space that can be shared for interaction by two or more users.
  • a user can have a number of separate spaces to share and communicate with other individuals and/or groups.
  • the shared space can be interacted with and populated using a flexible aggregation of simple communication tools for sharing and communicating a variety of information.
  • the communication tools and the shared and communicating a variety of information.
  • the communication tools and the shared space provide users with a persistent means to naturally and conveniently interact and communicate.
  • FIG. 1 is a block diagram of a computing environment.
  • FIG. 2 is a block diagram of a computing environment.
  • FIG. 3 is a block diagram of a shared space architecture.
  • FIG. 4 is a flowchart illustrating using a shared space.
  • FIGS. 5A-5K illustrate a user interface for interacting with a shared space.
  • FIG. 6 is a block diagram illustrating a computing environment for implementation of various embodiments described herein.
  • Embodiments provide a shared spaced, wherein a number of users can use the shared space to communicate information.
  • the shared space can be configured to allow a number of users to communicate by using the shared space.
  • a shared space application is configured to provide a persistent space that can be shared and used by two or more users to communicate using various tools.
  • a display of a computing device can be used to present a shared space to users who are using the shared space application to share such a space. The users can use the various tools provided by the shared space application to interact with the shared space in real-time or at their convenience.
  • a plurality of shared spaces can be presented on one or more displays, thereby allowing a user to concurrently interact with various individuals and/or groups. That is, a user can have separate spaces to keep in touch and communicated with different individuals and/or groups.
  • the shared space can be populated using a flexible aggregation of simple communication tools that allow for the sharing of a variety of information.
  • the communication tools can be used by a user to populate a shared space with imagery, text, audio, handwritten drawings and words (e.g. digital ink), and/or other data.
  • the communication tools are configured to afford natural and convenient communication and interaction.
  • a shared space is persistent and remains available to an associated participant at all times, even when a participant is not using the space and/or signed in (e.g. offline).
  • a user can invite one or more participants to share one or more spaces.
  • a participant of a shared space can add to, delete from, and/or otherwise modify the space. Thereafter, all participants of the shared space see or will see the same result of the interaction.
  • the shared space application is configured to allow a participant to save content to a private scrapbook, since the nature of the shared space can be highly transitory.
  • the shared space application is configured to use shared and private data, but is not so limited.
  • the shared space application is further configured to enable a “live connection.” The live connection enables a number of participants to engage in live audio and/or video communication using the shared space application.
  • FIG. 1 is a block diagram of a computing environment 100 , under an embodiment.
  • the computing environment 100 can be described as a network of components wherein the associated components are communicatively coupled in such a manner to provide an operational functionality.
  • a number of computing devices 102 - 106 are in communication with one another to provide a network or computing devices. The number if computing devices 102 - 106 also can be in communication with a serving computing device 107 .
  • Each computing device 102 - 107 includes networking and security components configured to provide communication functionality between the computing devices 102 - 107 .
  • the computing devices 102 - 106 can include desktop computers, laptop computers, tablet computers, handheld devices, and other communication devices.
  • each computing device 102 - 106 includes a shared space application 108 - 112 , described further below.
  • the serving computing device 107 includes a space manager component 114 , but is not so limited.
  • the space manager component 114 can be configured and operated to manage aspects of one or more shared spaces, but is not so limited. For example, the space manager component 114 can maintain a read-write master data file that is associated with a shared space.
  • each shared space application 108 - 112 and the space manager component 114 comprise software applications that execute in conjunction with processors of computing devices 102 - 107 .
  • each shared space application 108 - 112 is configured to provide a persistent space to a number of users that are associated with the shared space.
  • the computing device 102 and associated shared space application 108 are referred to when describing the functionality and use of the shared space application.
  • a user can use the computing device 102 and associated shared space application 108 to communicate and interact with other users of a shared space.
  • the shared space can be described as a persistent canvas or interactive window that can be used by two or more users to communicate in a variety of ways. That is, the shared space application 108 is configured to persist user interactions, including various expressions, for an associated shared space. Correspondingly, the user interactions are seen by all users associated with the shared space, regardless of their physical location. In various embodiments, anything that is created, placed, or otherwise located (ink, video files, audio files, text, pictures, etc.) in a shared space is persisted in the shared space until deleted or otherwise modified.
  • a user can use the shared space application 108 to interact with a number of separate spaces and/or users.
  • a user can use the shared space application 108 to create a number of shared spaces which enable the user to keep in touch with various individuals and/or groups.
  • a user's interaction with a shared space is termed an expression.
  • the shared space application 108 is configured to persist an expression in the shared space until the expression is deleted or otherwise modified by a user associated with the shared space. For example, if a user draws a picture or posts a photo in a shared space, the items remain in the shared space, even if they are covered by other items.
  • the shared space application 108 can be installed on the computing device 102 .
  • the shared space application 108 can be installed as part of an operating system (OS) installation process.
  • OS operating system
  • a user can use the shared space application 108 to communicate with one or more users or participants of a shared space.
  • the communication of a shared space can be provided to a number of associated computing devices.
  • the communication of a shared space to a plurality of computing devices makes collaboration and interaction a pleasurable experience, even for users in remote locations.
  • the shared space application 108 provides a convenient medium for communicative interaction to businesses, families, friends and others.
  • the communication of a shared space can be provided to a number of ultra-mobile computing devices and associated users communicating over a network, such as the Internet.
  • the communication of the shared space is provided over the Internet using an online file storage service.
  • the communication of the shared space is provided to a number of computing devices using a peer-to-peer service, such as a peer-to-peer synchronization service for example.
  • the communication of the shared space can be provided to the computing devices 102 - 107 of a computing network, such as wireless local area network (WLAN), local area network (LAN), wide-area network (WAN), combinations thereof, and/or some other type of computing and/or communication network.
  • a computing network such as wireless local area network (WLAN), local area network (LAN), wide-area network (WAN), combinations thereof, and/or some other type of computing and/or communication network.
  • the computing environment 100 is a distributed computer network that allows one or more computing devices, communication devices, databases, etc., to communicate according to a desired implementation.
  • the components of the computing environment 100 can be communicatively coupled to one another using wired, wireless, combinations or wired and wireless, and other communication techniques.
  • the communication of a shared space can also include communications of various communication methods.
  • Other embodiments that communicate a shared space include file/folder sharing methodologies and/or synchronization schemes.
  • a file/folder sharing program such as FOLDERSHARE can be used to communicate a shared space and the associated displayed content.
  • a shared space application 108 is configured to operate on, persist, and/or display the content(s) of a master file, such as a read-only copy of a master file for example.
  • the master file can be updated when the shared space is modified or otherwise changed. That is, the shared space application uses the master file to track and maintain changes to the shared space.
  • a master file is associated with each shared space. Each computing device 102 - 106 can use the master file to display the content(s) of the shared space, including recent changes and modifications to the shared space.
  • each computing device 102 - 106 is associated with a peer-to-peer network and uses a master file that is associated with a shared space.
  • the master data file changes state from a read-only state to a read-write state. Thereafter, the local master data files are synchronized in read-time as additions, deletions, and other changes are made to the associated shared space.
  • the local master data file is reconfigured to read-only.
  • the read-write master file is copied over (e.g. replaces) the local read-only master file so that the master file is updated with all the additions and changes that occurred while the user was disconnected.
  • each master file is updated and/or synchronized with the other associated master files for the shared space.
  • the shared space application 108 operates to ensure that users who are currently in communication (e.g. connected and/or signed on) with one another see the same information.
  • the shared space application 108 is configured to modify the master file and communication of the shared space is provided by using the master file when a user is in communication with another participant and associated master file.
  • the communication of the shared space can be provided when a user has network connectivity to an associated master file through an online storage service and/or directly to other associated computing devices (e.g. peer-to-peer).
  • the shared space application 108 can be configured to maintain a read-only copy of a latest version the master file in local storage of an associated computing device. If a user is offline, the shared space application 108 does not provide access to the read-only master file. However, the user can view the read-only copy of the master file, but cannot make changes to the master file. As described below, the user can also save one or more expressions stored in the read-only master file to a scrapbook. If another user changes the master file associated with a shared space while a user is offline, the offline user will not see the changes until they log back in to the associated shared space. Thus, a user must be logged into a shared space so that the shared space application 108 can access and use the read-write master file to update the shared space with any changes since the user has been offline.
  • user A and user B have a shared space.
  • User A is online.
  • the shared space application accesses the master file.
  • the shared space application can access the master file from a virtual hard drive.
  • user A adds a picture to the shared space.
  • the shared space application adds the picture to the master file and the local read-only file of user A.
  • User B is offline, and opens the shared space, which shows that user B is offline. User B cannot see the picture that user A just added. Thereafter, user B goes online, such as be connecting to the Internet.
  • the shared space application accesses and reads the master file, and updates the local read-only file on user B's machine. Now user B sees the picture added by user A to the shares space.
  • the read-write master file is stored and maintained on the serving computing device 107 .
  • a user associated with a shared space needs to have network connectivity and be online to make changes to the shared space and associated read-write master file.
  • the master file can be stored and maintained using a web service, on a peer machine, and/or on the user's computing device.
  • the master file can then be copied to all participants associated with a shared space when they are communicating.
  • a user can make additions and/or changes to their local file at any time. Thereafter, when each participant re-connects to a shared space (e.g. logs in) or to another participant (e.g. peer-to-peer), a synchronization operates to aggregate all off-line changes made by each participant so that each participant “sees” the same space.
  • FIG. 2 is a block diagram of a computing environment 200 , under an embodiment.
  • the computing environment 200 includes a computing device 202 in communication with a serving computing device 204 .
  • the components of the computing environment 200 can be communicatively coupled to one another using wired, wireless, combinations of wired and wireless, and other communication and networking techniques. While one computing device 202 and one serving computing device 204 are shown, other embodiments can include a plurality of such computing and serving computing devices.
  • a shared space can be created and defined between at least two users using two computing devices, such as ultra-mobile computing devices for example.
  • the computing device 202 includes a shared space application 206 .
  • the shared space application 206 is configured to provide a persistent space that can be shared for interaction by a number of users.
  • the shared space application 206 includes a number of associated components that are used to maintain a space.
  • the shared space application 206 includes, but is not limited to: a launch component 208 ; an authenticating component 210 ; a contacts component 212 ; a canvas dispatch component 214 ; a media recorder component 216 ; a frame capture component 218 ; a history/scrapbook manager component 220 ; a space manager component 222 ; a content object creator component 224 ; data synchronizer component 226 ; a file creator component 228 ; a response/request handler component 230 ; and, a space canvas component 232 .
  • the functionality and operation of the various components can be combined to provide fewer components and/or a desired implementation.
  • the launch component 208 can be configured as a user interlace and operated to provide user authentication, space selection, and/or participant selection.
  • the authenticating component 210 can be configured and operated as an authenticating service, such as a PASSPORT service for example.
  • the contacts component 212 can be configured and operated to locate and/or maintain a user contact list.
  • the contacts component 212 can be configured to connect to a MSN service to expose a user's MSN contact list as participants for shared spaces.
  • the canvas dispatch component 214 can be configured and operated to create a new space canvas and display objects in a space.
  • the media recorder component 216 can be configured and operated to record audio, images, video, and other objects/expressions.
  • the media recorder component 216 can use a local camera, microphone, and/or other components to record images, audio and video as expressions in a space.
  • the frame capture component 218 can be configured and operated to capture “snapshot” images of a space for the history and/or scrapbook.
  • the history/scrapbook manager component 230 can be configured and operated to manage a chronological collection of “snapshots” of a space and to provide the user a mechanism to review and/or store selected expressions in a private local repository referred to as a scrapbook.
  • the history/scrapbook manager component 220 can record every event occurring in a space. Accordingly, a user does not have to continually use save operations, which allow for a more informal interaction with the space.
  • the space manager component 222 can be configured and operated to manage aspects of a space.
  • the space manager component 222 can be configured and operated to manage a local copy of a master file.
  • the content object creator component 224 can be configured and operated to manage objects and other expressions in a space.
  • the content object creator component 224 can be configured and operated to manage images, ink, text, and/or other user expressions.
  • the data synchronizer compound 226 can be configured and operated to synchronize data files between a user computing device 202 and a serving computing device 204 .
  • the data synchronizer component 226 can be configured and operated to synchronize master data files between the user computing device 202 and serving computing device.
  • the file creator component 228 can be configured and operated to manage shared space data file, including, but not limited to: creating, opening, and saving shared space data files.
  • the response/request handler component 230 can be configured and operated to manage communication between computing devices.
  • the response/request handler component 230 can be configured and operated to manage communication between the computing device 202 and the serving computing device 204 .
  • the space canvas component 232 can be configured and operated as a user interface to enable user interaction with a space.
  • the serving computing device 204 includes a number of shared space components. As shown in FIG. 2 , the serving computing device 204 includes, but is not limited to: a data synchronizer component 234 ; a response/request handler component 236 ; and, a space manager component 238 .
  • the data synchronizer component 234 can be configured and operated to synchronize data files between the serving computing device 202 and one or more user computing devices. For example, data synchronizer component 234 can be configured and operated to synchronize master data files between the serving computing device 204 and user computing device 202 .
  • the response/request handler component 236 can be configured and operated to manage communication between the serving computing device and one or more other computing devices, including other serving computing devices.
  • the space manager component 238 can be configured and operated to manage aspects of a space. For example, the space manager component 238 can be configured and operated to manage a read-write master copy of a master file. Other embodiments are available.
  • the shared space application 206 is configured to use and provide various objects in a shared space.
  • the shared space application 206 uses and provides: participant indicators (e.g. icon, digital image, etc.) that represent other users who are sharing a space; expressions in the space (e.g. ink, text, photos, video, live connections, etc.); and, a number of interactive tools.
  • participant indicators e.g. icon, digital image, etc.
  • expressions in the space e.g. ink, text, photos, video, live connections, etc.
  • a number of interactive tools e.g. an icon (e.g. default person/group icon) or a digital image can be used to represent an individual or group that is sharing a space.
  • a digital image or photo can be imported or dropped using the contacts component 212 along with a name associated with individual or group name.
  • the contacts component 212 can be configured to propagate name/photo updates/changes to the shared space application 206 .
  • An individual participant indicator can include an indication of a participant status or state (e.g. present, occupied, not present, etc).
  • a group participant indicator can also include a count of participants in each state (4 or 12 present, etc).
  • a live connection is established (e.g. audio and/or video depending on available device hardware and service features), as described below.
  • Expressions include any participant created item in a space including ink, images, text, video, live connections, etc.
  • a participant can use a tablet pen to draw a picture or write some text.
  • the user can also use a finger and a touchscreen to ink in a space for example.
  • an expression can include three states: normal, focus, and magnify, bat is not so limited.
  • normal, focus, and magnify, bat is not so limited.
  • new expressions appear on top of old expressions (except for live connections which always appear on top).
  • Previously kept live connections can be represented by a live connection indicator, such as a live connection icon for example.
  • Text expressions can be scrolled by touching in the text area and dragging up/down. Giving focus to an expression (or group of expressions) in a shared space operates to display a marquee around the item.
  • Table 1 below lists a number of expressions and how each expression receives focus.
  • individual expressions can have focus.
  • an expression or group of expressions (group select) can have focus.
  • an expression or group of expressions
  • it is temporarily displayed on top of other expressions, including a surrounding marquee, magnify button, and move grip.
  • Losing focus returns the expression (or group) to its former position in view order.
  • a user can drag the marquee to move (e.g. drag from center, or move grip), resize the expression (e.g. drag from edges and corners), and rotate (e.g. drag move grip or rotation handle).
  • any change to an expression (e.g. move, resize, rotate) operates to move the changed expression to the top of view order.
  • Changing focus to an expression without making any changes to the expression operates to return the expression to its former position in view order.
  • the user can clear focus by tapping a blank area of a shared space or selecting another expression. Expressions that are pasted to a shared space are automatically given focus.
  • a user can tap the magnify button which operates to change the expression view to the magnify state.
  • the expression is magnified to encompass a substantial portion of a display (tools remain visible).
  • An expression cannot be moved, resized, or rotated in the magnify state.
  • a user can tap the close button which operates to return the expression to the focus state.
  • Table 2 below lists a number of contextual controls and information associated with various expressions.
  • the tools of the shared space application are configured to facilitate the sharing of photos, video, audio, ink, text, and other user expressions.
  • the tools can be used to create, select, modify and save expressions.
  • the tools are provided via the space canvas component 232 and are configured as a number of buttons (e.g. touchscreen buttons, tablet buttons, icons, etc.).
  • the button types include, but are not limited to: a toolset tray button: expands/collapses toolset tray; a toolset button that selects a tool and then collapses the toolset tray; a tool button that activates control (for modal buttons) or expands/collapses a palette (for palettes); and a palette button that selects item/mode/choice from a palette and closes the palette.
  • the appearance of a tool button can change to reflect current palette selection.
  • Table 3 lists each toolset, tools, and palettes, under an embodiment.
  • the shared space application 206 and associated tools allow a participant to interact with a space and locate expressions wherever desired in the space. Moreover, space participants are free to interact with a space at their convenience. There is no rigid communication requirement or protocol (e.g. User 1 communication followed by User 2 communication followed by User 3 communication, etc.).
  • the shared space application 206 is configured to provide a live connection between participants of a shared space.
  • a live connection is configured to behave as an expression with a few exceptions.
  • a live connection can be used to engage in (and store) live audio/video conversation (e.g. like a video conference), or to record a message for another participant (e.g. like voicemail or videomail). In either case, the methods and controls are the same.
  • a live connection is opened by tapping a participant icon, the user is prompted to select a type of live connection. The type of live connection depends on a type of service subscription.
  • Table 4 below lists the subscription types for live connections of an embodiment.
  • the live connection is configured to provide local (“me”) and remote (“you”) views.
  • a Group live connection there is a “you” view for each member of the group.
  • Duration information is provided to show the duration (e.g. minute:seconds) of a live connection.
  • a mute button is provided (for both audio and video) which operates to mute a device microphone and camera so that others cannot hear or see you.
  • a close button which when tapped, operates to prompt the user to select either “Cancel”, “Keep” or “Erase”. Selecting cancel returns to the live connection as if the close button had not been tapped. Selecting keep places the live connection in the associated space, and is represented by a live connection icon. Selecting erase discards a buffered live connection.
  • the shared space application 206 is also configured to provide a scrapbook using the history/scrapbook manager component 220 .
  • the scrapbook provides a convenient private storage for expressions and space snapshots.
  • the scrapbook can be opened by tapping a scrapbook tool.
  • the scrapbook is configured to provide multiple views (e.g. list, icon, thumbnail, etc.) and grouping/sorting (e.g. by participant, by date, by expression type, by location, etc).
  • the scrapbook also includes a search/filter tool for locating expressions and other items in the scrapbook.
  • the scrapbook includes a “Save Space” button which operates to save a snapshot copy of a current space into the scrapbook in image form.
  • Contents of the scrapbook are stored in a folder named “My Scrapbook” in the operating filesystem.
  • My Scrapbook is a peer to “My Pictures”, “My Notebook”, and “My Music”.
  • the “My Scrapbook” folder can be created when the Shared Space application is installed.
  • the “Get Stuff” toolset is configured to provide a convenient way to browse and import items from the operating file system into a space.
  • the “Get Stuff” toolset can be used to browse and import items from various folders, such as My Pictures, My Videos and My Music for example. Tapping the “My ⁇ Stuff>” tool from the “Get Stuff” toolset opens a viewer to browse the contents of the respective ⁇ stuff> folder in the operating file system. Multiple views are provided (e.g. list, icon, thumbnail, etc) and grouping/sorting (e.g. by Participant, by date, by Expression type, fey location, etc). A search/filter tool is also provided.
  • the shared space application 206 is also configured to provide a history using the history/scrapbook manager component 220 .
  • the history is maintained and accessed from the serving computing device 204 .
  • the history can be configured as a simple read-only temporal view of a space.
  • a space history can be displayed in full screen with the following controls: Individual select (default); Group select (bounded Expressions); and, Copy, in another embodiment, the history can be displayed as a list, thumbnails, etc.
  • the history view includes a horizontal scrollbar that can be used to control time (e.g. occupies Tool tray space). Expressions in history have the same three states (Normal, Focus, Magnify) and all the same respective information displayed, but none of the modification controls. Additionally, “Save copy to Scrapbook” is replaced with “Copy to Space”.
  • the shared space application 206 can be configured to provide three interfaces for accessing automatically stored strokes, segments, and other expressions.
  • the first is infinite undo and redo. Using undo and redo, a user can access any past state of the segment.
  • Second is the time slider. Using the time slider, a user can specify the time point directly, or use jump buttons to get to discrete “interesting” time points.
  • Third is a context-based search, which can be implemented as a behavior. The search behavior allows a user to retrieve previous strokes, segments, and other expressions based on context information such as time, segment location, segment size, ink colors, etc. The search results are shown as a set of thumbnails on the screen, and a user can access a point in history by clicking on a thumbnail.
  • FIG. 3 is a block diagram of a shared space architecture 300 , under an embodiment.
  • the shared space architecture 300 can be configured as a layered architecture, including a core layer 302 .
  • the core layer includes a service and configuration component 302 a , an event handling component 302 b , and a display context component 302 c.
  • a model layer 304 defines the basic interfaces for documents, user interface, tools, and interaction styles.
  • the model layer 304 includes a space model component 304 a , a user interface model 304 b , a tool model 304 c , an interaction component 304 d , and a physical component 304 e .
  • the model layer 304 includes interfaces and abstract classes that define the abstractions of shared space components.
  • the model layer 304 can be separated from the generic layer 306 to ensure extensibility, flexibility, reusability, and interoperability of modules and components.
  • the space model component 304 a defines the base classes and functionality of objects that can he part of a space.
  • the user-interface model 304 b defines an alternative user-interface concept suitable for roomware components.
  • the tool model 304 c provides additional functionality to the space. Prominent examples are toolbars or browsers. Space browsers have a role in providing the connection, between the user interface and the space. Additionally, the tool model 304 c controls the possible work modes, like the degree of coupling for example.
  • the physical model is the representation of the parts of the “real” world relevant to shared space. For example, the term “station” refers to the computers running a shared space application.
  • the interaction component 304 d supports different styles of interaction, including defining different interaction styles.
  • a generic layer 306 can provide functionality for interacting and communication, such as in team work, meeting, and other situations.
  • the generic layer 306 includes a link and reference component 306 a , a display area component 306 b , a toolbars component 306 c , a click component 306 d , a drag and drop component 306 e , a space component 306 f , an interaction component 306 g , a browser component 3061 h , a gesture component 306 i , and a stations component 306 h .
  • the generic layer 306 includes standard data types like text, graphics, and informal handwritten input, as well as private and public workspaces for generic collaboration support for example.
  • the instances of hypermedia data model classes are included as part of the shared object space. Accordingly, users can access these objects simultaneously.
  • the generic document elements include workspaces (the equivalent of a page), handwritten input (scribbles), texts, and images.
  • the main elements of the user-interface include segments and overlays. The interaction can be divided into “segments”, which defines the space available for a tool, such as a document browser for example. In addition, “overlays” can be positioned freely. Document browser and toolbars are provided by the generic layer 306 .
  • the shared space architecture 300 also includes a foundation layer 308 having a synchronization component 308 a , a replication component 308 b , as authentication component 308 c , and a security component 308 d.
  • FIG. 4 is a flowchart which illustrates a procedure for using a shared space application, under an embodiment.
  • the shared space can be shared between two or more users.
  • the shared space can be updated in accordance with any participant changes when a user is online and the respective computing devices are in communication with one another. Once a user becomes a participant to a shared space, the user can interact and communicate in a variety of ways with another participant or participants of the shared space, as described above.
  • the shared space application is installed on the users computing device.
  • the user is prompted to register before using the shared space application.
  • Profile information, associated with the user is collected and can be stored on a serving computing device or locally as part of the registration process.
  • the registered user can create or join a space to share with other registered users. Each space can have a unique name to identify the space.
  • the space initiator can invite a number of other users to join the created space.
  • the user can use the contacts repository (e.g. messenger contacts (“buddies”), OUTLOOK contacts, WINDOWS VISTA contacts, etc. or an aggregation of contacts) to identify potential users to share the created space.
  • the contacts repository e.g. messenger contacts (“buddies”), OUTLOOK contacts, WINDOWS VISTA contacts, etc. or an aggregation of contacts
  • the shared space application is configured to send an invitation message to the invitee.
  • the invitee could receive the invitation message via e-mail, IM, SMS, the shell application on art ultra-mobile PC, and/or via the shared space application the next time the invitee opens the shared space application and is in communication.
  • Each invited user can accept the invitation to create a replicated space file locally.
  • a shared space is opened and a persistent whiteboard canvas is presented to the user. If the user is online, any participant changes made to the canvas are automatically updated and presented to the user.
  • a participant can use a number of shared space tools to add an expression, modify an expression, or otherwise interact with the canvas of the shared space. Each online participant sees the interaction by other participants and the updated space canvas. If a user is offline, but comes back online after changes are made by another participant, the participant's canvas is then updated to show the changes. Additionally, each participant can save any object in the space to a local scrapbook. In an embodiment, the scrapbook is space independent, but can be used with any space.
  • the shared space application also tracks and maintains the process of space modification using a historical record or history. A participant can use the historical record to recall any step at any time.
  • real-time data synchronization (e.g. after a participant's interaction, after coming online and opening a shared space, etc.) can be provided by the shared space application and associated components so that all online participants are able to “see” the same persisted space, in the form of a space canvas.
  • the synchronization process depends in part on the type of communication network that the participants are using to communicate. For example, a peer-to-peer communication network uses a different synchronization process as compared to a synchronization process between a number of participant computing devices and a serving computing device.
  • a user closes a space, and the connection(s) between the user's computing device and other participant computing devices are automatically closed. Thereafter, the graphical user interface (GUI) and other utility resources associated with a space canvas are released.
  • GUI graphical user interface
  • FIGS. 5A-5K block diagrams illustrate a user interface for accessing and interacting with a shared space, under an embodiment.
  • a user interface 500 depicts a number of shared spaces associated with the current user of the shared space application.
  • the user interface 500 is shown after the user has successfully completed an authentication process (e.g. username, password, and other login credentials).
  • the user interface 500 shows that the user has a number of contacts that are associated with one or more shared spaces.
  • the user has shared spaces with contacts that include Peter 502 , Rose 504 , Robin 506 , and Mary 508 .
  • the user interface 500 also includes a block for defining a new space for an associated contact 510 .
  • each contact 502 - 508 associated with a shared space can include a participant picture or other identifying indicia that the user can use to personalize the spaces.
  • FIG. 5B is a block diagram of a user interface 500 which illustrates a number of shared spaces.
  • the connecting lines between the various contacts define a number of shared spaces.
  • Robin 506 and Tom 512 define a shared space with the user.
  • Jacky 514 defines a shared space with the user.
  • Peter 502 , Rose 504 , Maggie 516 , and Frank 518 define another shared space with the user.
  • the user can use the shared space application to define a number of shared spaces to keep in touch and otherwise interact with select participants.
  • the user has selected Tom 512 (the “x” highlights the user selection) for interaction in a shared space.
  • the user has not selected Robin 506 , so the interaction will be solely with Tom 512 , until the user invites Robin 506 for this space or opens a different space.
  • the user can use the button 520 to enter the space.
  • Tom is online, a notification is sent to Tom 512 to join the associated space. If Tom is offline or does not have his shared space application open, the notification will be communicated when Tom opens the shared space application and goes online.
  • FIG. 5C shows the user interface 500 after the user has elected to share the space with Tom 512 .
  • a status indicator 522 shows that Tom 512 is “online.”
  • the space canvas 524 is blank. That is, neither Tom 512 nor the user has added anything to the space canvas 524 .
  • a number of tools 526 are presented to the user for interacting with the space canvas 524 .
  • FIG. 5D shows the user interface 500 in a state wherein the user can select from a number of objects (e.g. pictures, videos, audio, etc.) for which to include in the shared space with Tom 512 .
  • the objects 528 - 538 can be selected from local storage, a peer source, or some online source.
  • the user has selected object 528 to insert on to the space canvas 524 . That is, the inserted object 528 is an expression provided by the user.
  • Tom 512 sees the object 528 on his space canvas in real-time since he is online.
  • the user can also user a slideshow button 540 to insert a slideshow on to the space canvas 524 .
  • the user can use the insert button 542 to insert the one or more objects on to the space canvas 524 .
  • FIG. 5E shows the user interface 500 after the user has selected an object 528 and inserted the object on to the space canvas 524 .
  • a number of additional context relevant tools 544 are made available to the user for interacting with the inserted object 528 . Additionally, the user can use handles 546 and 548 to expand/contract and/or rotate the object 528 .
  • FIG. 5F shows the user interface 500 after Tom 512 has drawn an ink drawing 550 onto the space canvas 524 . The user was able to see the ink drawing 550 at each stage of its creation by Tom 512 .
  • FIG. 5G shows the user interface 500 after Tom 512 has inserted an object 552 on to the space canvas 524 . Tom has also typed in some text 554 below his inserted object 552 . As described above, the user and Tom 512 are seeing the same interaction and information on their respective displays, such as a touchscreen interactive display for example.
  • FIG. 5H shows the user interface 500 after the user has moved Tom's inserted object 552 to a new location on the space canvas 524 .
  • the ink 550 is now partially covered by the relocated object 552 .
  • FIG. 5I shows the user interface 500 after Tom 512 has inked 556 a question asking why the user moved the object 552 .
  • FIG. 5J shows the user interface 500 in a scrapbook view 558 .
  • the user has saved a number of items 560 - 568 to the scrapbook.
  • the content(s) of the scrapbook is saved locally to the user's computing device.
  • the user interface 500 also includes a button 570 that the user can click on to go to the history view.
  • FIG. 5K shows the user interface 500 in a history view 559 .
  • the history includes a number of history details 572 - 582 that have been recorded by the shared space application and represent participant changes and interaction with the space and space canvas 524 .
  • the user can also use the user interface 500 to mark a time in history for saving in addition to the automatic saves.
  • the history is saved to a serving computing device and made available to a user when connected and online.
  • a shared space application can be included or installed on a computing device and be associated with a serving computer for managing aspect of a shared space.
  • the shared space application can be installed on an ultra-mobile personal computer.
  • the portability of the ultra-mobile PC enables users to use the shared space application in an immediate, convenient, and readily accessible manner.
  • a shared space application can be configured to provide a shared space to allow a number of users to communicated and interact with one another.
  • a space can always be made available to all participants of the space, regardless of whether there is a network connection. That is, a participant is free to interact with the space once a space is created, even when the participant is not currently connected or online. Any changes are updated to other participant spaces when the participant is connected and/or goes online.
  • the shared space application enables any space participant to add, modify, create, etc. an expression at any time without requiring other participants to join a session. Accordingly, the shared space application allows a degree of freedom, allowing all participants to express themselves whenever they choose. Likewise, the shared space application allows expression recipients the freedom to respond whenever they choose. There is no direct or implied obligation to respond immediately.
  • the shared space application can provide a persistent canvas wherein all participant expressions are visible on a single display.
  • a display of an ultra-mobile personal computing device can be used to display a shared space, wherein user expressions can be persisted within the display.
  • a user does not have to scroll forward and back to find desired information since the expressions are contained within a visible area of the space canvas and display (including hidden expressions).
  • the shared space is configured to be substantially visually identical for all participants who are online and have the space open.
  • the shared space application is configured to enable all participants to see edits and other modification to a shared space in real-time or substantially in real-time (e.g. depending on connectivity, bandwidth, and other factors).
  • a user can use a pen or finger to draw any handwritten stroke any where in the space by dragging the pen or finger on the space canvas (termed “stroking”).
  • a user can erase by drawing a scribbling stroke with the stylus's modifier button down (termed “metastroking”) or a finger.
  • the shared space application is configured to allow all of the participants see the editing process as it occurs. For example, the participants, can see the characters as they are typed (e.g. you see corrections), ink as its drawn (and erased), etc.
  • the shared space application creates a sense of presence that is lacking in many other applications.
  • a shared space provides a mechanism for users to keep in touch using emotionally expressive and/or passive communications, but is not so limited.
  • the shared space provides a convenient way to communicate without being a hassle and obtrusive.
  • Siblings can post photos of significant life events, or just common daily occurrences.
  • Other family members can also use the shared space to comment on the photos, ash for advice, and/or share ideas.
  • annotations, drawings, personal notes, video, and/or audio clips are added by the various participants. Whenever multiple participants happen to be viewing a shared space, they can also serendipitously engage in a live conversation.
  • each employee of the business has a shared space application running on an ultra-mobile personal computing device.
  • the employee can strategically set-up and monitor one or more shared spaces between important counterparts of the business.
  • a product group can set up a shared space for communicating with strategic business planners for the launch of a new device.
  • the interaction flows naturally as annotations, inking, drawings, images, personal notes, video, and/or audio clips are added by the various participants. Users can also use the shared space application to engage in live audio and/or video conversation if the parties happen to be available at the same time.
  • FIG. 6 the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • program modules may be located in both local and remote memory storage devices.
  • computer 2 comprises a general purpose desktop, laptop, handheld, or other type of computer capable of executing one or more application programs.
  • the computer 2 includes at least one central processing unit 8 (“CPU”), a system memory 12 , including a random access memory 18 (“RAM”) and a read-only memory (“ROM”) 20 , and a system bus 10 that couples the memory to the CPU 8 .
  • CPU central processing unit
  • RAM random access memory
  • ROM read-only memory
  • the computer 2 further includes a mass storage device 14 for storing an operating system 32 , application programs, and other program modules.
  • the mass storage device 14 is connected to the CPU 8 through a mass storage controller (not shown) connected to the bus 10 .
  • the mass storage device 14 and its associated computer-readable media provide non-volatile storage for the computer 2 .
  • computer-readable media can be any available media that can be accessed or utilized by the computer 2 .
  • the computer 2 may operate in a networked environment using logical connections to remote computers through a network 4 , such as a local network, the Internet, etc. for example.
  • the computer 2 may connect to the network 4 through a network interface unit 16 connected to the bus 10 .
  • the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems.
  • the computer 2 may also include an input/output controller 22 for receiving and processing input from a number of input types, including a keyboard, mouse, pen, finger and/or other means.
  • an input/output controller 22 may provide output to a display, a printer, or other type of output device.
  • a touch screen can server as an input and an output mechanism.
  • a number of program modules and data files may be stored in the mass storage device 14 and RAM 18 of the computer 2 , including an operating system 32 suitable for controlling the operation of a networked personal computer, such as the WINDOWS XP operating system from MICROSOFT CORPORATION of Redmond, Wash.
  • the mass storage device 14 and RAM 18 may also store one or more program modules.
  • the mass storage device 14 and the RAM 18 may store application programs, such as a word processing application 28 , an imaging application 30 , e-mail application 34 , drawing application, etc.

Abstract

Embodiments provide a shared space for communicating information. In an embodiment a number of users associated with a computing environment can use a shared space to communicate information with one another. Each computing device of the computing environment can include a shared space application. The shared space application includes a number of interactive tools that can be used to persist various communications between associated computing devices of a computing environment.

Description

    RELATED CASE
  • This application is a continuation of U.S. patent application Ser. No. 11/599,599, filed Nov. 13, 2006 and entitled “Shared Space for Communicating Information,” which is hereby incorporated by reference.
  • BACKGROUND
  • People try to communicate and stay connected using a number of communication methods, such as: postal mail, phones, digital photos, whiteboards, e-mail, and instant messaging (IM) applications. However, each technique has associated limitations and can result in an unsatisfactory experience for the user. For example, instant messages, networked digital picture frames, and e-mail can be untimely and constrain the amount of information that can be communicated. Some communication methods, like phone and IM communication methods, like email, and postal mail communications allow for delayed responses, but are typically less intrusive since a party can wait to respond. However, passive methods can be impersonal and deficient in emotional expressiveness because they impose a turn taking statement/reply/statement/reply communication structure (e.g. e-mail and instant messaging).
  • Other communication methods lack fidelity, variety of expressiveness, or are limited to providing information in temporary sessions (e.g. instant messaging, virtual whiteboards). Once the session ends, the information is lost. For example, whiteboards are often used as a medium to communicate spontaneous handwritten ideas and concepts. However, information displayed on the whiteboard is not ideal for remote interaction and collaboration. It can be difficult for remote users to read and focus upon relevant portions of a whiteboard, due in part to the limitations associated with video teleconferencing equipment. For example, ink strokes written on a whiteboard can be hard to see, and cannot be erased or edited by remote users. Thus, real-time multi-user physical whiteboard collaborated is limited and generally an unsatisfactory experience for the remote participant.
  • SUMMARY
  • This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
  • Embodiments provide a “shared space” for communicating information. The shared space can be configured to allow a number of users to communicate by using the shared space. In an embodiment, a shared space application is configured to provide a persistent space that can be shared for interaction by two or more users. A user can have a number of separate spaces to share and communicate with other individuals and/or groups. In various embodiments, the shared space can be interacted with and populated using a flexible aggregation of simple communication tools for sharing and communicating a variety of information. The communication tools and the shared and communicating a variety of information. The communication tools and the shared space provide users with a persistent means to naturally and conveniently interact and communicate.
  • These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the invention as claimed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a computing environment.
  • FIG. 2 is a block diagram of a computing environment.
  • FIG. 3 is a block diagram of a shared space architecture.
  • FIG. 4 is a flowchart illustrating using a shared space.
  • FIGS. 5A-5K illustrate a user interface for interacting with a shared space.
  • FIG. 6 is a block diagram illustrating a computing environment for implementation of various embodiments described herein.
  • DETAILED DESCRIPTION
  • Embodiments provide a shared spaced, wherein a number of users can use the shared space to communicate information. The shared space can be configured to allow a number of users to communicate by using the shared space. In an embodiment a shared space application is configured to provide a persistent space that can be shared and used by two or more users to communicate using various tools. A display of a computing device can be used to present a shared space to users who are using the shared space application to share such a space. The users can use the various tools provided by the shared space application to interact with the shared space in real-time or at their convenience.
  • In one embodiment, a plurality of shared spaces can be presented on one or more displays, thereby allowing a user to concurrently interact with various individuals and/or groups. That is, a user can have separate spaces to keep in touch and communicated with different individuals and/or groups. In various embodiments, the shared space can be populated using a flexible aggregation of simple communication tools that allow for the sharing of a variety of information. For example, the communication tools can be used by a user to populate a shared space with imagery, text, audio, handwritten drawings and words (e.g. digital ink), and/or other data. The communication tools are configured to afford natural and convenient communication and interaction.
  • In an embodiment, a shared space is persistent and remains available to an associated participant at all times, even when a participant is not using the space and/or signed in (e.g. offline). A user can invite one or more participants to share one or more spaces. A participant of a shared space can add to, delete from, and/or otherwise modify the space. Thereafter, all participants of the shared space see or will see the same result of the interaction. The shared space application is configured to allow a participant to save content to a private scrapbook, since the nature of the shared space can be highly transitory. Moreover, the shared space application is configured to use shared and private data, but is not so limited. In one embodiment, the shared space application is further configured to enable a “live connection.” The live connection enables a number of participants to engage in live audio and/or video communication using the shared space application.
  • FIG. 1 is a block diagram of a computing environment 100, under an embodiment. The computing environment 100 can be described as a network of components wherein the associated components are communicatively coupled in such a manner to provide an operational functionality. A number of computing devices 102-106 are in communication with one another to provide a network or computing devices. The number if computing devices 102-106 also can be in communication with a serving computing device 107. Each computing device 102-107 includes networking and security components configured to provide communication functionality between the computing devices 102-107. The computing devices 102-106 can include desktop computers, laptop computers, tablet computers, handheld devices, and other communication devices.
  • As shown in FIG. 1, each computing device 102-106 includes a shared space application 108-112, described further below. The serving computing device 107 includes a space manager component 114, but is not so limited. The space manager component 114 can be configured and operated to manage aspects of one or more shared spaces, but is not so limited. For example, the space manager component 114 can maintain a read-write master data file that is associated with a shared space. In an embodiment, each shared space application 108-112 and the space manager component 114 comprise software applications that execute in conjunction with processors of computing devices 102-107. As described below, each shared space application 108-112 is configured to provide a persistent space to a number of users that are associated with the shared space. In order to streamline the discussion below, the computing device 102 and associated shared space application 108 are referred to when describing the functionality and use of the shared space application.
  • As described below, a user can use the computing device 102 and associated shared space application 108 to communicate and interact with other users of a shared space. The shared space can be described as a persistent canvas or interactive window that can be used by two or more users to communicate in a variety of ways. That is, the shared space application 108 is configured to persist user interactions, including various expressions, for an associated shared space. Correspondingly, the user interactions are seen by all users associated with the shared space, regardless of their physical location. In various embodiments, anything that is created, placed, or otherwise located (ink, video files, audio files, text, pictures, etc.) in a shared space is persisted in the shared space until deleted or otherwise modified.
  • A user can use the shared space application 108 to interact with a number of separate spaces and/or users. For example, a user can use the shared space application 108 to create a number of shared spaces which enable the user to keep in touch with various individuals and/or groups. A user's interaction with a shared space is termed an expression. The shared space application 108 is configured to persist an expression in the shared space until the expression is deleted or otherwise modified by a user associated with the shared space. For example, if a user draws a picture or posts a photo in a shared space, the items remain in the shared space, even if they are covered by other items.
  • The shared space application 108 can be installed on the computing device 102. For example, the shared space application 108 can be installed as part of an operating system (OS) installation process. As described above, a user can use the shared space application 108 to communicate with one or more users or participants of a shared space. Additionally, the communication of a shared space can be provided to a number of associated computing devices. The communication of a shared space to a plurality of computing devices makes collaboration and interaction a pleasurable experience, even for users in remote locations. Thus, the shared space application 108 provides a convenient medium for communicative interaction to businesses, families, friends and others.
  • For example, the communication of a shared space can be provided to a number of ultra-mobile computing devices and associated users communicating over a network, such as the Internet. In one embodiment, the communication of the shared space is provided over the Internet using an online file storage service. In another embodiment, the communication of the shared space is provided to a number of computing devices using a peer-to-peer service, such as a peer-to-peer synchronization service for example.
  • The communication of the shared space can be provided to the computing devices 102-107 of a computing network, such as wireless local area network (WLAN), local area network (LAN), wide-area network (WAN), combinations thereof, and/or some other type of computing and/or communication network. In one embodiment, the computing environment 100 is a distributed computer network that allows one or more computing devices, communication devices, databases, etc., to communicate according to a desired implementation.
  • The components of the computing environment 100 can be communicatively coupled to one another using wired, wireless, combinations or wired and wireless, and other communication techniques. The communication of a shared space can also include communications of various communication methods. Other embodiments that communicate a shared space include file/folder sharing methodologies and/or synchronization schemes. For example, a file/folder sharing program such as FOLDERSHARE can be used to communicate a shared space and the associated displayed content.
  • In an embodiment, a shared space application 108 is configured to operate on, persist, and/or display the content(s) of a master file, such as a read-only copy of a master file for example. The master file can be updated when the shared space is modified or otherwise changed. That is, the shared space application uses the master file to track and maintain changes to the shared space. In one embodiment, a master file is associated with each shared space. Each computing device 102-106 can use the master file to display the content(s) of the shared space, including recent changes and modifications to the shared space.
  • In one embodiment, each computing device 102-106 is associated with a peer-to-peer network and uses a master file that is associated with a shared space. When a computing device 102-106 associated with a shared space is connected and online, the master data file changes state from a read-only state to a read-write state. Thereafter, the local master data files are synchronized in read-time as additions, deletions, and other changes are made to the associated shared space. When a computing device disconnects (e.g. the user is offline), the local master data file is reconfigured to read-only. Thereafter, the next time a user logs in to a shared space and the shared space application 108 connects to the read-write master file, the read-write master file is copied over (e.g. replaces) the local read-only master file so that the master file is updated with all the additions and changes that occurred while the user was disconnected.
  • Accordingly, as updates to the shared space occur, each master file is updated and/or synchronized with the other associated master files for the shared space. Thus, the shared space application 108 operates to ensure that users who are currently in communication (e.g. connected and/or signed on) with one another see the same information. The shared space application 108 is configured to modify the master file and communication of the shared space is provided by using the master file when a user is in communication with another participant and associated master file. For example, the communication of the shared space can be provided when a user has network connectivity to an associated master file through an online storage service and/or directly to other associated computing devices (e.g. peer-to-peer).
  • As described above, the shared space application 108 can be configured to maintain a read-only copy of a latest version the master file in local storage of an associated computing device. If a user is offline, the shared space application 108 does not provide access to the read-only master file. However, the user can view the read-only copy of the master file, but cannot make changes to the master file. As described below, the user can also save one or more expressions stored in the read-only master file to a scrapbook. If another user changes the master file associated with a shared space while a user is offline, the offline user will not see the changes until they log back in to the associated shared space. Thus, a user must be logged into a shared space so that the shared space application 108 can access and use the read-write master file to update the shared space with any changes since the user has been offline.
  • As an example, suppose user A and user B have a shared space. User A is online. When user A opens the shared space, the shared space application accesses the master file. As one example, the shared space application can access the master file from a virtual hard drive. Then, user A adds a picture to the shared space. The shared space application adds the picture to the master file and the local read-only file of user A. User B is offline, and opens the shared space, which shows that user B is offline. User B cannot see the picture that user A just added. Thereafter, user B goes online, such as be connecting to the Internet. Once user B goes online, the shared space application accesses and reads the master file, and updates the local read-only file on user B's machine. Now user B sees the picture added by user A to the shares space.
  • In one embodiment, the read-write master file is stored and maintained on the serving computing device 107. Thus, a user associated with a shared space needs to have network connectivity and be online to make changes to the shared space and associated read-write master file. In other embodiments, the master file can be stored and maintained using a web service, on a peer machine, and/or on the user's computing device. The master file can then be copied to all participants associated with a shared space when they are communicating. In an alterative embodiment, a user can make additions and/or changes to their local file at any time. Thereafter, when each participant re-connects to a shared space (e.g. logs in) or to another participant (e.g. peer-to-peer), a synchronization operates to aggregate all off-line changes made by each participant so that each participant “sees” the same space.
  • FIG. 2 is a block diagram of a computing environment 200, under an embodiment. The computing environment 200 includes a computing device 202 in communication with a serving computing device 204. The components of the computing environment 200 can be communicatively coupled to one another using wired, wireless, combinations of wired and wireless, and other communication and networking techniques. While one computing device 202 and one serving computing device 204 are shown, other embodiments can include a plurality of such computing and serving computing devices. In one embodiment, a shared space can be created and defined between at least two users using two computing devices, such as ultra-mobile computing devices for example.
  • As shown is FIG. 2, the computing device 202 includes a shared space application 206. The shared space application 206 is configured to provide a persistent space that can be shared for interaction by a number of users. According to this embodiment, the shared space application 206 includes a number of associated components that are used to maintain a space. The shared space application 206 includes, but is not limited to: a launch component 208; an authenticating component 210; a contacts component 212; a canvas dispatch component 214; a media recorder component 216; a frame capture component 218; a history/scrapbook manager component 220; a space manager component 222; a content object creator component 224; data synchronizer component 226; a file creator component 228; a response/request handler component 230; and, a space canvas component 232. In alternative embodiments, the functionality and operation of the various components can be combined to provide fewer components and/or a desired implementation.
  • The launch component 208 can be configured as a user interlace and operated to provide user authentication, space selection, and/or participant selection. The authenticating component 210 can be configured and operated as an authenticating service, such as a PASSPORT service for example. The contacts component 212 can be configured and operated to locate and/or maintain a user contact list. For example, the contacts component 212 can be configured to connect to a MSN service to expose a user's MSN contact list as participants for shared spaces. The canvas dispatch component 214 can be configured and operated to create a new space canvas and display objects in a space. The media recorder component 216 can be configured and operated to record audio, images, video, and other objects/expressions. For example the media recorder component 216 can use a local camera, microphone, and/or other components to record images, audio and video as expressions in a space.
  • With continuing reference to FIG. 2, the frame capture component 218 can be configured and operated to capture “snapshot” images of a space for the history and/or scrapbook. The history/scrapbook manager component 230 can be configured and operated to manage a chronological collection of “snapshots” of a space and to provide the user a mechanism to review and/or store selected expressions in a private local repository referred to as a scrapbook. The history/scrapbook manager component 220 can record every event occurring in a space. Accordingly, a user does not have to continually use save operations, which allow for a more informal interaction with the space. The space manager component 222 can be configured and operated to manage aspects of a space. For example, the space manager component 222 can be configured and operated to manage a local copy of a master file. The content object creator component 224 can be configured and operated to manage objects and other expressions in a space. For example, the content object creator component 224 can be configured and operated to manage images, ink, text, and/or other user expressions.
  • The data synchronizer compound 226 can be configured and operated to synchronize data files between a user computing device 202 and a serving computing device 204. For example, the data synchronizer component 226 can be configured and operated to synchronize master data files between the user computing device 202 and serving computing device. The file creator component 228 can be configured and operated to manage shared space data file, including, but not limited to: creating, opening, and saving shared space data files. The response/request handler component 230 can be configured and operated to manage communication between computing devices. For example, the response/request handler component 230 can be configured and operated to manage communication between the computing device 202 and the serving computing device 204. The space canvas component 232 can be configured and operated as a user interface to enable user interaction with a space.
  • In accordance with this embodiment, the serving computing device 204 includes a number of shared space components. As shown in FIG. 2, the serving computing device 204 includes, but is not limited to: a data synchronizer component 234; a response/request handler component 236; and, a space manager component 238. The data synchronizer component 234 can be configured and operated to synchronize data files between the serving computing device 202 and one or more user computing devices. For example, data synchronizer component 234 can be configured and operated to synchronize master data files between the serving computing device 204 and user computing device 202. The response/request handler component 236 can be configured and operated to manage communication between the serving computing device and one or more other computing devices, including other serving computing devices. The space manager component 238 can be configured and operated to manage aspects of a space. For example, the space manager component 238 can be configured and operated to manage a read-write master copy of a master file. Other embodiments are available.
  • The shared space application 206 is configured to use and provide various objects in a shared space. In one embodiment, the shared space application 206 uses and provides: participant indicators (e.g. icon, digital image, etc.) that represent other users who are sharing a space; expressions in the space (e.g. ink, text, photos, video, live connections, etc.); and, a number of interactive tools. For example, an icon (e.g. default person/group icon) or a digital image can be used to represent an individual or group that is sharing a space. A digital image or photo can be imported or dropped using the contacts component 212 along with a name associated with individual or group name. The contacts component 212 can be configured to propagate name/photo updates/changes to the shared space application 206. An individual participant indicator can include an indication of a participant status or state (e.g. present, occupied, not present, etc). A group participant indicator can also include a count of participants in each state (4 or 12 present, etc). When a user taps a participant indicator, a live connection is established (e.g. audio and/or video depending on available device hardware and service features), as described below.
  • Expressions include any participant created item in a space including ink, images, text, video, live connections, etc. For example, a participant can use a tablet pen to draw a picture or write some text. The user can also use a finger and a touchscreen to ink in a space for example. In an embodiment, an expression can include three states: normal, focus, and magnify, bat is not so limited. In the normal expression state, new expressions appear on top of old expressions (except for live connections which always appear on top). Previously kept live connections can be represented by a live connection indicator, such as a live connection icon for example. Text expressions can be scrolled by touching in the text area and dragging up/down. Giving focus to an expression (or group of expressions) in a shared space operates to display a marquee around the item.
  • Table 1 below lists a number of expressions and how each expression receives focus.
  • TABLE 1
    Expression Gets focus when tapped from . . .
    Ink Select Tool
    Image Select Tool
    Video Select Tool
    Audio (music) Select Tool
    Text Select Tool
    Text Tool
    Live Connection Icon Select Tool
    Group of Expressions Select Tool
  • In the focus state, individual expressions (individual select) or group of expressions (group select) can have focus. When an expression (or group of expressions) has focus, it is temporarily displayed on top of other expressions, including a surrounding marquee, magnify button, and move grip. Losing focus returns the expression (or group) to its former position in view order. A user can drag the marquee to move (e.g. drag from center, or move grip), resize the expression (e.g. drag from edges and corners), and rotate (e.g. drag move grip or rotation handle).
  • In one embodiment, any change to an expression (e.g. move, resize, rotate) operates to move the changed expression to the top of view order. Changing focus to an expression without making any changes to the expression operates to return the expression to its former position in view order. The user can clear focus by tapping a blank area of a shared space or selecting another expression. Expressions that are pasted to a shared space are automatically given focus.
  • A user can tap the magnify button which operates to change the expression view to the magnify state. In the magnify state, the expression is magnified to encompass a substantial portion of a display (tools remain visible). An expression cannot be moved, resized, or rotated in the magnify state. A user can tap the close button which operates to return the expression to the focus state.
  • Table 2 below lists a number of contextual controls and information associated with various expressions.
  • TABLE 2
    Expression Controls Info (Meta-data)
    Ink Close Timestamp
    Save copy in Scrapbook Author (>2 Participants only)
    Delete
    Image Close Timestamp
    Save copy in Scrapbook Author (>2 Participants only)
    Delete Size
    Crop (Tool) Location (if recorded)
    Video Close Timestamp
    Save copy in Scrapbook Author (>2 Participants only)
    Delete Size
    Crop Location (if recorded)
    Audio Close Timestamp
    (Music) Save copy in Scrapbook Author (>2 Participants only)
    Delete Size
    Crop
    Text Close Timestamp (sub-statements
    Save copy in Scrapbook within Expression)
    Delete Author (sub-statements
    within Expression)
    Live Close Participant(s)
    Connection Save copy in Scrapbook Timestamp
    Delete Size
    Play Duration
    Stop Current position in recording
    Pause
    Rewind
    Fast Forward
    Group of Close Aggregate Size
    Expressions Save copy in Scrapbook
    Delete
  • The tools of the shared space application are configured to facilitate the sharing of photos, video, audio, ink, text, and other user expressions. The tools can be used to create, select, modify and save expressions. In one embodiment, the tools are provided via the space canvas component 232 and are configured as a number of buttons (e.g. touchscreen buttons, tablet buttons, icons, etc.). The button types include, but are not limited to: a toolset tray button: expands/collapses toolset tray; a toolset button that selects a tool and then collapses the toolset tray; a tool button that activates control (for modal buttons) or expands/collapses a palette (for palettes); and a palette button that selects item/mode/choice from a palette and closes the palette. The appearance of a tool button can change to reflect current palette selection.
  • Table 3 below lists each toolset, tools, and palettes, under an embodiment.
  • TABLE 3
    Toolset Tool Palette
    Ink Pen (default)
    Magnify pen
    Ink thickness Thickness Palette
    Ink color Color Palette
    Stroke Eraser
    Get stuff from . . . My Pictures (default)
    My Videos
    Scrapbook
    History
    Text Text (default)
    Style Style Palette
    Size Size Palette
    Color Color Palette
    Font Font Palette
    Select Individual select (default)
    Group select (bounded Expressions)
    Copy
    Paste
    Undo
    Scrapbook
  • The shared space application 206 and associated tools allow a participant to interact with a space and locate expressions wherever desired in the space. Moreover, space participants are free to interact with a space at their convenience. There is no rigid communication requirement or protocol (e.g. User 1 communication followed by User 2 communication followed by User 3 communication, etc.).
  • As described above, the shared space application 206 is configured to provide a live connection between participants of a shared space. In an embodiment a live connection is configured to behave as an expression with a few exceptions. A live connection can be used to engage in (and store) live audio/video conversation (e.g. like a video conference), or to record a message for another participant (e.g. like voicemail or videomail). In either case, the methods and controls are the same. When a live connection is opened by tapping a participant icon, the user is prompted to select a type of live connection. The type of live connection depends on a type of service subscription.
  • Table 4 below lists the subscription types for live connections of an embodiment.
  • TABLE 4
    Live Connection Live Connection with Group
    Subscription Type with a Participant or multiple Participants
    Basic Audio Record audio and leave as a
    Video message in shared space.
    Record video and leave as a
    message in shared space.
    Premium Audio Combined audio.
    Video Separate video stream for
    each participant.
  • The live connection is configured to provide local (“me”) and remote (“you”) views. In a Group live connection, there is a “you” view for each member of the group. While a live connection is open, a number of controls and information is provided. Duration information is provided to show the duration (e.g. minute:seconds) of a live connection. A mute button is provided (for both audio and video) which operates to mute a device microphone and camera so that others cannot hear or see you. A close button, which when tapped, operates to prompt the user to select either “Cancel”, “Keep” or “Erase”. Selecting cancel returns to the live connection as if the close button had not been tapped. Selecting keep places the live connection in the associated space, and is represented by a live connection icon. Selecting erase discards a buffered live connection.
  • The shared space application 206 is also configured to provide a scrapbook using the history/scrapbook manager component 220. The scrapbook provides a convenient private storage for expressions and space snapshots. The scrapbook can be opened by tapping a scrapbook tool. The scrapbook is configured to provide multiple views (e.g. list, icon, thumbnail, etc.) and grouping/sorting (e.g. by participant, by date, by expression type, by location, etc). The scrapbook also includes a search/filter tool for locating expressions and other items in the scrapbook.
  • Any expression or space snapshot can be stored in the scrapbook. The scrapbook includes a “Save Space” button which operates to save a snapshot copy of a current space into the scrapbook in image form. Contents of the scrapbook are stored in a folder named “My Scrapbook” in the operating filesystem. “My Scrapbook” is a peer to “My Pictures”, “My Notebook”, and “My Music”. The “My Scrapbook” folder can be created when the Shared Space application is installed. Expressions in scrapbook have the same three states (Normal, Focus, Magnify) and all the same respective controls and behaviors as they do in a space except the following controls are changed/added: Move, Resize, Rotate are not available; “Save copy to Scrapbook” is replaced with “Copy to Space”; “Print” button prints an expression or a space snapshot.
  • The “Get Stuff” toolset is configured to provide a convenient way to browse and import items from the operating file system into a space. The “Get Stuff” toolset can be used to browse and import items from various folders, such as My Pictures, My Videos and My Music for example. Tapping the “My <Stuff>” tool from the “Get Stuff” toolset opens a viewer to browse the contents of the respective <stuff> folder in the operating file system. Multiple views are provided (e.g. list, icon, thumbnail, etc) and grouping/sorting (e.g. by Participant, by date, by Expression type, fey location, etc). A search/filter tool is also provided. Expressions have the same three states (Normal, Focus, Magnify) and all the same respective controls and behaviors as they do in a space except the following controls are changed/added: Move, Resize, Rotate are not available; “Save copy to Scrapbook” is replaced with “Copy to Space.”
  • The shared space application 206 is also configured to provide a history using the history/scrapbook manager component 220. In one embodiment, the history is maintained and accessed from the serving computing device 204. The history can be configured as a simple read-only temporal view of a space. In an embodiment, a space history can be displayed in full screen with the following controls: Individual select (default); Group select (bounded Expressions); and, Copy, in another embodiment, the history can be displayed as a list, thumbnails, etc. The history view includes a horizontal scrollbar that can be used to control time (e.g. occupies Tool tray space). Expressions in history have the same three states (Normal, Focus, Magnify) and all the same respective information displayed, but none of the modification controls. Additionally, “Save copy to Scrapbook” is replaced with “Copy to Space”.
  • In an embodiment, the shared space application 206 can be configured to provide three interfaces for accessing automatically stored strokes, segments, and other expressions. The first is infinite undo and redo. Using undo and redo, a user can access any past state of the segment. Second is the time slider. Using the time slider, a user can specify the time point directly, or use jump buttons to get to discrete “interesting” time points. Third is a context-based search, which can be implemented as a behavior. The search behavior allows a user to retrieve previous strokes, segments, and other expressions based on context information such as time, segment location, segment size, ink colors, etc. The search results are shown as a set of thumbnails on the screen, and a user can access a point in history by clicking on a thumbnail.
  • FIG. 3 is a block diagram of a shared space architecture 300, under an embodiment. The shared space architecture 300 can be configured as a layered architecture, including a core layer 302. The core layer includes a service and configuration component 302 a, an event handling component 302 b, and a display context component 302 c.
  • A model layer 304 defines the basic interfaces for documents, user interface, tools, and interaction styles. The model layer 304 includes a space model component 304 a, a user interface model 304 b, a tool model 304 c, an interaction component 304 d, and a physical component 304 e. The model layer 304 includes interfaces and abstract classes that define the abstractions of shared space components. The model layer 304 can be separated from the generic layer 306 to ensure extensibility, flexibility, reusability, and interoperability of modules and components.
  • The space model component 304 a defines the base classes and functionality of objects that can he part of a space. The user-interface model 304 b defines an alternative user-interface concept suitable for roomware components. The tool model 304 c provides additional functionality to the space. Prominent examples are toolbars or browsers. Space browsers have a role in providing the connection, between the user interface and the space. Additionally, the tool model 304 c controls the possible work modes, like the degree of coupling for example. The physical model is the representation of the parts of the “real” world relevant to shared space. For example, the term “station” refers to the computers running a shared space application. The interaction component 304 d supports different styles of interaction, including defining different interaction styles.
  • A generic layer 306 can provide functionality for interacting and communication, such as in team work, meeting, and other situations. The generic layer 306 includes a link and reference component 306 a, a display area component 306 b, a toolbars component 306 c, a click component 306 d, a drag and drop component 306 e, a space component 306 f, an interaction component 306 g, a browser component 3061 h, a gesture component 306 i, and a stations component 306 h. The generic layer 306 includes standard data types like text, graphics, and informal handwritten input, as well as private and public workspaces for generic collaboration support for example.
  • The instances of hypermedia data model classes are included as part of the shared object space. Accordingly, users can access these objects simultaneously. The generic document elements include workspaces (the equivalent of a page), handwritten input (scribbles), texts, and images. The main elements of the user-interface include segments and overlays. The interaction can be divided into “segments”, which defines the space available for a tool, such as a document browser for example. In addition, “overlays” can be positioned freely. Document browser and toolbars are provided by the generic layer 306.
  • For the interaction with components, there are interaction techniques available besides using a mouse and keyboard. These techniques include gestures written with a pen or finger, and support for drag and drop. To generate the gesture events mentioned above, each stroke that is drawn can be sent to a gesture recognizer. The shared space architecture 300 also includes a foundation layer 308 having a synchronization component 308 a, a replication component 308 b, as authentication component 308 c, and a security component 308 d.
  • FIG. 4 is a flowchart which illustrates a procedure for using a shared space application, under an embodiment. As described above, the shared space can be shared between two or more users. The shared space can be updated in accordance with any participant changes when a user is online and the respective computing devices are in communication with one another. Once a user becomes a participant to a shared space, the user can interact and communicate in a variety of ways with another participant or participants of the shared space, as described above.
  • At 400, the shared space application is installed on the users computing device. At 402, the user is prompted to register before using the shared space application. Profile information, associated with the user is collected and can be stored on a serving computing device or locally as part of the registration process. At 404, after registering, the registered user can create or join a space to share with other registered users. Each space can have a unique name to identify the space. After creating a space, the space initiator can invite a number of other users to join the created space. The user can use the contacts repository (e.g. messenger contacts (“buddies”), OUTLOOK contacts, WINDOWS VISTA contacts, etc. or an aggregation of contacts) to identify potential users to share the created space. Once the user has invited another user to join a space, the shared space application is configured to send an invitation message to the invitee. The invitee could receive the invitation message via e-mail, IM, SMS, the shell application on art ultra-mobile PC, and/or via the shared space application the next time the invitee opens the shared space application and is in communication. Each invited user can accept the invitation to create a replicated space file locally.
  • At 406, a shared space is opened and a persistent whiteboard canvas is presented to the user. If the user is online, any participant changes made to the canvas are automatically updated and presented to the user. At 408, a participant can use a number of shared space tools to add an expression, modify an expression, or otherwise interact with the canvas of the shared space. Each online participant sees the interaction by other participants and the updated space canvas. If a user is offline, but comes back online after changes are made by another participant, the participant's canvas is then updated to show the changes. Additionally, each participant can save any object in the space to a local scrapbook. In an embodiment, the scrapbook is space independent, but can be used with any space. As described above, the shared space application also tracks and maintains the process of space modification using a historical record or history. A participant can use the historical record to recall any step at any time.
  • As described above, real-time data synchronization (e.g. after a participant's interaction, after coming online and opening a shared space, etc.) can be provided by the shared space application and associated components so that all online participants are able to “see” the same persisted space, in the form of a space canvas. The synchronization process depends in part on the type of communication network that the participants are using to communicate. For example, a peer-to-peer communication network uses a different synchronization process as compared to a synchronization process between a number of participant computing devices and a serving computing device. At 410, a user closes a space, and the connection(s) between the user's computing device and other participant computing devices are automatically closed. Thereafter, the graphical user interface (GUI) and other utility resources associated with a space canvas are released.
  • Referring now to FIGS. 5A-5K, block diagrams illustrate a user interface for accessing and interacting with a shared space, under an embodiment. As shown in FIG. 5A, a user interface 500 depicts a number of shared spaces associated with the current user of the shared space application. The user interface 500 is shown after the user has successfully completed an authentication process (e.g. username, password, and other login credentials). The user interface 500 shows that the user has a number of contacts that are associated with one or more shared spaces. As shown, the user has shared spaces with contacts that include Peter 502, Rose 504, Robin 506, and Mary 508. The user interface 500 also includes a block for defining a new space for an associated contact 510. As described above, each contact 502-508 associated with a shared space can include a participant picture or other identifying indicia that the user can use to personalize the spaces.
  • FIG. 5B is a block diagram of a user interface 500 which illustrates a number of shared spaces. The connecting lines between the various contacts define a number of shared spaces. For example, Robin 506 and Tom 512 define a shared space with the user. Jacky 514 defines a shared space with the user. Peter 502, Rose 504, Maggie 516, and Frank 518 define another shared space with the user. As described above, the user can use the shared space application to define a number of shared spaces to keep in touch and otherwise interact with select participants.
  • As shown in FIG. 5B, the user has selected Tom 512 (the “x” highlights the user selection) for interaction in a shared space. The user has not selected Robin 506, so the interaction will be solely with Tom 512, until the user invites Robin 506 for this space or opens a different space. After selecting Tom 512, the user can use the button 520 to enter the space. At this point, if Tom is online, a notification is sent to Tom 512 to join the associated space. If Tom is offline or does not have his shared space application open, the notification will be communicated when Tom opens the shared space application and goes online.
  • FIG. 5C shows the user interface 500 after the user has elected to share the space with Tom 512. A status indicator 522 shows that Tom 512 is “online.” As shown in FIG. 5C, the space canvas 524 is blank. That is, neither Tom 512 nor the user has added anything to the space canvas 524. A number of tools 526 are presented to the user for interacting with the space canvas 524.
  • FIG. 5D shows the user interface 500 in a state wherein the user can select from a number of objects (e.g. pictures, videos, audio, etc.) for which to include in the shared space with Tom 512. The objects 528-538 can be selected from local storage, a peer source, or some online source. As shown in FIG. 5D, the user has selected object 528 to insert on to the space canvas 524. That is, the inserted object 528 is an expression provided by the user. Tom 512 sees the object 528 on his space canvas in real-time since he is online. In one embodiment, the user can also user a slideshow button 540 to insert a slideshow on to the space canvas 524. Once the user has selected one more objects, the user can use the insert button 542 to insert the one or more objects on to the space canvas 524.
  • FIG. 5E shows the user interface 500 after the user has selected an object 528 and inserted the object on to the space canvas 524. Once the user has located the object 528 on the space canvas 524, a number of additional context relevant tools 544 are made available to the user for interacting with the inserted object 528. Additionally, the user can use handles 546 and 548 to expand/contract and/or rotate the object 528. FIG. 5F shows the user interface 500 after Tom 512 has drawn an ink drawing 550 onto the space canvas 524. The user was able to see the ink drawing 550 at each stage of its creation by Tom 512. FIG. 5G shows the user interface 500 after Tom 512 has inserted an object 552 on to the space canvas 524. Tom has also typed in some text 554 below his inserted object 552. As described above, the user and Tom 512 are seeing the same interaction and information on their respective displays, such as a touchscreen interactive display for example.
  • As described above, the shared space application allows each participant to freely interact with a shared space. FIG. 5H shows the user interface 500 after the user has moved Tom's inserted object 552 to a new location on the space canvas 524. The ink 550 is now partially covered by the relocated object 552. FIG. 5I shows the user interface 500 after Tom 512 has inked 556 a question asking why the user moved the object 552.
  • FIG. 5J shows the user interface 500 in a scrapbook view 558. The user has saved a number of items 560-568 to the scrapbook. In one embodiment, the content(s) of the scrapbook is saved locally to the user's computing device. The user interface 500 also includes a button 570 that the user can click on to go to the history view. FIG. 5K shows the user interface 500 in a history view 559. The history includes a number of history details 572-582 that have been recorded by the shared space application and represent participant changes and interaction with the space and space canvas 524. The user can also use the user interface 500 to mark a time in history for saving in addition to the automatic saves. In one embodiment, the history is saved to a serving computing device and made available to a user when connected and online.
  • As described above, in an embodiment, a shared space application can be included or installed on a computing device and be associated with a serving computer for managing aspect of a shared space. For example, the shared space application can be installed on an ultra-mobile personal computer. The portability of the ultra-mobile PC enables users to use the shared space application in an immediate, convenient, and readily accessible manner. A shared space application can be configured to provide a shared space to allow a number of users to communicated and interact with one another. A space can always be made available to all participants of the space, regardless of whether there is a network connection. That is, a participant is free to interact with the space once a space is created, even when the participant is not currently connected or online. Any changes are updated to other participant spaces when the participant is connected and/or goes online.
  • Moreover, the shared space application enables any space participant to add, modify, create, etc. an expression at any time without requiring other participants to join a session. Accordingly, the shared space application allows a degree of freedom, allowing all participants to express themselves whenever they choose. Likewise, the shared space application allows expression recipients the freedom to respond whenever they choose. There is no direct or implied obligation to respond immediately.
  • The shared space application can provide a persistent canvas wherein all participant expressions are visible on a single display. For example, a display of an ultra-mobile personal computing device can be used to display a shared space, wherein user expressions can be persisted within the display. A user does not have to scroll forward and back to find desired information since the expressions are contained within a visible area of the space canvas and display (including hidden expressions). The shared space is configured to be substantially visually identical for all participants who are online and have the space open.
  • Additionally, the shared space application is configured to enable all participants to see edits and other modification to a shared space in real-time or substantially in real-time (e.g. depending on connectivity, bandwidth, and other factors). A user can use a pen or finger to draw any handwritten stroke any where in the space by dragging the pen or finger on the space canvas (termed “stroking”). A user can erase by drawing a scribbling stroke with the stylus's modifier button down (termed “metastroking”) or a finger. The shared space application is configured to allow all of the participants see the editing process as it occurs. For example, the participants, can see the characters as they are typed (e.g. you see corrections), ink as its drawn (and erased), etc. Thus, the shared space application creates a sense of presence that is lacking in many other applications.
  • As described herein, a shared space provides a mechanism for users to keep in touch using emotionally expressive and/or passive communications, but is not so limited. As business relationships, families, and friendships spread over greater distances, the shared space provides a convenient way to communicate without being a hassle and obtrusive. For example, consider a family, wherein the family members reside in different parts of the country. The entire family can communicate and participate with one another by using a shared space. Siblings can post photos of significant life events, or just common daily occurrences. Other family members can also use the shared space to comment on the photos, ash for advice, and/or share ideas. The interaction flows naturally as annotations, drawings, personal notes, video, and/or audio clips are added by the various participants. Whenever multiple participants happen to be viewing a shared space, they can also serendipitously engage in a live conversation.
  • As another example, consider a business made up of multiple business units that rely on one another to provide important services to consumers. The business units are located in different parts of the world. Rather than using unreliable e-mail or telephone communication, each employee of the business has a shared space application running on an ultra-mobile personal computing device. The employee can strategically set-up and monitor one or more shared spaces between important counterparts of the business. For example, a product group can set up a shared space for communicating with strategic business planners for the launch of a new device. The interaction flows naturally as annotations, inking, drawings, images, personal notes, video, and/or audio clips are added by the various participants. Users can also use the shared space application to engage in live audio and/or video conversation if the parties happen to be available at the same time.
  • Exemplary Operating Environment
  • Referring now to FIG. 6, the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules.
  • Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • Referring now to FIG. 6, an illustrative operating environment for embodiments of the invention will be described. As shown in FIG. 6, computer 2 comprises a general purpose desktop, laptop, handheld, or other type of computer capable of executing one or more application programs. The computer 2 includes at least one central processing unit 8 (“CPU”), a system memory 12, including a random access memory 18 (“RAM”) and a read-only memory (“ROM”) 20, and a system bus 10 that couples the memory to the CPU 8. A basis input/output system containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in the ROM 20. The computer 2 further includes a mass storage device 14 for storing an operating system 32, application programs, and other program modules.
  • The mass storage device 14 is connected to the CPU 8 through a mass storage controller (not shown) connected to the bus 10. The mass storage device 14 and its associated computer-readable media provide non-volatile storage for the computer 2. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed or utilized by the computer 2.
  • By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 2.
  • According to various embodiments of the invention, the computer 2 may operate in a networked environment using logical connections to remote computers through a network 4, such as a local network, the Internet, etc. for example. The computer 2 may connect to the network 4 through a network interface unit 16 connected to the bus 10. It should be appreciated that the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems. The computer 2 may also include an input/output controller 22 for receiving and processing input from a number of input types, including a keyboard, mouse, pen, finger and/or other means. Similarly, an input/output controller 22 may provide output to a display, a printer, or other type of output device. Additionally, a touch screen can server as an input and an output mechanism.
  • As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device 14 and RAM 18 of the computer 2, including an operating system 32 suitable for controlling the operation of a networked personal computer, such as the WINDOWS XP operating system from MICROSOFT CORPORATION of Redmond, Wash. The mass storage device 14 and RAM 18 may also store one or more program modules. In particular, the mass storage device 14 and the RAM 18 may store application programs, such as a word processing application 28, an imaging application 30, e-mail application 34, drawing application, etc.
  • It should be appreciated that various embodiments of the present invention can be implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, logical operations including related algorithms can be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, firmware, special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
  • Although the invention has been described in connection with various exemplary embodiments, those of ordinary skill in the art will understand that many modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of the invention in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow.

Claims (20)

We claim:
1. A system comprising:
a space canvas to display a number of expressions;
a number of tools to interact with a shared space that is shared by a number of associated users, wherein the number of tools provide functionality to include an expression including ink, text, and other user expressions on the space canvas, wherein the number of tools are used to add and modify expressions within the space canvas as part of offline and online user interactions with the shared space; and
an update component to automatically update the space canvas with changes made to the space canvas including using an aggregate of offline changes made by associated users to update the space canvas with the offline changes including previous ink strokes, segments, and any other expressions based part in on contextual information including time, segment, and ink parameters.
2. The system of claim 1, the update component further to update the space canvas based in part on use of one of the number of tools to interact with the space canvas using handwritten, video, and audio expressions, wherein a handwritten expression includes digital ink strokes.
3. The system of claim 1, the update component further to expose participant expressions to each communicating participant.
4. The system of claim 3, the update component further to synchronize the participant expressions with shared space data of each online participant.
5. The system of claim 3 including a master file to update the shared space with the participant expressions.
6. The system of claim 1 including a scrapbook component to store select ones of the participant expressions.
7. The system of claim 1 including a history of the shared space for retrieving previous ink strokes, segments, and other expressions based in part on context information including segment location, segment size, and the ink parameters.
8. The system of claim 1, wherein the number of tools can be used to create, modify, and save one or more expressions to the space canvas and to retrieve previous inking strokes, segments, and other expressions based in part on associated context information.
9. The system of claim 1, wherein the number of tools include a toolset tray button, a toolset button, a tool button, and a palette button.
10. The system of claim 1, wherein the space canvas can receive input from one of a stylus, keyboard, and a finger.
11. The system of claim 1 configured to establish a live connection with other participants as part of using the shared space.
12. The system of claim 1, the update component further to expose expressions made by remote participants.
13. The system of claim 1, wherein the number of tools include magnification and focusing functionality.
14. The system of claim 1, wherein the shared space can be used by various participants to communicate information to one another using the space canvas.
15. A computing device comprising:
a shared space that includes a canvas to display user expressions including changes made to the canvas based in part on an aggregate of offline changes to update the canvas with ink strokes, segments, and other expressions based in part on time, segment, and ink parameters; and,
interactive tools used to include ink, text, and other user expressions on the canvas as part of offline and online interactions with the shared space.
16. The device of claim 15, wherein the shared space is updated with participant expressions that include inking, text, and other digital expressions as part of a synchronization.
17. The device of claim 15 comprising adding ink and other digital expressions to the canvas using an interactive tool.
18. A method comprising:
providing a shared space that includes a space canvas to display expressions including changes made to the canvas using an aggregate of changes to update the canvas including previous ink strokes, segments, and other expressions; and,
updating the shared space based in part on operations using interactive tools to include ink, text, and other expressions on the space canvas as part of offline and online interactions with the shared space.
19. The method of claim 18 comprising providing the space canvas as a persistent whiteboard canvas.
20. The method of claim 18 comprising updating the space canvas with remote participant expressions.
US14/711,300 2006-11-13 2015-05-13 Shared space for communicating information Abandoned US20150256574A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/711,300 US20150256574A1 (en) 2006-11-13 2015-05-13 Shared space for communicating information

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/599,599 US7698660B2 (en) 2006-11-13 2006-11-13 Shared space for communicating information
US12/713,582 US9071615B2 (en) 2006-11-13 2010-02-26 Shared space for communicating information
US14/711,300 US20150256574A1 (en) 2006-11-13 2015-05-13 Shared space for communicating information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/713,582 Continuation US9071615B2 (en) 2006-11-13 2010-02-26 Shared space for communicating information

Publications (1)

Publication Number Publication Date
US20150256574A1 true US20150256574A1 (en) 2015-09-10

Family

ID=39370475

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/599,599 Active 2028-07-21 US7698660B2 (en) 2006-11-13 2006-11-13 Shared space for communicating information
US12/713,582 Active 2030-07-08 US9071615B2 (en) 2006-11-13 2010-02-26 Shared space for communicating information
US14/711,300 Abandoned US20150256574A1 (en) 2006-11-13 2015-05-13 Shared space for communicating information

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/599,599 Active 2028-07-21 US7698660B2 (en) 2006-11-13 2006-11-13 Shared space for communicating information
US12/713,582 Active 2030-07-08 US9071615B2 (en) 2006-11-13 2010-02-26 Shared space for communicating information

Country Status (14)

Country Link
US (3) US7698660B2 (en)
EP (1) EP2082327A4 (en)
JP (1) JP5050060B2 (en)
KR (1) KR101432333B1 (en)
CN (1) CN101542459B (en)
AU (1) AU2007324103B2 (en)
BR (1) BRPI0719534A8 (en)
CA (1) CA2666340C (en)
IL (1) IL197922A0 (en)
MX (1) MX2009004057A (en)
MY (1) MY148158A (en)
NO (1) NO342862B1 (en)
RU (1) RU2458388C2 (en)
WO (1) WO2008063833A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US9547635B2 (en) 2007-11-09 2017-01-17 Microsoft Technology Licensing, Llc Collaborative authoring
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution
US10025377B1 (en) 2017-04-07 2018-07-17 International Business Machines Corporation Avatar-based augmented reality engagement
US10963209B2 (en) 2013-01-21 2021-03-30 Samsung Electronics Co., Ltd. Method and apparatus for arranging a plurality of icons on a screen
US11720244B2 (en) * 2021-04-22 2023-08-08 Cisco Technology, Inc. Online conference tools for meeting-assisted content editing and posting content on a meeting board

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991636B1 (en) 2004-02-11 2011-08-02 Aol Inc. Buddy list-based calendaring
US7383308B1 (en) * 2004-02-11 2008-06-03 Aol Llc, A Delaware Limited Liability Company Buddy list-based sharing of electronic content
US8275832B2 (en) * 2005-01-20 2012-09-25 International Business Machines Corporation Method to enable user selection of segments in an instant messaging application for integration in other applications
US20080115073A1 (en) * 2005-05-26 2008-05-15 ERICKSON Shawn Method and Apparatus for Remote Display of Drawn Content
US8266214B2 (en) * 2006-01-24 2012-09-11 Simulat, Inc. System and method for collaborative web-based multimedia layered platform with recording and selective playback of content
WO2008018055A2 (en) * 2006-08-09 2008-02-14 Neocleus Ltd Extranet security
US7698660B2 (en) 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US20080201420A1 (en) * 2007-02-20 2008-08-21 William Wong Digital media frame with peer to peer networking
US20080222572A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Look and feel of a web services mashup designer
US20080222237A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Web services mashup component wrappers
US20080222599A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Web services mashup designer
EP2130322B1 (en) * 2007-03-21 2014-06-25 Intel Corporation Protection against impersonation attacks
WO2008114256A2 (en) * 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
US8392604B2 (en) * 2007-10-09 2013-03-05 Yahoo! Inc. Peer to peer browser content caching
KR101455983B1 (en) * 2007-10-19 2014-11-03 엘지전자 주식회사 Mobile terminal and mehod of displaying information therein
US20090288007A1 (en) * 2008-04-05 2009-11-19 Social Communications Company Spatial interfaces for realtime networked communications
US8015496B1 (en) * 2007-10-26 2011-09-06 Sesh, Inc. System and method for facilitating visual social communication through co-browsing
US8187005B1 (en) * 2007-11-13 2012-05-29 Einstruction Corporation Interactive chalkboard
US8474037B2 (en) 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
US8612868B2 (en) * 2008-03-26 2013-12-17 International Business Machines Corporation Computer method and apparatus for persisting pieces of a virtual world group conversation
JP5087456B2 (en) * 2008-04-09 2012-12-05 株式会社インテック Service providing system and user accommodation device constituting the service providing system
US20090259937A1 (en) * 2008-04-11 2009-10-15 Rohall Steven L Brainstorming Tool in a 3D Virtual Environment
EP2286333A4 (en) * 2008-06-05 2012-08-08 Neocleus Israel Ltd Secure multi-purpose computing client
CN102160072A (en) * 2008-07-16 2011-08-17 皮皮特互动有限公司 Method and system for on-line, real-time, interactive collaborative visualization
US20100031152A1 (en) * 2008-07-31 2010-02-04 Microsoft Corporation Creation and Navigation of Infinite Canvas Presentation
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8639032B1 (en) * 2008-08-29 2014-01-28 Freedom Scientific, Inc. Whiteboard archiving and presentation method
US20100100866A1 (en) * 2008-10-21 2010-04-22 International Business Machines Corporation Intelligent Shared Virtual Whiteboard For Use With Representational Modeling Languages
US8239773B1 (en) * 2008-10-28 2012-08-07 United Services Automobile Association (Usaa) Systems and methods for co-browsing on a mobile device
US20140033134A1 (en) * 2008-11-15 2014-01-30 Adobe Systems Incorporated Various gesture controls for interactions in between devices
US20100131882A1 (en) * 2008-11-21 2010-05-27 Randall Reese Machine, Program Product, And Computer-Implemented Method For File Management And Storage
US8255808B2 (en) * 2008-12-12 2012-08-28 Nokia Corporation Controlling data transfer between devices
US8473571B2 (en) * 2009-01-08 2013-06-25 Microsoft Corporation Synchronizing presentation states between multiple applications
US9065874B2 (en) * 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
US20100262924A1 (en) * 2009-04-08 2010-10-14 Kalu Onuka Kalu System and method for linking items to a group
US10127524B2 (en) 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US20100306018A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Meeting State Recall
US20100302150A1 (en) * 2009-05-29 2010-12-02 Gerold Keith Shelton Peer layers overlapping a whiteboard
US9135599B2 (en) * 2009-06-18 2015-09-15 Microsoft Technology Licensing, Llc Smart notebook
US8635317B2 (en) * 2009-06-23 2014-01-21 Nokia Corporation Method and apparatus for providing uniform content management
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
GB2472406B (en) * 2009-08-04 2013-04-10 Promethean Ltd Specific user field entry
US8201094B2 (en) * 2009-09-25 2012-06-12 Nokia Corporation Method and apparatus for collaborative graphical creation
JP2011215878A (en) * 2010-03-31 2011-10-27 Sharp Corp Terminal device, controlling method of the same, communication system, control program, and recording medium
US20130111380A1 (en) * 2010-04-02 2013-05-02 Symantec Corporation Digital whiteboard implementation
US8359361B2 (en) * 2010-05-06 2013-01-22 Microsoft Corporation Techniques to share media files through messaging
US8713454B2 (en) * 2010-06-25 2014-04-29 Verizon Patent And Licensing Inc. Method and apparatus for sharing virtual workspaces
US8479009B2 (en) * 2010-09-17 2013-07-02 International Business Machines Corporation Wearable time-bracketed video authentication
US9021402B1 (en) 2010-09-24 2015-04-28 Google Inc. Operation of mobile device interface using gestures
KR101732909B1 (en) * 2010-11-25 2017-05-08 삼성전자주식회사 Apparatus and method for sharing capttured data in portable terminal
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US20120272233A1 (en) * 2010-12-20 2012-10-25 Won Jae Lee Automatic creating method of group application and couple application
US8401171B1 (en) 2010-12-20 2013-03-19 United Services Automobile Association (Usaa) Computing device assistance for phone based customer service representative interaction
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
KR101964252B1 (en) * 2011-01-05 2019-04-01 톰슨 라이센싱 Multi-screen interactions
US20120213404A1 (en) 2011-02-18 2012-08-23 Google Inc. Automatic event recognition and cross-user photo clustering
US20120216152A1 (en) * 2011-02-23 2012-08-23 Google Inc. Touch gestures for remote control operations
US8914483B1 (en) 2011-03-17 2014-12-16 Google Inc. System and method for event management and information sharing
KR101789331B1 (en) * 2011-04-11 2017-10-24 삼성전자주식회사 Apparatus and method for sharing informaion in virtual space
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
US8918463B2 (en) 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
US20120284638A1 (en) * 2011-05-06 2012-11-08 Kibits Corp. System and method for social interaction, sharing and collaboration
US20120317500A1 (en) * 2011-06-07 2012-12-13 At&T Intellectual Property I, L.P. System and method for data visualization and user collaboration
US8752138B1 (en) * 2011-08-31 2014-06-10 Google Inc. Securing user contact information in collaboration session
US8732255B2 (en) * 2011-09-09 2014-05-20 Facebook, Inc. Dynamically created shared spaces
US11258676B2 (en) 2011-09-14 2022-02-22 Barco N.V. Electronic tool and methods for meetings
CN103931175B (en) 2011-09-14 2018-04-20 巴科股份有限公司 electronic tool and method for conference audio
US8756348B2 (en) 2011-09-14 2014-06-17 Barco N.V. Electronic tool and methods for meetings
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US8898593B2 (en) 2011-10-05 2014-11-25 Microsoft Corporation Identification of sharing level
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
JP2013088878A (en) * 2011-10-13 2013-05-13 Sony Corp Information processing system, information processing method, and program
TW201316184A (en) * 2011-10-14 2013-04-16 Kdan Mobile Software Ltd Computer program product for electronic device blocks retrieval and paste
KR101423524B1 (en) * 2011-12-21 2014-08-01 주식회사 더클락웍스 User interface for drawing, and system and method for sharing drawings
KR101895905B1 (en) * 2012-03-14 2018-09-07 한국전자통신연구원 System and method for extending an user-interface, and storage medium storing the same
US8909826B2 (en) * 2012-03-14 2014-12-09 Electronics And Telecommunications Research Institute System and method for extending user-interface, and storage medium storing the same
US8866771B2 (en) * 2012-04-18 2014-10-21 International Business Machines Corporation Multi-touch multi-user gestures on a multi-touch display
US20130290855A1 (en) * 2012-04-29 2013-10-31 Britt C. Ashcraft Virtual shared office bulletin board
US20130293573A1 (en) 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent 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
US20130332512A1 (en) 2012-06-10 2013-12-12 Apple Inc. Creating and publishing image streams
US9391792B2 (en) 2012-06-27 2016-07-12 Google Inc. System and method for event content stream
US10394429B2 (en) 2012-06-29 2019-08-27 Qualcomm Incorporated Sharing of user interface objects via a shared space
KR101899816B1 (en) * 2012-07-26 2018-09-20 엘지전자 주식회사 Terminal and method for sharing hand writing t using thereof
KR101415403B1 (en) * 2012-08-31 2014-07-04 이병환 System and method for providign secure space being shared
US10200256B2 (en) * 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9418370B2 (en) 2012-10-23 2016-08-16 Google Inc. Obtaining event reviews
US20140136985A1 (en) * 2012-11-12 2014-05-15 Moondrop Entertainment, Llc Method and system for sharing content
US10902179B2 (en) * 2012-12-10 2021-01-26 Microsoft Technology Licensing, Llc Modification of file graphic appearance within a collection canvas
WO2014091728A1 (en) * 2012-12-13 2014-06-19 パナソニック株式会社 Content sharing system, content sharing method, and information communication device
US11861561B2 (en) 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map
US10304037B2 (en) * 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US10044979B2 (en) * 2013-08-19 2018-08-07 Cisco Technology, Inc. Acquiring regions of remote shared content with high resolution
US9405964B1 (en) * 2013-09-09 2016-08-02 Amazon Technologies, Inc. Processes for generating content sharing recommendations based on image content analysis
US9516259B2 (en) * 2013-10-22 2016-12-06 Google Inc. Capturing media content in accordance with a viewer expression
US20150180980A1 (en) 2013-12-24 2015-06-25 Dropbox, Inc. Systems and methods for preserving shared virtual spaces on a content management system
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US10067652B2 (en) 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US20150189012A1 (en) * 2014-01-02 2015-07-02 Nvidia Corporation Wireless display synchronization for mobile devices using buffer locking
US9893903B2 (en) * 2014-02-24 2018-02-13 Microsoft Technology Licensing, Llc Creating connections and shared spaces
US10834151B2 (en) * 2014-05-23 2020-11-10 Lenovo (Singapore) Pte. Ltd. Dynamic communication link management for multi-user canvas
US9973552B2 (en) * 2014-08-04 2018-05-15 Candex Technologies Ltd. Systems and methods for organizational collaboration
US20160072858A1 (en) * 2014-09-10 2016-03-10 RIV Tech, Inc. Methods and systems for remote interactive viewing
US10216996B2 (en) * 2014-09-29 2019-02-26 Sony Interactive Entertainment Inc. Schemes for retrieving and associating content items with real-world objects using augmented reality and object recognition
FR3028700A1 (en) * 2014-11-14 2016-05-20 Orange METHOD AND DEVICE FOR COMMUNICATING VIA A SHARED INTERACTION SPACE
SG10201501720UA (en) * 2015-03-06 2016-10-28 Collaboration Platform Services Pte Ltd Multi user information sharing platform
US9967213B2 (en) * 2015-03-06 2018-05-08 Cyberlink Corp. Systems and methods for providing instant messaging with interactive photo sharing
US20160321025A1 (en) * 2015-04-30 2016-11-03 Kabushiki Kaisha Toshiba Electronic apparatus and method
EP3292524B1 (en) 2015-05-06 2020-07-08 Haworth, Inc. Virtual workspace viewport follow mode in collaboration systems
EP3136324A1 (en) * 2015-08-31 2017-03-01 Setza Sarl System, method and display device for managing the occupation of shared spaces
EP3274878A1 (en) 2015-09-28 2018-01-31 Google LLC Sharing images and image albums over a communication network
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
TWI628636B (en) * 2016-01-05 2018-07-01 夸克邏輯股份有限公司 Method and system to port multi device workspace data
US10129335B2 (en) 2016-01-05 2018-11-13 Quirklogic, Inc. Method and system for dynamic group creation in a collaboration framework
US10067731B2 (en) 2016-01-05 2018-09-04 Quirklogic, Inc. Method and system for representing a shared digital virtual “absolute” canvas
US10324618B1 (en) * 2016-01-05 2019-06-18 Quirklogic, Inc. System and method for formatting and manipulating digital ink
US10355872B2 (en) * 2016-02-05 2019-07-16 Prysm, Inc Techniques for a collaboration server network connection indicator
US10255023B2 (en) 2016-02-12 2019-04-09 Haworth, Inc. Collaborative electronic whiteboard publication process
US20170244768A1 (en) * 2016-02-19 2017-08-24 Microsoft Technology Licensing, Llc Participant-specific functions while interacting with a shared surface
US10409463B2 (en) * 2016-05-13 2019-09-10 Google Llc Forking digital content items between digital topical environments
US20170346863A1 (en) * 2016-05-27 2017-11-30 Microsoft Technology Licensing, Llc Monitoring Network Events
WO2018004031A1 (en) * 2016-06-29 2018-01-04 주식회사 유비온 Method for dynamic generation of collaboration record by using social platform
US11016634B2 (en) * 2016-09-01 2021-05-25 Samsung Electronics Co., Ltd. Refrigerator storage system having a display
US20180121038A1 (en) * 2016-11-01 2018-05-03 Microsoft Technology Licensing, Llc Contextual canvases for a collaborative workspace environment
CN106953924B (en) * 2017-03-30 2021-05-07 腾讯科技(深圳)有限公司 Processing method of shared information and shared client
US10469274B2 (en) * 2017-04-15 2019-11-05 Microsoft Technology Licensing, Llc Live ink presence for real-time collaboration
US20180300302A1 (en) * 2017-04-15 2018-10-18 Microsoft Technology Licensing, Llc Real-Time Collaboration Live Ink
CN110770717A (en) 2017-05-17 2020-02-07 谷歌有限责任公司 Automatic image sharing with designated users over a communication network
US10895954B2 (en) * 2017-06-02 2021-01-19 Apple Inc. Providing a graphical canvas for handwritten input
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
KR20200076960A (en) * 2018-12-20 2020-06-30 최재호 Work managing apparatus related file and the method thereof
RU2706467C1 (en) * 2018-12-29 2019-11-19 Николай Евгеньевич Ляпухов Method and device for fixing, recording and storing data on time of birth and user's life events
US11573694B2 (en) 2019-02-25 2023-02-07 Haworth, Inc. Gesture based workflows in a collaboration system
EP3709634A1 (en) * 2019-03-13 2020-09-16 Ricoh Company, Ltd. Communication management system, communication system, communication management device, image processing method, and carrier medium
CN110716680B (en) * 2019-10-09 2021-05-07 广州视源电子科技股份有限公司 Control method and device of intelligent interactive panel
CN112565425B (en) * 2020-12-03 2021-08-06 南京机敏软件科技有限公司 Method for copying and pasting among cloud application programs of multiple cross-cloud server host machine sessions
US11711493B1 (en) 2021-03-04 2023-07-25 Meta Platforms, Inc. Systems and methods for ephemeral streaming spaces
JP2022145219A (en) * 2021-03-19 2022-10-03 株式会社リコー Display device, data sharing system, display control method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US20040225715A1 (en) * 2002-06-20 2004-11-11 Linda Gottfried Method and system for sharing brand information
US20040237033A1 (en) * 2003-05-19 2004-11-25 Woolf Susan D. Shared electronic ink annotation method and system
US20070050720A1 (en) * 2005-08-25 2007-03-01 Sharp Frederick T Technique for selecting and prioritizing choices
US7356393B1 (en) * 2002-11-18 2008-04-08 Turfcentric, Inc. Integrated system for routine maintenance of mechanized equipment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5956028A (en) 1995-09-14 1999-09-21 Fujitsu Ltd. Virtual space communication system, three-dimensional image display method, and apparatus therefor
JP3592004B2 (en) 1996-10-31 2004-11-24 キヤノン株式会社 Information sharing management system and information sharing system management apparatus and method
AU1075799A (en) 1997-10-09 1999-05-03 Interval Research Corporation Method and apparatus for sending and receiving lightweight messages
US5999208A (en) * 1998-07-15 1999-12-07 Lucent Technologies Inc. System for implementing multiple simultaneous meetings in a virtual reality mixed media meeting room
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
US6629129B1 (en) 1999-06-16 2003-09-30 Microsoft Corporation Shared virtual meeting services among computer applications
JP2001154966A (en) 1999-11-29 2001-06-08 Sony Corp System and method for supporting virtual conversation being participation possible by users in shared virtual space constructed and provided on computer network and medium storing program
JP2001265704A (en) * 2000-03-23 2001-09-28 Megafusion Corp Control method for virtual activity
US7478129B1 (en) * 2000-04-18 2009-01-13 Helen Jeanne Chemtob Method and apparatus for providing group interaction via communications networks
US7124164B1 (en) * 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
JP4953518B2 (en) 2001-05-14 2012-06-13 ケープレックス・インク Information sharing method and apparatus using object-oriented technology
WO2003021985A1 (en) * 2001-09-06 2003-03-13 Tersync Ltd. System and method for providing two-way radio communications network transmissions over internet protocol
US20040003090A1 (en) 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
BRPI0410362B1 (en) * 2003-05-16 2017-06-20 Google Inc. SYSTEMS AND METHODS OF SHARING NETWORK AND NETWORK MEDIA
US8001187B2 (en) 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US8489769B2 (en) 2003-10-02 2013-07-16 Accenture Global Services Limited Intelligent collaborative expression in support of socialization of devices
US7458030B2 (en) 2003-12-12 2008-11-25 Microsoft Corporation System and method for realtime messaging having image sharing feature
US7730129B2 (en) 2004-10-20 2010-06-01 Inbit, Inc. Collaborative communication platforms
US20060112343A1 (en) 2004-11-23 2006-05-25 Palo Alto Research Center Incorporated Methods, apparatus, and program products for aligning presentation of separately recorded experiential data streams
US20060174207A1 (en) 2005-01-31 2006-08-03 Sharp Laboratories Of America, Inc. Systems and methods for implementing a user interface for multiple simultaneous instant messaging, conference and chat room sessions
US7698660B2 (en) 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US20040225715A1 (en) * 2002-06-20 2004-11-11 Linda Gottfried Method and system for sharing brand information
US7356393B1 (en) * 2002-11-18 2008-04-08 Turfcentric, Inc. Integrated system for routine maintenance of mechanized equipment
US20040237033A1 (en) * 2003-05-19 2004-11-25 Woolf Susan D. Shared electronic ink annotation method and system
US20070050720A1 (en) * 2005-08-25 2007-03-01 Sharp Frederick T Technique for selecting and prioritizing choices

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547635B2 (en) 2007-11-09 2017-01-17 Microsoft Technology Licensing, Llc Collaborative authoring
US10394941B2 (en) 2007-11-09 2019-08-27 Microsoft Technology Licensing, Llc Collaborative authoring
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US10057226B2 (en) 2007-12-14 2018-08-21 Microsoft Technology Licensing, Llc Collaborative authoring modes
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution
US10963209B2 (en) 2013-01-21 2021-03-30 Samsung Electronics Co., Ltd. Method and apparatus for arranging a plurality of icons on a screen
US10025377B1 (en) 2017-04-07 2018-07-17 International Business Machines Corporation Avatar-based augmented reality engagement
US10222856B2 (en) 2017-04-07 2019-03-05 International Business Machines Corporation Avatar-based augmented reality engagement
US10222857B2 (en) 2017-04-07 2019-03-05 International Business Machines Corporation Avatar-based augmented reality engagement
US10585470B2 (en) 2017-04-07 2020-03-10 International Business Machines Corporation Avatar-based augmented reality engagement
US11150724B2 (en) 2017-04-07 2021-10-19 International Business Machines Corporation Avatar-based augmented reality engagement
US11720244B2 (en) * 2021-04-22 2023-08-08 Cisco Technology, Inc. Online conference tools for meeting-assisted content editing and posting content on a meeting board

Also Published As

Publication number Publication date
MX2009004057A (en) 2009-04-27
CN101542459A (en) 2009-09-23
BRPI0719534A2 (en) 2014-01-21
CA2666340C (en) 2017-07-11
KR101432333B1 (en) 2014-08-20
AU2007324103B2 (en) 2011-09-29
US20080114844A1 (en) 2008-05-15
AU2007324103A1 (en) 2008-05-29
NO20091461L (en) 2009-07-29
CN101542459B (en) 2012-01-11
CA2666340A1 (en) 2008-05-29
US7698660B2 (en) 2010-04-13
KR20090085068A (en) 2009-08-06
JP2010509697A (en) 2010-03-25
RU2458388C2 (en) 2012-08-10
NO342862B1 (en) 2018-08-20
US9071615B2 (en) 2015-06-30
JP5050060B2 (en) 2012-10-17
EP2082327A1 (en) 2009-07-29
MY148158A (en) 2013-03-15
WO2008063833A1 (en) 2008-05-29
BRPI0719534A8 (en) 2017-01-17
IL197922A0 (en) 2009-12-24
EP2082327A4 (en) 2013-05-01
US20100153857A1 (en) 2010-06-17
RU2009117840A (en) 2010-11-20

Similar Documents

Publication Publication Date Title
US9071615B2 (en) Shared space for communicating information
JP5547461B2 (en) Method for synchronous authoring and access of chat and graphics
US9021041B2 (en) System to provide integrated on-line support
US20190026269A1 (en) Systems and methods for providing access to data and searchable attributes in a collaboration place
RU2391700C2 (en) Spaces of joint operation
US10033774B2 (en) Multi-user and multi-device collaboration
CN104067303B (en) Collection to the notebook driving of meeting document and annotation
US8464164B2 (en) System and method to create a collaborative web-based multimedia contextual dialogue
US9626064B2 (en) Presentation facilitation
US20120150577A1 (en) Meeting lifecycle management
US20080005269A1 (en) Method and apparatus to share high quality images in a teleconference
CN107438840A (en) Support the integrated working space of Shared Folders
US10088981B2 (en) User engagement application across user interface applications
US20160057181A1 (en) Visualizing Multi-Modal Conversations
CN113971392A (en) Document editing method, device, equipment and medium
US20140123076A1 (en) Navigating among edit instances of content
CN111309211A (en) Picture processing method and device and storage medium
US11875081B2 (en) Shared screen tools for collaboration
US20230388141A1 (en) System and method for documenting and controlling meetings employing bot
US20230394440A1 (en) Generating collaborative documents for virtual meetings in a communication platform
Tee Artifact awareness for distributed groups through screen sharing

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SANCHEZ, RUSSELL;COLANDO, CHRISTIAN;OHTA, SEIYA;SIGNING DATES FROM 20061107 TO 20070102;REEL/FRAME:036337/0438

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:036337/0507

Effective date: 20141014

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION