Embedded Conference Expansion
By embedding key values in meeting requests for email and calendar applications, enabling clients can provide embedded extension capabilities, solving the difficulties of extensible content embedding and extension in conference projects in prior art, enabling interoperability and collaboration across clients.
Patent Information
- Application Number
- CN202111134622.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-03-10
- Filing Date
- 2018-03-08
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2038-03-08
AI Technical Summary
Existing email and calendar applications have difficulty in embedding and scaling content effectively in conference projects, resulting in functional limitations and inconsistent user experiences when accessing and editing notes.
By including key values in the body field of the meeting request, the enable client can parse and provide embedded extensions that allow access and editing of note objects, while traditional clients are rendered as hyperlinks.
It realizes interoperability between different clients, allowing the client to provide a collaborative note-taking experience without affecting the functions of traditional clients, and improves collaboration and information sharing capabilities in meetings.
Smart Images

Figure CN113872777B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application "Embedded Conference Extension" with an application date of March 8, 2018 and an application number of 201880017109.2.
[0002] Cross - reference to related applications
[0003] This application was filed as a PCT international patent application on March 8, 2018, and claims the priority of U.S. Patent Application No. 15 / 455,816 filed on March 10, 2017, the entire content of which is incorporated herein by reference. Background Art
[0004] Email and calendar applications provide users with the ability to schedule meetings and share communications including attached documents with each other. Since users can use multiple different applications to schedule meetings and keep track of tasks, developers need to pay attention to the various standards used by these applications so that communication between users with different calendar and email applications is mutually interpretable. Summary of the Invention
[0005] This general section is provided to introduce, in a simplified form, a selection of concepts that will be further described in the detailed description below. This general section is not intended to identify all key or essential features of the invention, nor is it intended to help determine the scope of the invention.
[0006] Systems, methods, and computer - readable memory storage devices embodying processor - executable instructions are described herein. The processor - executable instructions provide an embeddable extension of the functionality of email and calendar applications. According to aspects, email and calendar applications format meeting items to include extensible content within the body field of the meeting item. The receiving - party email and calendar applications receive the meeting item and, depending on whether they are configured to provide the extension functionality, will deploy the extensible content item according to the extension functionality or present the extensible content item according to the standardized functionality. The body field includes an extensible content item according to the standardized functionality as a hyperlink, which can be interpreted by a configured client to provide the extension functionality.
[0007] Example implementations are computer processes, computing systems, or articles of manufacture such as devices, computer program products, or computer - readable media. According to one aspect, the computer program product is a computer - storage medium readable by a computer system and encoding a computer program including instructions for performing a computer process.
[0008] Details of one or more aspects are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the following detailed description and the related drawings. It is to be understood that the following detailed description is merely explanatory and not restrictive of the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The drawings included in and constituting a part of this disclosure illustrate various aspects. In the drawings:
[0010] Figure 1 is a block diagram showing an exemplary operating environment in which the present disclosure may be practiced;
[0011] Figures 2A to 2C is an exemplary user interface showing aspects of the present disclosure;
[0012] Figure 3 is a flowchart showing the general stages involved in an example method for interchangeably providing access to extended functionality for meeting items in an enabled client;
[0013] Figure 4 is a flowchart showing the general stages involved in an example method for hosting note objects by a note server for providing to an enabled client;
[0014] Figure 5 is a block diagram showing exemplary physical components of a computing device;
[0015] Figure 6A and Figure 6B is a block diagram of a mobile computing device; and
[0016] Figure 7 is a block diagram of a distributed computing system. DETAILED DESCRIPTION
[0017] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or like elements. Although some examples are described, modifications, adaptations, and other implementations are possible. For example, components shown in the drawings may be substituted, added, or modified, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description is not restrictive of the invention, but rather the proper scope of the invention is defined by the appended claims. The examples may be implemented in a hardware embodiment, or an all-software embodiment, or an embodiment combining software and hardware aspects. Therefore, the following detailed description should not be taken in a limiting sense.
[0018] Figure 1An exemplary operating environment 100 in which the present disclosure may be implemented is shown. As shown, a sender uses a meeting initiator 110 to send a meeting request 120 to various recipients, for example, via email and a calendar application as a meeting item. The meeting request 120 includes a note object for access by the recipients, and the recipient behavior differs depending on the capabilities of the client used to access the meeting request 120. For example, a first recipient 120 accessing the meeting request using a traditional client 130 will see instructions on how to access the note object (e.g., a hyperlink), while a second recipient using an enabled client 140 accesses the meeting request 120 and is able to access and edit the note object from the enabled client 140 via a note extension 150. The note object of the meeting request 120 is hosted on a note server 160, which the recipients access via a note application 170, which enables participants in the meeting to collaborate through the meeting request 120.
[0019] The conference initiator 110, the traditional client 130, the enabled client 140, the note server 160 and the note application 170 are provided by a computing system including, but not limited to, desktop computer systems, wired and wireless computing systems, mobile computing systems (e.g., mobile phones, netbooks, tablet devices or tablet computers, notebook computers and laptop computers), handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, printers and mainframe computers. Figures 5 to 7 The hardware of these computing systems is discussed in more detail. Various servers and intermediate media familiar to those of ordinary skill in the art may be located at Figure 1 The component systems shown are used to route communications between these systems, which are not shown so as not to distract from the novel aspects of the present disclosure.
[0020] The note application 170 includes one or more authoring applications, such as a word processor, a spreadsheet application, a presentation application, a note-taking application, a drawing application, a voice recording application, a video recording application, etc. In addition, the note application 170 includes a locally executed "fat client" application and a remotely executed "thin client" application provided as a cloud-based software service.
[0021] The meeting initiator 110, the traditional client 130, and the enabled client 140 are examples of various calendar applications that can include an email function. A given recipient can use one or more calendar applications, some of which can be traditional clients 130 (e.g., on a personal device), and some of which can be enabled clients 140 (e.g., on a work device), and the sender does not need to know which calendar application the recipient will use to access the meeting invitation 120. To enable both the traditional client 130 and the enabled client 140 to access the same note object to the greatest extent possible, the meeting initiator 110 uses the body field of the meeting invitation 120 to include a reference to the note object, which the traditional client 130 and the enabled client 140 can interpret separately. The traditional client 130 interprets the body field as providing a hyperlink to the note object, through which the recipient can access the note object. The enabled client 140 interprets the body field as providing an embedded extension to access the note object within the enabled client 140.
[0022] It should be understood that due to security features (e.g., lack of a valid login or security context to access the note object), the recipient's personal preferences, or the lack of a function in a given enabled client 140 to operate a note object of a given file type (e.g., a given client can be a traditional client 130 corresponding to certain file types and an enabled client 140 corresponding to other files), the enabled client 140 can be configured to act as a traditional client 130 (i.e., provide a hyperlink instead of or in addition to the embedded extension).
[0023] The meeting request 120 is formatted to have various fields, which can be interpreted by the calendar application to share the meeting invitation among individuals according to a known format. In various aspects, the meeting request 120 is formatted according to Hypertext Markup Language (HTML), and the calendar client parses each field through tags that define each field and its value. These fields include: the name of the invitee, the meeting title, the location, the start / end time, a classifier for recurrence, the body, etc. The body field typically accepts free-form text input, usually providing a description of the meeting associated with the meeting request 120, as well as other objects (e.g., images) embedded in the meeting request 120 and interpretable through their format (e.g., as HTML anchors for reference objects). According to other aspects, the calendar server can communicate with the client through various other protocols (e.g., JSON, ICS, etc.).
[0024] By including key values in the body part, the meeting initiator 110 notifies the enabled client 140 of additional features included in the meeting request 120 for collaboration on the note object, while the legacy client 130 (which cannot provide the additional features) is implemented to provide a link to access the note object. For example, as shown in Code 1 below, the division name can include a key value and content for a link to the note object on the note server 160. The content of the division enables the legacy client 130 to provide a hyperlink to the note object, while the division name notifies the enabled client 140 to provide additional features instead of, or in addition to, the hyperlink of the note object.
[0025] Code 1:
[0026]
[0027] When parsing the body part, the key value in the division identifier (shown as "KeyValue(key value)" in Code 1) triggers the enabled client 140 to provide additional features, such as invoking the note extension 150, to provide additional features of the note application 170 within the enabled client 140 to access the note object. In contrast, the legacy client 130 parses the key value as an identifier of the division (i.e., div id) and interprets the rest of the division as HTML instructions. Although the key value is shown as "KeyValue" in the division name and uses plain text references to note objects and images from the note server 160, these values are given as non-limiting examples, and various values including encrypted versions of these values can be used for KeyValue and the references. To decrypt the encrypted values, the recipient can use an access token (e.g., received from a directory server to log in the recipient) to locally decrypt the candidate key value or uniform resource locator (URL), or initiate a handshake process with the note server 160 to request access to the note object by the recipient. For example, a candidate for the key value (e.g., the division name) is decrypted and the result is compared with a list of known key values to determine whether to invoke the note extension 150.
[0028] When creating or updating a meeting, the organizer user can request to provide a new document (of a specific type) or a new section of an existing document to be provided. For example, many note-taking and spreadsheet applications allow including a new "canvas" or "workbook" as a section in a document, and many presentation, word processing, audio / video recording applications allow inserting breaks (e.g., new slides, pages, chapter markers) into their documents. Thus, the initiating user can choose whether to instantiate a new document, whether to instantiate a new section for the meeting of an existing document, or whether to use an existing section of an existing document. For example, the first regular meeting (e.g., monthly human resources meeting) can use a new section (e.g., January section, February section, etc.) for each repetition of the document during the recurrence period, while the second regular meeting (e.g., daily production target meeting) can access the same document (e.g., shift plan document) for each repetition of the meeting.
[0029] In some aspects, in the case of requesting a new document or section, a meeting request 120 is sent from the meeting initiator 110 to the note server 160 to instantiate a note object for access by meeting participants. In other aspects, in the case of requesting a new document or section, the note object is not instantiated until the participant attempts to access it. In some aspects, the attributes of the note object to be instantiated (e.g., file type, file name, template / layout, retention period, security context) are sent to the note server via query values in the URL.
[0030] The note object can be retained for a set period of time or indefinitely, depending on the retention attribute set by the initiating user. For example, a document can be retained on the note server 160 until manually deleted by the user, or can be deleted (or archived) in response to reaching the storage space limit or after a period of time has elapsed since the meeting associated with the note object (e.g., m months after the meeting). In various aspects, the user can access the note server 160 independently of email and calendar applications to view or manipulate the note object (e.g., view meeting notes, delete the note object, move the note object to a new location), or can access the note object through email and calendar applications and can manipulate the note object together with the associated meeting object (e.g., delete the meeting object, delete the note object).
[0031] The note extension 150 can be one of several APIs (application programming interfaces) or modules for accessing different document types and incorporating the functionality of various note applications 170 into the enabled client 140. The note extension 150 can be provided by the developer of the note application 170 or a third party, and a given user can choose (or not choose) to extend the functionality of the email and calendar applications by installing multiple note extensions 150 that operate with the enabled client 140. The note extension 150 is referenced by the enabled client 140 rather than being repeated in its code, which allows the functionality to be changed via the note extension 150 without affecting the synchronization, data storage, and other components of the enabled client 140, thus removing these components as security concerns regarding sharing / granting unauthorized access to note objects. Additionally, the note extension 150 may require additional security context (e.g., trusted sender / participant, disabled macros) to access note objects in the enabled client 140. The separately provided note extension 150 separates the feature implementation from the mail and calendar applications and allows existing clients to display additional functionality without exposing data to the extension. For example, a collaborative note-taking experience can be added to a meeting item without the need to concern the email and calendar applications or even access the note objects contained in a separate note-taking application.
[0032] The note application 170 can be run locally on a computing device accessing a meeting item or accessed as a remotely provided "cloud" service, and the note application 170 is used to access note objects when a participant uses a traditional client 130 to access the meeting item. In some aspects, the note extension 150 communicates with the note application 170 to provide extended functionality within the enabled client 140, while in other aspects, the note extension 150 provides the functionality of the note application 170 within the enabled client 140 without accessing the note application 170.
[0033] Figures 2A to 2C is an exemplary user interface (UI). Figure 2A Shows an example UI 201 of an email and calendar application (e.g., enabled client 140) that displays a meeting item and an associated note object via the email and calendar applications. Figure 2B Shows an example UI 202 of an email and calendar application (e.g., traditional client 130 or enabled client 140 with disabled functionality) that displays a meeting item and a hyperlink pointing to an associated note object. Figure 2CShows an example UI 203 for a creation application for note-taking (e.g., note application 170), which displays note objects accessible via hyperlinks. It should be understood that example UI 201 and example UI 202 display the same body information (as described in the message compartment of Code 1), but example UI 201 also shows the Figure 2C note objects shown in, and provides the functionality of example UI 203 of the creation application in email and calendar applications, enabling meeting participants to collaborate within their respective email and calendar applications (when they are client 140-enabled). The embedding functionality of the creation application shown in example UI 201 may include all or part of the functionality available in example UI 203, and may include other functionality of email and calendar applications.
[0034] In various aspects, if the meeting initiator 110 does not embed a note object in the meeting request 120, for example, only attaches a note document or a hyperlink to access the note document, the client 140-enabled may display the meeting request 120 as shown in example UI 202, or, as shown in example UI 201, automatically provide access to the attached / linked note document.
[0035] Figure 3 Is a flowchart showing the general stages involved in an exemplary method 300 for interchangeably providing access to extended functionality of meeting items in a client 140-enabled without disturbing the interpretation of meeting items in a traditional client 130. Method 300 begins at operation 310, in which the client opens a meeting item, where the meeting request 120 for the meeting item includes an embedded note object. When the meeting initiator 110 sends the meeting request 120, the note object is embedded in the body field of the meeting request 120, where the body field may include other text describing the meeting item and other fields describing other aspects of the meeting item. In another example, the note object may be included within its own attributes according to another criterion. In response to a participant accessing the meeting request 120 in email and calendar applications, synchronizing the device with email and calendar services, or accepting a meeting invitation, the meeting item is opened.
[0036] Method 300 proceeds to decision block 320 to determine whether the in - calendar feature is enabled for the client. The body field in which the note object is embedded is parsed to identify the presence of recognizable key - value pairs that trigger the provision of additional functionality. In response to detecting a recognizable key - value pair, method 300 proceeds to operations 330 and 340 to display the meeting request 120 with the additional functionality enabled. If no recognizable key - value pair is identified (and in some aspects of key - value pair recognition), method 300 proceeds to operations 350 and 360, in which the content of the body field and the content of other fields of the meeting request 120 (e.g., title, start / end time, participants, recurrence) are displayed according to the layout of the email and calendar application client.
[0037] At operation 330, in response to detecting a key - value pair in the body section of the meeting request 120, the note extension 150 is invoked. The note extension 150 parses the information required to access (or instantiate) the note object from the note server 160, and in operation 340, provides the functionality of the authoring application within the client to access the note object therein. The note extension 150 enables the recipient to establish an authoring session with the note server 160, receive the content within the note object, add content to the note object (by enabling the UI of the client 140), and receive updates to the content from co - authors. In addition to operations 330 and 340, method 300 optionally proceeds to operation 350.
[0038] At operation 350, within a field or window associated with the body field of the meeting request 120, a hyperlink to the note object is displayed using the UI of the mail and calendar application. The hyperlink is displayed according to the format of the body field (e.g., as HTML descriptive text, an image, and hypertext) such that both the legacy client 130 and the enabled client 140 can display the hyperlink to the note object. In various aspects, activating the hyperlink (e.g., by clicking on the hyperlink in the UI of the mail and calendar application) will enable the mail and calendar application to download the note object to the user's device and / or proceed to operation 360 to invoke the note application 170 to access the note object.
[0039] Figure 4 Is a flowchart showing the general stages involved in an exemplary method 400 for hosting note objects by a note server 160 for provision to an enabled client 140. Method 400 begins at operation 410, where first the note server 160 receives a note object request. In some aspects, the note object request is received from the meeting initiator 110 in response to sending a meeting request 120 to one or more recipients. In other aspects, the note object request is received from the recipient (or initiator) of the meeting request 120 in response to the first attempt to access the note object.
[0040] Proceed to operation 420, where the note server 160 creates a note object. The note object is created according to the instructions passed to the note server 160 in the note object request. The URL of the note object is embedded in the body field of the meeting request 120, and the URL includes instructions on how to create a meeting object (e.g., values for query fields in the URL). According to the instructions present in the URL, the note server 160 will create a new note document with a given title, file format, and characteristics, or will create a new section (e.g., page, sheet, chapter division) of an existing note document specified in the URL. In various aspects, the note server 160 applies security features to the note document so that, for example, only the user associated with the meeting request 120 (e.g., the user designated as a participant) can access the note object, or the user needs to have access to a given security permission to access the note document, which can be associated with a directory server or access token to meet the required security context.
[0041] At operation 430, the note server 160 confirms the creation of the note object. In the aspect of creating a note object in response to the meeting initiator 110 creating a meeting item, the confirmation can include: the note server 160 responding to the meeting request 120 (e.g., "accepting" the meeting request 120), or generating a confirmation message sent to the meeting initiator 110 (e.g., as an email message). In another aspect, a creation session is established for the meeting initiator 110 (in the calendar client or note application 170) so that the initiating user can input content to initialize the note object. In the aspect of creating a note object in response to a participant of the meeting item attempting to access the note object, the confirmation can include: initiating a creation session with the participant.
[0042] The creation session includes: verifying the participant, providing the content of the note object to the enabled client 140 or note application 170, and receiving authoring content from the participant for inclusion in the note object. It should be understood that several participants can use different enabled clients 140 and / or authoring applications 170 while establishing the creation session (i.e., a co-authoring session). For example, a first participant X using a calendar client can be a co-author with a second participant Y using a calendar client and a third participant Z using a word processor.
[0043] While embodiments are described in the general context of program modules, which execute in conjunction with an application program running on an operating system on a computer, those of ordinary skill in the art will recognize that aspects may also be implemented in combination with other 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.
[0044] Aspects and functions described herein may operate via a variety of computing systems, including but not limited to: desktop computer systems, wired and wireless computing systems, mobile computing systems (e.g., mobile phones, netbooks, tablet devices or tablet computers, notebook computers, and laptop computers), handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, and mainframe computers.
[0045] In addition, according to one aspect, aspects and functions described herein operate on a distributed system (e.g., a cloud-based computing system), where application functions, memory, data storage and retrieval, and various processing functions operate remotely from each other via a distributed computing network (e.g., the Internet or an intranet). According to one aspect, a user interface and various types of information may be displayed via an on-board computing device display or via a remote display unit associated with one or more computing devices. For example, a user interface and various types of information may be displayed and interacted with on a wall surface onto which the user interface and various types of information are projected. Interaction with the variety of computing systems on which embodiments may be implemented includes: keystroke input, touchscreen input, voice or other audio input, gesture input (when the associated computing device is equipped with detection (e.g., a camera) capabilities for capturing and interpreting user gestures to control the functions of the computing device), and so on.
[0046] Figures 5 to 7 And the associated description provides a discussion of various operating environments in which examples of the invention may be implemented. However, the devices and systems shown and discussed are for illustrative and example purposes only and are not limiting of the numerous number of computing device configurations described herein for implementing aspects. Figures 5 to 7 shown and discussed are for illustrative and example purposes only and are not limiting of the numerous number of computing device configurations described herein for implementing aspects.
[0047] Figure 5is a block diagram showing the physical components (i.e., hardware) of a computing device 500 that can implement examples of the present disclosure. In a basic configuration, the computing device 500 includes at least one processing unit 502 and a system memory 504. According to one aspect, depending on the configuration and type of the computing device, the system memory 504 includes, but is not limited to: volatile storage (such as random access memory), non-volatile storage (such as read-only memory), flash memory, or any combination of these memories. According to one aspect, the system memory 504 includes an operating system 505 and one or more program modules 506 suitable for running software applications 550. According to one aspect, the system memory 504 includes a note extension 150. For example, the operating system 505 is suitable for controlling the operation of the computing device 500. In addition, aspects are implemented in conjunction with a graphics library, other operating systems, or any other application, and are not limited to any specific application or system. In Figure 5 this, the basic configuration is shown by those components located within the dashed line 508. According to one aspect, the computing device 500 has additional features or functions. For example, according to one aspect, the computing device 500 includes additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or magnetic tapes. In Figure 5 this, such additional storage devices are shown by way of a removable storage device 509 and a non-removable storage device 510.
[0048] As described above, according to one aspect, in the system memory 504, a plurality of program modules and data files are stored. When executed on the processing unit 502, the program modules 506 (such as the note extension 150) perform processing including but not limited to Figure 3 and Figure 4 one or more of the stages of the methods 300 and 400 shown in. According to one aspect, other program modules used according to the examples include applications such as email and contact applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided applications, and the like.
[0049] According to one aspect, the computing device 500 has one or more input devices 512 such as a keyboard, mouse, pen, voice input device, touch input device, and the like. According to one aspect, output devices 514 such as a display, speaker, printer, and the like are also included. The foregoing devices are merely exemplary, and other devices may be used. According to one aspect, the computing device 500 includes one or more communication connections 516 that allow communication with other computing devices 518. Examples of suitable communication connections 516 include, but are not limited to: radio frequency (RF) transmitter, receiver, and / or transceiver circuits; universal serial bus (USB), parallel port, and / or serial port.
[0050] As used herein, the term computer-readable medium includes computer storage media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, or program modules. System memory 504, removable storage device 509, and non-removable storage device 510 are all examples of computer storage media (i.e., memory storage). According to one aspect, computer storage media includes RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disks (DVD) or other optical storage technologies, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article that can be used to store information and can be accessed by computing device 500. According to one aspect, any such computer storage media is part of computing device 500. Computer storage media does not include carrier waves or other propagated data signals.
[0051] According to one aspect, communication media is embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and includes any information delivery media. According to one aspect, the term "modulated data signal" describes a signal having one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic waves, radio frequency (RF), infrared, and other wireless media.
[0052] Figure 6A and Figure 6B illustrates a mobile computing device 600 (e.g., mobile phone, smart phone, tablet personal computer, laptop computer, etc.) that can be used to implement aspects. See Figure 6A, the figure shows an example of a mobile computing device 600 for implementing these aspects. In a basic configuration, the mobile computing device 600 is a handheld computer with an input unit and an output unit. Generally, the mobile computing device 600 includes a display 605 and one or more input keys 610 for allowing a user to input information into the mobile computing device 600. According to one aspect, the display 605 of the mobile computing device 600 can also serve as an input device (e.g., a touchscreen display). If included, the optional side input unit 615 also allows additional user input. According to one aspect, the side input unit 615 is a rotary switch, a key, or any other type of manual input unit. In an alternative example, the mobile computing device 600 incorporates more or fewer input units. For example, in some instances, the display 605 may not be a touchscreen. In an alternative example, the mobile computing device 600 is a portable telephone system, e.g., a cellular phone. According to one aspect, the mobile computing device 600 includes an optional keyboard 635. According to one aspect, the optional keyboard 635 is a physical keyboard. According to another aspect, the optional keyboard 635 is a "soft" keyboard generated on a touchscreen display. In various aspects, the output unit includes a display 605 for displaying a graphical user interface (GUI), a visual indicator 620 (e.g., a light-emitting diode), and / or an audio transducer 625 (e.g., a speaker). In some examples, the mobile computing device 600 incorporates a vibration transducer to provide haptic feedback to the user. In another example, the mobile computing device 600 incorporates input and / or output ports, e.g., an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., an HDMI port), to send signals to or receive signals from external devices. In another example, the mobile computing device 600 incorporates a peripheral device port 640, e.g., an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., an HDMI port), to send signals to or receive signals from external devices.
[0053] Figure 6B is a block diagram showing the architecture of an example of a mobile computing device. That is, the mobile computing device 600 incorporates a system (i.e., an architecture) 602 to implement some examples. In one example, the system 602 is implemented as a "smartphone" capable of running one or more applications (e.g., a browser, email, calendar, contact manager, messaging client, game, and media client / player). In some examples, the system 602 is integrated as a computing device, e.g., an integrated personal digital assistant (PDA) and a wireless phone.
[0054] In accordance with one aspect, one or more applications 650 are loaded into the memory 662 and run on or in association with the operating system 664. Examples of such applications include a telephone dialer program, an e-mail program, a personal information management (PIM) program, a word processing program, a spreadsheet program, an Internet browser program, a messaging program, and so on. In accordance with one aspect, the note expansion 150 is loaded into the memory 662. The system 602 also includes a non-volatile storage area 668 located in the memory 662. The non-volatile storage area 668 is used to store persistent information that should not be lost when the system 602 is turned off. The applications 650 can use the information in the non-volatile storage area 668 and store information in the non-volatile storage area 668 (e.g., e-mails or other messages used by the e-mail application, etc.). In addition, a synchronization application (not shown) is also located on the system 602 and is programmed to interact with a corresponding synchronization application located on the host computer to keep the information stored in the non-volatile storage area 668 synchronized with the corresponding information stored at the host computer. It should be understood that other applications can also be loaded into the memory 662 and run on the mobile computing device 600.
[0055] In accordance with one aspect, the system 602 has a power supply 670, where the power supply 670 is implemented as one or more batteries. In accordance with one aspect, the power supply 670 also includes an external power supply, such as an AC adapter or a charging docking station that supplements or charges the battery.
[0056] In accordance with one aspect, the system 602 includes a radio device 672 for performing radio frequency communications for transmission and reception. The radio device 672 facilitates a wireless connection between the system 602 and the "outside world" via a communication carrier or service provider. Transmissions to and from the radio device 672 are under the control of the operating system 664. In other words, communications received by the radio device 672 can be propagated to the applications 650 via the operating system 664, and vice versa.
[0057] According to one aspect, a visual indicator 620 is used to provide a visual notification, and / or an audio interface 674 is used to generate an audible notification via an audio transducer 625. In the example shown, the visual indicator 620 is a light-emitting diode (LED), and the audio transducer 625 is a speaker. These devices can be directly coupled to a power source 670 such that when activated, they remain for the duration indicated by the notification mechanism (even if the processor 660 and other components are shut down to conserve battery power). The LED can be programmed to remain on indefinitely until the user takes an action to indicate the powered-on state of the device. The audio interface 674 is used to provide audible signals to the user and to receive audible signals from the user. For example, in addition to being coupled to the audio transducer 625, the audio interface 674 can also be coupled to a microphone to receive audible input, for example to facilitate a telephone conversation. According to one aspect, the system 602 further includes a video interface 676 that enables operation of an on-board camera 630 to record still images, video streams, and so on.
[0058] According to one aspect, the mobile computing device 600 implementing the system 602 has additional features or functionality. For example, the mobile computing device 600 includes other data storage devices (removable and / or non-removable) such as magnetic disks, optical disks, or magnetic tapes. In Figure 6B this case, such additional storage is shown in the form of a non-volatile storage area 668.
[0059] According to one aspect, data / information generated or captured by the mobile computing device 600 and stored via the system 602 is stored locally on the mobile computing device 600 (as described above). According to another aspect, the data is stored on any number of storage media, where the device can access the any number of storage media via a radio 672 or via a wired connection between the mobile computing device 600 and a separate computing device associated with the mobile computing device 600 (e.g., a server computer in a distributed computing network such as the Internet). It should be understood that the mobile computing device 600 can access the data / information via the radio 672 or via a distributed computing network. Similarly, according to one aspect, the data / information is easily transmitted between computing devices for storage and use according to well-known data / information transfer and storage methods, which include email and collaborative data / information sharing systems.
[0060] Figure 7An example of the architecture of a system is shown, wherein the system is used to interchangeably provide access to the extended functionality of conference projects, as described above. Content is developed using note extensions 150, interacted with, or edited in association with them for storage in different communication channels or other storage types. For example, a directory service 722, a web portal 724, a mailbox service 726, an instant messaging storage 728, or a social network site 730 can be used to store various documents. Note extensions 150 are used to interchangeably provide access to the extended functionality of conference projects using any of these types of systems, etc., as described herein. According to one aspect, a server 720 provides note extensions 150 to clients 705a, b, c. For example, server 720 is a web server that provides note extensions 150 via a web page. Server 720 provides note extensions 150 to client 705 on a web page via network 740. For example, the client computing device is implemented and embodied in a personal computer 705a, a tablet computing device 705b, or a mobile computing device 705c (e.g., a smart phone) or other computing device. Any of these examples of client computing devices may be used to obtain content from storage 716 .
[0061] For example, embodiments are described above with reference to block diagrams and / or operational descriptions of methods, systems, and computer program products according to various aspects. The functions / actions described in these blocks may occur in an order different from that shown in any flow chart. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functions / actions involved.
[0062] The description and illustration of one or more examples provided in this application are not intended to limit or restrict the scope of protection of the claimed invention in any way. The aspects, examples and details provided in this application are considered sufficient to convey the claimed invention and enable others to make and use the best mode. The implementation method should not be interpreted as being limited to any aspect, example or detail provided in this application. Whether shown and described in combination or individually, various features (including structures and methods) are intended to be selectively included or omitted to produce examples with a set of specific features. After providing the description and illustration of this application, those of ordinary skill in the art can envision variations, modifications and alternative examples that fall within the spirit of the inventive concept of the broader aspects embodied in this application without departing from the broader scope of protection of the present invention.
Claims
1. A method for interchangeably providing access to extended functionality for meeting items, comprising: Receiving, at a recipient's calendar application, a meeting item from a sender, the meeting item including an embedded content object associated with an authoring application; Parsing the meeting item in response to opening the meeting item in the calendar application; Identifying, from the parsing of the meeting item, a trigger for the calendar application to provide additional functionality of the authoring application; Invoking an extension to provide the additional functionality of the authoring application within the calendar application; And Accessing, via the extension within the user interface of the calendar application, the content object embedded in the meeting item.
2. The method according to claim 1, wherein Accessing the content object further comprises: Transmitting an access request to a server associated with the authoring application to instantiate the content object; and Receiving the content object from the server.
3. The method according to claim 2, wherein Transmitting the access request to the server further comprises: Verifying access to the content object; and Establishing an authoring session for the content object on the server.
4. The method of claim 2, further comprising: Displaying, in the user interface of the calendar application, the content object received from the server.
5. The method of claim 2, further comprising: Authoring content in the content object via the user interface of the calendar application; And Transmitting the authored content to the server.
6. The method of claim 1, further comprising: Synchronizing the calendar application with a calendar service including the meeting item in response to opening a meeting in the calendar application.
7. The method according to claim 1, wherein The trigger is a key value identified in the parsed meeting item, and invoking the extension comprises: Invoking a specific extension indicated by the key value, wherein the specific extension is configured to provide authoring functionality for the document type of the content object.
8. The method according to claim 7, wherein The document type of the content object is one of the following: Word processing document; Spreadsheet document; Presentation document; and Note-taking document.
9. The method according to claim 1, wherein The trigger is a key value identified in the parsed meeting item, and identifying the key value in the parsed meeting item further comprises: Determining that the key value is encrypted; and Decrypting the key value.
10. The method according to claim 1, wherein The trigger is a key value included in the meeting item received at the calendar application, and identifying the trigger is based on the calendar application having a first configuration for identifying the key value.
11. The method according to claim 10, wherein, Another calendar application has a second configuration different from the first configuration, and the method further comprises: Receiving, at the other calendar application, the meeting item, the meeting item including an embedded content object associated with the authoring application; Parsing the meeting item in response to opening the meeting item in the other calendar application; Failing to identify the key value based on the second configuration of the other calendar application and failing to identify the trigger from the parsing of the meeting item; Provide a hyperlink in the meeting item to access the content object embedded in the meeting item within the user interface of the authoring application.
12. The method according to claim 1, wherein Accessing the content object embedded in the meeting item via the extension within the user interface of the calendar application includes: Enabling content creation in the accessed content object via the extension within the user interface of the calendar application.
13. A system for interchangeably providing access to extended functionality for a meeting item, comprising: A processor; And A computer-readable storage device coupled to the processor and including executable instructions, wherein, when executed by the processor, the executable instructions are operable to: Receive, at a calendar application of a recipient, a meeting item from a sender, the meeting item including an embedded content object associated with an authoring application; Parse the meeting item in response to opening the meeting item in the calendar application; Identify a key value from the parsing of the meeting item, wherein the identification of the key value is a trigger for the calendar application to provide additional functionality of the authoring application; and In response to the identification of the key value: Invoke an extension to provide the additional functionality of the authoring application within the calendar application; and Access the content object embedded in the meeting item via the extension within the user interface of the calendar application.
14. The system according to claim 13, wherein, For accessing the content object, when executed by the processor, the executable instructions are operable to: Transmit a request for the content object to a server associated with the authoring application.
15. The system according to claim 14, wherein, The content object is created by the server based on the instructions in the request, and the instructions are in the form of a URL embedded in the meeting item.
16. The system according to claim 14, wherein, A creation session for the content object within the calendar application is established by the server.
17. The system according to claim 16, wherein, Once the creation session is established, when executed by the processor, the executable instructions are further operable to: Receive the content object from the server; and Display the content object in the user interface of the calendar application.
18. The system according to claim 14, wherein, When executed by the processor, the executable instructions are further operable to: Create content in the content object via the user interface of the calendar application; and Transmit the created content to the server.
19. The system according to claim 14, wherein, When executed by the processor, the executable instructions are further operable to: Receive updates to the content object made by one or more other co-authors of the content object from the server.
20. A computer-readable storage device including processor-executable instructions for interchangeably providing access to extended functionality for a meeting item, including: Parse the meeting item in response to opening, in a calendar application of a recipient, a meeting item from a sender having an embedded content object; Determine, from the parsing of the meeting item, whether the meeting item includes a key value, wherein the identification of the key value indicates that the calendar application provides additional functionality of the authoring application; In response to determining that the meeting item does not include the key value, provide a hyperlink in the meeting item to access the content object within the user interface of the authoring application; and In response to determining that the meeting item includes the key value: Invoke an extension to provide the additional functionality of the authoring application within the calendar application; and Access the content object embedded in the meeting item via the extension within the user interface of the calendar application.
Citation Information
Patent Citations
Personal notes on a calendar item
CN103778526A