1. Field of the Invention
The present invention relates generally to collaboration systems and, more particularly, to a collaboration system that permits users to seamlessly initiate collaboration sessions and launch collaboration sessions from an e-mail or Instant Messaging interface.
2. Description of the Related Art
The early Internet was dominated by static web pages that were updated rarely, if at all. As Internet usage increased, dynamic web pages became more common. Content management systems served dynamic pages that were generated on-the-fly from content databases that were constantly updated. For the most part, the content made available on these web sites were created and organized by the web sites themselves or syndicated from other web sites.
Many web sites today rely on users to create and organize the content that are made available on their web sites. In general, these web sites provide a software platform that encourages user participation through creation, organization and sharing of content. Rather than focusing on the creation of the content that is available on their web sites, their focus has been on providing the facilities and framework for users to publish their own content.
The attractiveness of these web sites is their potential ability to grow the user base exponentially through viral marketing and to leverage the entire user base to supply and organize relevant content. The objective is to have much of the marketing of the web site and the creation and organization of the content on the web site be carried out by the users themselves, so that the cost of operating such a web site can be kept very low.
Some of the more popular technologies that have been developed to enable the creation, organization and sharing at these web sites include blogging, podcasting, RSS feeds, wikis, and tags. Blogging provides users with a platform and tools to compose content for sharing with other users. Podcasting provides users with a platform and tools to select and organize multimedia content to be shared with other users. RSS feeds are used by these web sites to receive summaries of web content together with links to the full versions of the content from other web sites. Wikis provide a common platform for a group of users to collaborate in generating content. Tags are user-defined keywords for classifying content and are used to organize content created and published by users.
Web based conferencing solutions also permit users to collaborate over the Internet. In such an environment, attendees can view documents and images that are being presented by a conference leader and communicate with one another verbally over the Internet or by a separate telephone connection. Some solutions like Microsoft Office Live Meeting permit the conference leader to run desktop applications on his or her computer and permit the attendees to view the graphical user interface (GUI) of the desktop applications so that they can view the inputs made through the GUI as well as outputs generated in response thereto.
The web based conferencing solutions described above has a limitation in that one person, i.e., the conference leader, has control over the documents and images being presented and the desktop application. The attendees are merely passive observers who consume information that is supplied to them. Any collaboration by the attendees is by verbal communication.
U.S. Patent Application Pub. No. 2006/0026502 discloses a document collaboration system that permits participants to collaborate more actively. This system permits multiple participants to view, markup, and annotate a document simultaneously and in real-time using a web browser. To participate in a document collaboration session, the user logs into a web site that hosts this document collaboration system at the time designated by the initiator. The initiator sends notification of the document collaboration session to the participants by e-mail.
One disadvantage in the document collaboration process disclosed in U.S. Patent Application Pub. No. 2006/0026502 is that a considerable amount of effort is expended in setting up the document collaboration session. First, a document to be collaborated on has to be uploaded into the collaboration server. Second, an invitation has to be sent out to the participants. Third, the participants need to be registered with the web site that is hosting the document collaboration session and are required to log in at the designated time to begin the collaboration session.
The present invention provides a more efficient collaboration process. The collaboration process according to embodiments of the present invention is centered around an object (e.g., digital media such as an image, a video, a document, a CAD drawing, a 3D model) that is the subject of the collaboration, and makes the role of the server computer that is hosting the collaboration session more transparent to the user. As a result, with the present invention, a user can initiate a collaboration session without logging into the server computer and uploading the object onto the server computer. A user can also join a collaboration session without logging into the server computer.
According to one embodiment of the present invention, a collaboration session may be initiated by a user while viewing a web page using a browser by selecting an object on that web page, activating a contextual menu and selecting the option to initiate a collaboration session from the contextual menu. The user then inputs his or her e-mail address, e-mail addresses of those invited to join the collaboration session, and any comments. In response to the submission of these inputs, an e-mail communication is generated and transmitted to the invitees. The e-mail communication includes a representation of the object (e.g. a thumbnail image) and a hyperlink that permits the e-mail recipient to join the collaboration session by clicking on the hyperlink.
According to another embodiment of the present invention, a collaboration session may be initiated by a user directly from a desktop of the user's computer by selecting a file name corresponding to an object to activate a contextual menu and selecting the option to initiate a collaboration session from the contextual menu. The user then inputs his or her e-mail address, e-mail addresses of those invited to join the collaboration session, and any comments. In response to the submission of these inputs, an e-mail communication is generated and transmitted to the invitees. The e-mail communication includes the thumbnail representation of the object and a hyperlink that permits the e-mail recipient to join the collaboration session by clicking on the hyperlink.
Because of the asynchronous nature of e-mail communications, the present invention is particularly applicable to asynchronous collaboration sessions. However, the present invention also supports synchronous collaboration sessions (e.g. if more that one invitee is collaborating on an object at the same time all the collaborators can see in real-time what the others are doing). In this embodiment, the initiator facilitates a synchronous session by specifying a time and date for the collaboration session and the e-mail communication is prepared as a calendar item to be added to the recipient's calendar. This calendar item includes the thumbnail representation of the object that is the subject of the collaboration and a hyperlink that launches the collaboration session. This calendar item may, optionally, be added automatically to the initiator's on-line or desktop calendar.
Another embodiment that is well suited to synchronous collaboration sessions is the initiation of a collaborative session on an object through an Instant Messaging (IM) application. In this embodiment, the user initiates a collaborative session by clicking on a button on the IM interface to “Send Object for Collaboration.” Other participants in the IM session receives a hyperlink for joining the collaboration session through their respective IM interfaces and can join the collaborative session by clicking on the hyperlink.
With the present invention, collaboration sessions may be initiated from the server computer as well. In this embodiment, a user logs into the server computer that is hosting the collaboration session, selects an object that is the subject of the collaboration, and generates an e-mail communication to invitees through an interface provided by the server computer. The e-mail communication includes the thumbnail representation of the object and a hyperlink that permits the e-mail recipient to join the collaboration session by clicking on the hyperlink.
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
Each client computer 110 includes conventional components of a computing device, e.g., a processor, system memory, a hard disk drive, input devices such as a mouse and a keyboard, and output devices such as a monitor (not shown). Each of the web servers 120 and the collaboration server 130 includes a processor and a system memory (not shown), and manages the contents stored in its respective content storage unit using a relational database software. The web servers 120 and the collaboration server 130 are programmed to communicate with the client computers 110 and with each other using the TCP/IP protocol. The client computers 110 are programmed to execute web browser programs and access the web pages managed by the web servers 120 and the collaboration server 130 by specifying a uniform resource locator (URL) into the browser.
In the embodiments of the present invention described below, users are respectively operating the client computers 110 that are connected to the web servers 120 and the collaboration server 130 over the Internet. The web pages that are displayed to a user are transmitted from the web servers 120 and the collaboration server 130 to that user's client computer 110 and processed by the web browser program stored in that user's client computer 110 for display through the monitor of that user's client computer 110.
The collaboration server 130 is configured to host a collaboration session for objects (e.g., digital media such as an image, a video, a document, a CAD drawing, a 3D model). One embodiment of the collaboration server 130 and its associated features and functionalities is described in U.S. Patent Application Pub. No. 2006/0026502, the entire contents of which are incorporated herein by reference.
Another embodiment of the collaboration server 130 is provided by Cozimo Technologies, Inc. and is accessible using the URL: http://www.cozimo.com. The Cozimo web site provides an online collaboration tool for users who work on projects requiring the creation and review of digital media and documents. It offers users a secure and private online environment for managing the review cycles of their projects. The unique annotation tool allows the users to review and annotate digital media and documents with colleagues and clients, either together in real-time web conferences or individually, at the convenience of each project participant. As a web based application, this tool requires no specialized software application downloads. It operates on virtually all operating systems and web browsers. This means that users involved in common projects can collaborate effectively from anywhere in the world so long as an Internet connection is available.
The Cozimo web site is organized around user-defined projects and project work groups. In general, each user-defined project corresponds to some real-world project or task that the user is involved in. Each project can support a distinct file system for organizing the digital content of the project into any number of folders. Each project will also have any number of members who are invited to participate as collaborators on the project. The project owner and the invited users who accept the invitation constitute the project work group or project members. A user may be both a member in projects created and managed by other users as well as the creator and manager of the user's own projects.
Each project member may be given a specific role that defines how he or she may participate in the project. By default, a member will have the role of reviewer who has the ability to view, annotate and comment on any posted content. A member may be assigned the role of contributor. A contributor has the right to upload his or her own content to the project. A member may also be assigned the role of owner to provide full administrative privileges to the member, including the ability to manage project memberships. In addition to defining roles for each project member, a project creator may also designate a member as private. The participation of private members, and any annotations or comments they make, will not be visible to other project members except for the owners.
When a user accesses a project, the project contents and a list of all members of that project, with the exception of private members, are displayed to the user. A sample illustration of this is provided in
The owner of a project can define the “state” of an object that establishes who has the ability to view and collaborate on it. If the state of an object is set as “visible,” all project members can view and annotate it. If the state is set as “private,” only the owners of the project can view it and it will be hidden from all other project members. This makes it possible for the owner to set up items for review in advance and then to reveal them all at once at a specified time and/or only for a specific time period. If the state is set as “public,” the object could be viewed by anyone who is provided with a hyperlink to it. This makes it possible to share or collaborate on objects with people who are not normally part of a project workgroup.
A specific object may be selected and opened for collaboration.
Object annotation tools 310, represented schematically in
The object annotation tools include the following: a pencil tool, a shape tool, a palette tool, a pan tool, a zoom tool, a crop tool, a note tool, a discussion tool, a text tool, a track tool, a navigation tool, a page tool, a video scrub tool, a control tool, an approval tool, a delete tool, an undo tool, a presentation tool, and a layer visibility tool. Each of these tools is described below. Unless indicated otherwise, each tool is activated by clicking a button on the annotation toolbar to set the functionality of the mouse:
The user clicks the mouse to indicate where on the display to initiate the text and then types the text desired. The user can click and drag the text to move it to a different position or double click on the text to continue editing it.
After a project is completed, it may be archived onto the user's local computer. The downloaded archive will provide the user with all the original content together with any associated comments and annotations that were created through the Cozimo web site. This archive will be readable on any computer and will provide a complete record of any work undertaken on the Cozimo web site.
Cozimo offers an alternate way of collaborating on objects that does not require the prior creation of project workgroups. Users may upload objects to a generic public folder (e.g., not associated to any project). A public object can then be collaborated on with anyone by e-mailing them a message that includes a hyperlink of the object. The e-mail recipient can then click on the hyperlink in the e-mail to access and annotate the object. If e-mail addresses are entered in the input section 210, the e-mail message is sent to those addresses as well. Any e-mail address may be entered in the input section 220, even e-mail addresses of those who are not registered users of the Cozimo web site.
Users can initiate a collaboration session in several ways. The conventional way of initiating a collaboration session is to upload an object to be collaborated on onto the collaboration server 130 and notify the members that collaboration on the object is sought. Members then log into the collaboration server 130 over the Internet, access the object, and annotate it. The collaboration may be carried out synchronously or asynchronously. The present invention provides alternative ways to initiate a collaboration session on an object. According to a first embodiment of the present invention, a web browser is configured with an extension so that a contextual menu that is displayed (e.g., when the right mouse button is pressed while the mouse cursor is positioned over an image on a web page) additionally includes the option “Collaborate . . . .” This is illustrated in
According to a second embodiment of the present invention, an e-mail program is configured with an extension so that a contextual menu that is displayed (e.g., when the right mouse button is pressed while the mouse cursor is positioned over an object in an e-mail message) additionally includes the option “Collaborate . . . .” This is illustrated in
According to a third embodiment of the present invention, an operating system is configured with an extension so that a contextual menu that is displayed (e.g., when the right mouse button is pressed while the mouse cursor is positioned over an object in an file folder) additionally includes the option “Collaborate . . . .” This is illustrated in
The content of the e-mail message shown in
According to another embodiment of the present invention, the dialog that opens up in response to a selection of the “Collaborate . . . .” item from the contextual menu may prompt the user for inputs as to the time and date of the collaboration session. If these inputs are entered, the e-mail message that is prepared by the collaboration server 130 is generated and transmitted as a calendar item that can be added directly to the calendar of the e-mail recipient. This calendar item includes the thumbnail image representation of the object that is the subject of the collaboration and a hyperlink that launches the collaboration session, and is illustrated schematically in
According to a fourth embodiment of the present invention, an Instant Messaging software application is configured with an extension so that a button is displayed that offers the ability to “Send Object for Collaboration.” This is illustrated in
In step 711, the initiator selects an object (e.g., an image) for collaboration. Then, in step 712, the initiator identifies the participants for the collaboration session. This can be done by checking off the boxes shown in
The collaboration server 130 stores the object received from the client computer of the initiator and prepares an e-mail or Instant Message for the participants (step 721). In step 722, this message is transmitted. Independent of this e-mail or IM management function, the collaboration server 130 also hosts the collaboration session when it is launched by either the initiator or the participants (step 723).
In step 731, the e-mail or Instant Message transmitted by the collaboration server 130 in step 722 is received at a client computer of a recipient and displayed. When the participant clicks on the hyperlink included in the message for launching the collaboration session, the collaboration session is launched (step 732).
When a collaboration is asynchronous, participants may not be aware that the object of the collaboration is being annotated. In order to keep the participants up to date on new comments and new annotations, the collaboration server 130 is configured with a notification mechanism to inform participants that new comments or new annotations took place while they were offline.
The client computers receive the applet from the collaboration server 130 and run the applet (step 831). A bi-directional connection is thereby established between the collaboration server 130 and the client computers through the socket that was opened in step 821, Thereafter, any annotations made through the client computers are transmitted to the collaboration server 130 (step 832). The client computers also receive annotations made by other client computers through the collaboration server 130 (step 832). In step 833, the annotations are displayed.
In step 823, the collaboration server 130 receives annotations from various client computers and passes on these annotations to other client computers. As a result, all annotations, regardless of the source, can be displayed on all of the client computers simultaneously and in real-time. The annotations are communicated between the collaboration server 130 and the client computers as XML files. However, any type of data exchange protocol may be employed so long as the communication program running on the collaboration server 130 and the applets running on the client computers are changed accordingly.
The Cozimo Multimedia Framework Core is the central framework module. It provides an object-model back-end to describe objects, transactions, basic security levels, basic membership hooks, dynamic information sharing as well as a basic search engine for dynamic queries and lookups. An important property of the Core is that it is pluggable. Dynamic Products and Classes are defined to implement different collaboration and data sharing models on top of the framework's core. This is important because different types of media content generally require different interaction and collaboration models. The flexibility of the core enables fast design-to-prototype-to-release cycles, as the responsibilities and collaboration models are well defined through the Products and Classes programming interfaces.
The Cozimo Multimedia Framework Core stores most of the content and the metadata in an Object Database. An Object Database enables fast content retrieval of complex data structures. The Cozimo Multimedia Framework has a modular, object-oriented architecture to enable it to readily manage the type of complex data relationships that are inherent in distributed collaborative environments. The object database management system for the Cozimo Multimedia Framework has a storage model that is both high performance and compatible with the object model.
The Cozimo Collaboration Application handles large amounts of data, consisting, for example, of large images, videos, audio, text documents, and non-linear flash-animated content. The Cozimo Multimedia Framework accommodates the size and complexity of these different content types by interfacing with the File System Server, while synchronizing with metadata stored in the Object Database. This ensures that the system optimizes resource usage (memory consumption and storage).
Storing Metadata in the Object Database facilitates fast lookups and information queries by not incurring the performance cost of retrieving large chunks of content data. For example, image thumbnails are stored as Metadata in the Database, so that the content listings on the web clients can be rendered without the need to retrieve all the data for the image itself.
Metadata are stored in the Database as Dublin Core Metadata to facilitate the finding, sharing and management of information related to the content and collaboration model. This also ensures easy interconnection with external systems in the future and enables the quick and efficient implementation of project archiving and restoration.
The Multimedia Object Server provides the Internet connectivity, supporting many network protocols including HTTP, FTP, XML-RPC, Fast-CGI and PCGI. The Multimedia Object Server synchronizes media-rich content with the Cozimo Multimedia Core to support real-time collaboration sessions. The Multimedia Object Server also interfaces directly to web clients for data exchanges that do not require real-time collaboration, or for client requests of metadata.
In the embodiment of the collaboration server illustrated in
The indexing module also performs the more traditional task of returning proxies instead of object instances for immediate queries. Indexing enhances the user experience by removing the delays caused by page reloads and by supporting advanced user interface search paradigms such as real-time search results. The Indexing module provides for fast, robust, flexible, external, transactional content lookup in the context of the caching mechanism.
The Workspace and Versioning modules are important in defining the user experience. They rely heavily on the Admin module, as they implement roles and permissions. The Workspace, including the high-level representation of the user interface components, is tightly coupled to the security model because project administrators can, for example, control remote workspaces. The look-and-feel of the application workspace dynamically depends on many factors, including the user driving the collaboration, the owner of the current project being collaborated on, the roles of the users participating in a collaborative session, etc. The Workspace module manages all of this functionality so that the look and feel of the application workspace are customized and extended to remote workspaces, in a place-less fashion.
While particular embodiments according to the invention have been illustrated and described above, those skilled in the art understand that the invention can take a variety of forms and embodiments within the scope of the appended claims.
This application claims the benefit of U.S. provisional patent application Ser. No. 60/820,543, filed Jul. 27, 2006, which is herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60820543 | Jul 2006 | US |