Various calendar software programs may provide users with an electronic or digital version of a calendar. These software programs may also provide an address book and/or a contact list of persons who can be added as attendees of an appointment, and may provide a list of appointments, attendees for each appointment and details for each appointment. Regarding implementation, these software programs may be a local package designed for individual use or may be a server-based package that allows users to access the electronic calendar via a network (e.g., and via an exchange server). These software programs may also allow users (e.g., organizers) to share information about an appointment with other users (e.g., attendees) of the calendar program, and may allow users to view details about an appointment that is upcoming, for example, the date, time and room number. In some scenarios, users may access a server-based calendar via a client device (e.g., a desktop computer or mobile device such as a smartphone, tablet, PDA or the like).
The following detailed description references the drawings, wherein:
In some scenarios, users of a calendar program (e.g., meeting organizers) may get in the habit of scheduling meetings without thinking in advance regarding the precise goals of the meetings and/or how to effectively and efficiently structure or conduct the meeting. In other scenarios, a user of a calendar program (e.g., a meeting organizer) may know the goals and structure of the meeting; however, the user may not have an efficient way to share this information with attendees of the meeting before the meeting and/or during the meeting. In these scenarios, attendees of the meeting may show up to the meeting without being well prepared. In other scenarios, a user of a calendar program (e.g., a meeting organizer) may know the loose goals and structure of the meeting; however, the user may benefit from being able to view and use a previously-used meeting structure and/or meeting content.
As described above, various calendar programs may allow users (e.g., organizers) to share information about an appointment with other users (e.g., attendees) of the calendar program. However, in various calendar programs, this information is limited to logistical information about the meeting, e.g., the meeting date, meeting time, room number, call-in information and the like. Various calendar programs allow users to select from meeting templates when scheduling a meeting, where information from the meeting template is inserted into the meeting details in an attendee's calendar. In various calendar programs, these meeting templates include information that is limited to logistical information such as audio conferencing information and meeting duration times. Various other calendar programs may use local templates to present meeting details to users in various time zones, where the local templates format meeting details to the particular time zones. Again, these templates affect logistical information such as meeting times.
The present disclosure describes associating event templates with event objects, where the event template may include pre-made content (e.g., topics or information to be presented during the event, a listing and/or organization of time segments during the event, media to be played or shown during the event, etc.). An event template may be associated with a meeting object, for example, during the creating of a new event object. Associating a template with an event object may cause the pre-made content to be integrated with the meeting object (e.g., such that the pre-made content is visible when attendees view the meeting object). The present disclosure may describe receiving reviews (e.g., ratings and/or comments) of templates (e.g., in a crowd sourcing manner) and displaying reviews when a user (e.g., a meeting organizer) is browsing templates. Templates may be presented or suggested to a user based on template reviews, the previous reviews of particular attendees of a meeting and/or various other factors.
The present disclosure may provide benefits over various calendar software programs with templates that offer only logistical information (e.g., meeting date, meeting time, room number). The present disclosure may improve the efficiency and effectiveness of event organizers, for example, because they may not have to develop event content from scratch for each meeting, and may be able to structure their events based on a structure and/or content that has worked well in the past. The present disclosure may improve the efficiency and effectiveness of event attendees, for example, because they may learn the structure (e.g., general topics) of the meeting in advance. This may allow them to set the right expectations for the purpose of the meeting and prepare for the meeting. In this respect, ineffective and unnecessary meetings may be avoided, which may save resources of a company. Additionally, event organizers can explore different ways of conducting an event that have been successful in the past. Additionally, organizations (e.g., companies) can use templates to specify the manner in which certain types of meetings should be conducted and/or to include particular content that should be presented during the meetings.
Throughout this disclosure, it should be understood how the terms “user”, “attendee” and “organizer” are related. The term “user” may refer to a person who uses a client device, for example, client computing device 260 of
Processor 110 may be one or more central processing units (CPUs), microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 120. Processor 110 may fetch, decode, and execute instructions 122, 124, 126 to, among other things, associating event templates with event objects. As an alternative or in addition to retrieving and executing instructions, processor 110 may include one or more electronic circuits comprising a number of electronic components for performing the functionality of one or more of instructions 122, 124, 126. With respect to the executable instruction representations (e.g., boxes) shown in
Machine-readable storage medium 120 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. Thus, machine-readable storage medium 120 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. Machine-readable storage medium 120 may be disposed within scheduling server computing device 100, as shown in
Event object creation instructions 122 may allow users to create at least one event object. Event object creation instructions 122 may allow a user to associate an event template with a newly created event object or an existing event object, as explained in more detail below. More details regarding an example event object creation/viewing module may be described below with respect to module 204 of
As illustrated in
Client device interface module 202 may communicate with at least one client device (e.g., client device 260). Client device interface module 202 may allow the at least one client devices to interface with other modules of the scheduling server computing device 200, for example, modules 204, 206, 208, 210. In one example scenario, a client device (e.g., client device 260) may communicate with client device interface module 202 via a scheduling server interface module 266. In the example of
Client device interface module 202 may provide a user interface (e.g., user interface 301 of
Event object creation/viewing module 204 may be accessible to a user via client device interface module 202. Event object creation/viewing module 204 may allow a user to create at least one event object. The term “event object” may refer to a digital record or file that includes information about an event. An event object may include a subject or title, a date of the event, an event location, invited attendees to the event, an organizer of the event (may be considered an attendee as well), and potentially other details about the event. Event object creation/viewing module 204 may store created event objects in event object repository 220. Event object creation/viewing module 204 may access event objects that are stored in repository 220, for example, to receive information about event objects and/or to transmit information about event objects to client devices (e.g., client device 260). Event object creation/viewing module 204 may allow a user to associate (e.g., by communicating with module 206) an event template with a newly created event object or an existing event object, as explained in more detail below. In this respect, scheduling server 200 may allow for the selection and association of pre-defined content (e.g., associated with an event template) with an event object during the creation of an event object.
Event templates repository 222 may store at least one event template. The term “event template” may refer to a digital object or file that is capable of being associated with an event object such that when a client device (e.g., client device 260) views the event object, the event object is formatted and/or displayed in a way that is specified by the event template. An event template may include content (or a link to content) that may be displayed when an event object is accessed by a user of a client device. As one specific example, if a user accesses an event object, the user may see a window (e.g., similar to section 460 of
Event template content may be non-logistical, substantive event information, as opposed to logistical information (e.g., meeting date, meeting time, room number, call-in information and the like). Non-logistical, substantive event information may include details about the structure of the event or particular content that will be provided during the event. Examples of event template content, without limitation, are topics or information to be presented during the event, listing and/or organization of time segments during the event, media to be played or shown during the event, a link (e.g., URL, URI, etc.) to external information and/or external media, and computer code that when executed embeds external information and/or external media in an event object. In some examples, event template content may be interactive, for example, such that a user may enter input. Interactive content may be implemented by computer code (e.g., HTML code) that executes when the event object and/or template is access. As one specific example, if a manager is conducting a 1-on-1 meeting with a worker, the manager may access the event template during the meeting (e.g., via event runtime module 210). The interactive content may display as at least one form (e.g., an HTML form) that allows the manager to enter and/or submit text, for example, in response to questions that the manager asks the worker. Once a template is associated with an event object, the template content may be integrated with the event object (e.g., template content may be displayed in a section like section 460 of
Event templates may be categorized by type of event, for example, a brainstorm meeting, a company status meeting, a question and answer (Q&A) meeting, a 1-on-1 meeting, a performance review, a scrum status meeting, a feature demo, a free lecture, etc. The type of content (and content structure) associated with an event template may depend on the type or category of event. In this respect, event templates may be indexed and searched (e.g., by a user) by type or category of event, and a user may expect certain types of content when selecting certain types of event templates. The following will describe a few example scenarios that may describe various categories or types of event templates and when and/or how these templates may be used.
In one example scenario, an event object may be created for a 1-on-1 meeting, for example, between a worker and a manager. If an event template was not used, the event object may provide information that is limited to logistical information, such as the time of the meeting, the attendees and the like. The event organizer (e.g., the manager) could enter additional details into the event object (e.g., explaining the agenda of the meeting, etc.), but the organizer would have to generate this content or find this content elsewhere to enter into the event object. Instead, an event template may be used that includes pre-made content, and when the event organizer associated the event template with the event object, the pre-made content may be automatically inserted into the event object. In the scenario of the 1-on-1 meeting, an event template may include content such as a list of topics for the manager to discuss with the worker, and example ice-breaker ideas to get a conversation started for each topic.
In another example scenario, an event object may be created for a company status meeting, and an event template for this type of event may include topics to discuss during the meeting, such as items that have performed well over the last quarter and items that could be improved for the next quarter. In another example scenario, an event object may be created for a brainstorming meeting, and an event template for this type of event may include a listing and/or organization of time segments during the event. For example, each attendee to the meeting may be allotted several minutes to provide input, followed by a discussion period. In another example scenario, an event object may be created for a Q&A meeting, and an event template for this type of event may include a period of time for pre-planned questions, followed by an open question and answer period. One example benefit of event templates with pre-made content may be that various types of events (e.g., for company events) may follow strict rules about what must be covered during the event. For example, for focal performance reviews or yearly performance reviews, a company may require that certain topics be covered, and may require that these topics be covered in a certain manner. By using an event template for these specific types of events, an event organizer can be confident that the event will be conducted as it should. Additionally, by using event templates, attendees of events may view key points or topics of the event in advance, which may help an attendee prepare for an important event such as a performance review where the attendee's preparedness to discuss particular topics may be important.
As indicated above, an event template may include content (or a link to content) that may be displayed when and event object is accessed by a user. Event templates may include attendee-visible content and/or organizer-visible content. Attendee-visible content may refer to content that is visible to attendees of an event when the attendees access an event object associated with the event template. Attendee-visible content may also be visible to organizers of an event. Organizer-visible content may refer to content that is visible to (e.g., only to) an organizer of an event when the organizer accesses an event object associated with the event template. In this respect, an event template may provide, for example, some content that informs attendees of the general structure of the meeting while providing an organizer of a meeting with more detailed content. Organizer-visible content may be used by the organizer (or some other presenter) during the meeting as well. Examples of organizer-visible content, without limitation, are opening statements and/or stories, detailed outlines of discussion points, presentation slides, presentation instructions (e.g., what to do and how long it should take) and presentation tips.
Various pieces of content associated with an event template may be designated as attendee-visible content or organizer-visible content at various times. For example, when an event organizer associates an event template with an event object, the event template may initially indicate which content of the total available content should be attendee-visible and which content should be organizer visible. The scheduling server computing device may allow an organizer to change (e.g., after the creation of the event object) whether certain content is designated as attendee-visible or organizer visible. In some scenarios, an organizer (or other presenter) may share some organizer-visible content (e.g., during a meeting), while keeping other content private to only the organizer/presenter.
Event templates may be created in various ways. For example, an event creator may use a software program to create a template and then upload the template to the event template repository 222, for example, using event template creation module 212. As another example, an event creator may access event template creation module 212 via a remote client device, and event template creation module 212 may include routines or services for creating event templates. Scheduling server 200 may maintain (e.g., stored in event template creation module) profiles for creators of event templates, and these profiles may be visible to users that are viewing event templates (e.g., using module 206). In this respect, a user that is viewing an event template may see which creator/profile is associated with an event template. Users may also search for, sort or filter event templates based on the creator of the templates. As one example, users may wish to view only event templates created by a popular or highly-rated template creator (e.g., gurus in a particular business segment or well-known authors of presentation materials). As another example, users may wish to view only event templates created by their company (e.g., a company may create templates to set expectations on how certain meetings should take place).
Event template viewing/selection module 206 may be accessible to a user via client device interface module 202. Event template viewing/selection module 206 may be in communication with event object creation/viewing module 204. In this respect, a user may access the event template viewing/selection module 206 while creating or viewing an event object (e.g., via module 204). As one specific example, a user may access (e.g., via module 202) calendar software. The user may then select an option in the calendar software to create an event (e.g., employing module 204), and a window for creating an event may display to the user. Then, the user may select an option on the window to associate a template with the event (e.g., employing module 206). Alternatively, a user may view and select an event template using event template viewing/selection module 206, and then may associate the event template with a particular event object (e.g., via module 204), for example, by dragging a window or icon related to a particular template onto an area associated with an event object. In this respect, a user may create a new meeting object based on a template.
Event template viewing/selection module 206 may allow a user to browse event templates in event templates repository 222. Event template viewing/selection module 206 may present the contents of repository 222 as a catalog of event templates, for example, categorized by type of template. Event template viewing/selection module 206 may allow a user to select a particular event template and view the details of the event template, for example, the content associated with the event template, and at least one review associate with the template. Event templates may be dynamic, meaning that event templates, as they are visible to users, may update in real time when details about the event template are changed or updated. Details about the event template may be changed or updated in various ways, for example, if a creator of an event template modifies the event template or if users of an event template submit reviews (e.g., ratings and/or comments) of the event template. Further details regarding how templates may be browsed, viewed, selected, and associated with an event object may be described below with regard to
Event template reviewing module 208 may be accessible to a user via client device interface module 202. Event template reviewing module 208 may allow users to review an event template, for example, by submitting review information to be associated with a particular template. Review information may be, for example and without limitation, rating(s) related to the event and/or the event template, answer(s) to at least one question related to the event and/or the event template, and/or comment(s) related to the event and/or the event template. Reviews (review information) of a template may be stored and associated with the template (e.g., in repository 222), and then reviews associated with the template may be visible to users that are viewing the template (e.g., using module 206). In this respect, users that are browsing templates may see ratings and/or comments from other users (e.g., in a crowd sourcing manner), and ratings, for example, may be used to search for, sort or filter templates. Reviews of a template may be sent (e.g., via a messaging system in scheduling server 200) to organizers of an event that use the template and/or to the creator of the template. In this respect, reviews from users that experienced the template or associated event in the past may be used to improve the template or suggest or promote the template.
Event template reviewing module 208 may allow users of client devices (e.g., event attendees and/or event organizers) to submit reviews for a template, for example, after the event for which the template was used. In one example, users may access (e.g., via module 204) the event object associated with the event, and the event object may include a button that allows the user to submit ratings and/or comments related to the event and/or the event template. In this scenario, module 204 may communicate with event template reviewing module 208. As another example, after an event, users may receive a message (e.g., an email message) or a pop-up window on their client devices that prompts the users to submit reviews of the event and/or event template. The message or pop-up window may include a button or link that connects the user to the event template reviewing module 208.
Reviews submitted by attendees of an event may be used (e.g., by event template reviewing module 208) in various ways. In one example, module 208 may cause reviews to be sent (e.g., via a messaging system) to the organizer of the event. In this example, the organizer may use this feedback to determine whether the event template was successful, and then the organizer may submit a subsequent review to be associated with the template. In another example, module 208 may cause the reviews from the attendees to be automatically associated with the event template used. In some examples, when a review from an attendee is associated with a template, information (e.g., profile information) about the particular users that submitted the reviews may be saved as well. The reviews may also be sent (e.g., via a messaging system) to the creator of the template. In some examples, attendees of an event may not be aware of which template was used for an event, and these attendees may submit reviews of the event in general. Still, such comments may be associated with the event template used and may be useful feedback.
Reviews submitted by organizers of events may be used (e.g., by event template reviewing module 208) in various ways. Module 208 may cause the reviews from organizers to be automatically associated with the event template used. In one example scenario, attendees of an event may submit reviews related to an event, and module 208 may cause a message to be sent to the event organizer, for example, a message that reads, “We loved the format of this meeting! We especially loved XXX.” The organizer of the event may then develop an opinion about the event template used for the meeting (e.g., things that worked well, things that could be improved, etc.). The organizer of the event may then submit a review of the template used for the event. Template reviews may be sent (e.g., via a messaging system) to the creator of the template, which allows users of a template to respond directly to the template creators and give real time feedback for the template (e.g., feedback related to effectiveness, ease of use, etc.). In this respect, creators of templates may improve their templates based on real-world interaction with their templates, which may lead to higher satisfaction of users of the templates.
As explained above, event template viewing/selection module 206 may allow a user to select a particular event template and view the details of the event template, for example, at least one review associate with the template. Because reviews of event templates may be received (e.g., via module 208) and associated with event templates (e.g., in repository 222) in real time, users that view event templates may see real time reviews for each template. Template reviews may allow a user (e.g., an event organizer) to learn about past real-world interaction of users with various templates. These reviews may allow a user to choose a template for the user's meeting that was successful for past users. These reviews may increase the productivity of an event organizer by allowing the organizer to quickly select a template for the meeting that has worked well in the past.
In some embodiments, event template viewing/selection module 206 may suggest templates to a user (e.g., templates that are most likely to be successful for the user's event). Event template viewing/selection module 206 may use various types of information to generate such suggestions, for example, information about the user (e.g., past template selections, past types of event objects created, etc.), review information associated with various templates, and the particular attendees that are associated with particular template reviews. As one specific example, a user (e.g., an event organizer) may create an event object for a particular type of event and may invite several attendees to the event. Based on this information, event template viewing/selection module 206 may suggest templates of the specified type that at least some of these particular attendees have liked in the past. In this respect, an event organizer can be confident that the template selected will be popular with at least some of the attendees of the event.
In some embodiments, event template viewing/selection module 206 may alter or tune the template browsing and/or viewing experience based on the particular attendees invited to an event. As one specific example, an organizer of an event may create an event object and select a number of attendees. Then, the organizer may browse for a template to associate with the event object. When the organizer is browsing, the particular templates that are displayed and/or suggested (and the reviews for those templates) may be biased for the particular attendees of the event. For example, templates that these particular attendees like the best may be displayed near the top of a display screen, and templates that these particular attendees disliked may be displayed at the bottom (or not at all), for example, even if those templates received generally high ratings. As another example, ratings of templates may be altered to display only ratings from these attendees or to bias the ratings average to put more weight on the ratings of these attendees. In this respect, in these embodiments, the browsing, display and suggestions of templates may be based on past experiences and feedback of the specific event attendees, which may result in the specific attendees being more satisfied with the event.
Event runtime module 210 may be accessible to a user via client device interface module 202. In some examples, event runtime module 210 may be accessible to a user via event object creating/viewing module 204. Event runtime module 210 may be accessed by a user during an event, for example, while an organizer (or other presenter) is speaking during an event. Event runtime module 210 may access an event template associated with the event. Event runtime module 210 may access a virtual moderator component of an event template, and may accept input from a user and/or provide information to a user based on the design of the virtual moderator as described below.
An event template may include a virtual moderator component. A virtual moderator component may be accessed during a meeting for which the event template is used. A virtual moderator component may track time during the event, and indicate or provide certain content (e.g., of the total content associated with the event template) at certain times during the event. As one example, a virtual moderator component may provide at least one timing cue and may indicate, for each timing cue, a portion of the content associated with the timing cue. Then, when each timing cue is provided, a virtual moderator component may cause the associated portion of the content to display.
A virtual moderator component may be specific to associated event template, and may be designed and/or configured by the creator of the template. For example, the creator of the template may specify the number of time segments, the duration of each time segment, buffer times between time segments, content associated with each time segment and the like. In one specific example, a user (e.g., a presenter) may indicate (e.g., via module 210) that the event has started. The virtual moderator component may then start to track time during the meeting, and at particular times, certain windows or sections may pop-up with content. The content may be attendee-visible content and/or organizer-visible content, as explained herein. The content may be embedded or integrated into the window or section, or the window or section may include a link to the content, as explained herein.
In some embodiments, scheduling server 200 may track and store statistics about at least one event, for example, time duration of an event, type of event (e.g., 1-on-1 meetings, company status meetings, etc.), reviews related to the event, and the like. Scheduling server 200 may provide statistics about a single event or multiple events. For example, for multiple events, scheduling server 200 may provide statistics for a particular user, such as types of events that the user attends, percentages of time spent in events of particular types, average ratings received for events of particular types, or the like. Scheduling server 200 may provide these statistics to users via a messaging system (e.g., email).
Display screen 300 may be displayed to a user, for example, in response to a user accessing event template viewing/selection module 206 of
As is illustrated in
Display screen 350 may include a content section 351 that may display content associated with the template, as described in more detail herein. Content section 351 may display attendee-visible content 356 and/or presenter-visible content 358. Content section 351 may include a scroll bar 360 that may accept user input to scroll through the content in content section 351. Display screen 350 may include a back button 362 that causes user interface 301 to return to a previous screen (e.g., screen 320). Display screen 350 may include an event creation button 364, which may allow a user to start creating an event (e.g., using module 204 of
Display screen 370 may include a number of review windows (e.g., windows 376, 380). Each review window may include a summary of information about one review, for example, a rating (e.g., a number of stars) and/or a sample of a comment included in the review. Each review window may include an “expand” button (e.g., buttons 378, 382), which may accept user input and cause a full view of the associated review to be displayed. Display screen 370 may include a back button 384 that causes user interface 301 to return to a previous screen (e.g., screen 320 or 350). Display screen 370 may include an event creation button 386, which may allow a user to start creating an event (e.g., using module 204 of
Display screen 450 may include an event template selection component 456. Event template selection component 456 may allow a user to associate an event template with the event object that is being updated or is about to be created using display screen 450. As one example, a user may click on or touch event template selection component 456, and as a result, display screen 300 may display, which may start the process of guiding a user through selecting an event template (e.g., to be followed by other display screens such as 320, 350, 370). Once a template is selected for an event object, the content associated with the template may be automatically added to or integrated into the event object, for example, at section 460. In this respect, once a template is associated with an event object, if a user views an existing event object (e.g., using a screen similar to screen 450), the user may see content associated with the event object in section 460. If an attendee is viewing the event object, the attendee may see attendee-visible content in section 460. If an organizer is viewing the event object, the organizer may see organizer-visible content in section 460.
Method 500 may start at step 502 and continue to step 504, where scheduling server 100 may allow a user to create an event object (e.g., via instructions 122 of
Method 600 may start at step 602 and continue to step 604, where scheduling server 200 may allow a user to create an event object and/or view an event object (e.g., via module 204). At step 606, scheduling server 200 may allow a user to view event templates and/or view reviews of event templates (e.g., via module 206). Scheduling server 200 may display various screens to a user (e.g., as shown in
At step 610, scheduling server 200 may associate a selected event template with an event object. At step 612, scheduling server 200 may access an event template when an event object is viewed. For example, if an event attendee accesses an event object to view details of an event, attendee-visible content of the associated event template may be displayed. At step 614, scheduling server 200 may access an event template during runtime of an event (e.g., via event runtime module 210). For example, if an event organizer accesses an event object to utilize a virtual moderator component of the associated event template, organizer-visible content of the associated template may be displayed. At step 616, scheduling server 200 may accept reviews of at least one event template, for example, reviews submitted by event attendees. In this example, the reviews may be sent (e.g., via a messaging system) to the event organizer. At step 618, scheduling server 200 may accept reviews of at least one event template, for example, reviews submitted by event organizers. In this example, the reviews may be sent (e.g., via a messaging system) to the creator of the template. Method 600 may eventually continue to step 620, where method 600 may stop.