Meeting proposal generator

JP2025031679AInactive Publication Date: 2025-03-07APPLE INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024141797
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-15
Filing Date
2024-08-23
Publication Date
2025-03-07
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 2025031679000001
    Figure 2025031679000001
  • Figure 2025031679000002
    Figure 2025031679000002
  • Figure 2025031679000003
    Figure 2025031679000003
Patent Text Reader

Abstract

To disclose productivity tools, generally.SOLUTION: Systems and techniques are provided in this specification to facilitate efficient generation of meeting entries in electronic calendars. In particular, electronic calendar proposals may be generated within communication applications, efficiencies may be increased, and unnecessary graphical user interface interactions may be reduced.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of U.S. Provisional Application No. 63 / 578,563, filed Aug. 24, 2023, entitled "Meeting Proposal Generator," which is incorporated by reference in its entirety for all purposes.

[0002] The present disclosure relates generally to productivity tools, and more particularly to systems and methods for automatically generating meeting suggestions between electronic devices based at least in part on observations of one or more of the electronic devices. [Background technology]

[0003] In today's fast-paced environment, electronic device users often rely on electronic calendars in their electronic devices to plan and schedule activities. When multiple parties are involved, identifying a time and / or location that works for all parties can be very difficult and requires a significant amount of back and forth between the parties to reach an agreement on the time and / or location. Several different communication channels can facilitate this back and forth, via text messages, phone conversations, etc. Unfortunately, the process for identifying an available time and / or location and adding an activity entry to an electronic calendar often requires many steps through a dedicated graphical user interface (GUI) of the electronic calendar application. This may require the user to switch between the electronic calendar application and the application associated with the communication channel where the activity is being proposed and / or discussed.

[0004] Therefore, there is a need for improved systems and methods for automatically generating suggested electronic calendar entries and establishing confirmed activities from these suggestions. Summary of the Invention

[0005] A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with an overview of these specific embodiments, and that these aspects are not intended to limit the scope of the present disclosure. In fact, the present disclosure may encompass a variety of aspects that are not set forth below.

[0006] The present disclosure provides a comprehensive system and method for generating electronic calendar proposals and confirmed electronic calendar entries via a communication channel application, thus addressing the shortcomings of the prior art by providing an efficient mechanism for proposing times and / or locations between parties and eliminating the need to switch between a communication channel application and an electronic calendar application. The system includes a user-friendly interface that aims to revolutionize electronic calendar entry generation, making it more efficient and enjoyable for users, thereby increasing productivity and innovation in various fields. Specifically, an interface between an electronic calendar application and a communication channel application (e.g., a text messaging application, a conferencing application, a chat application, etc.) may be utilized to transmit a proposed time and / or location for a meeting between parties utilizing the communication channel application. In some embodiments, natural language processing and / or other techniques may be used to analyze communications between the parties via the communication channel application to determine an intent to be exchanged between the parties. When the intent does not include relevant information (e.g., time and / or location) regarding the meeting, an electronic proposal for creating a meeting proposal may be caused to be displayed in a graphical user interface (GUI) of the communication channel application. One of the parties (e.g., the "proposer") may identify one or more proposals for relevant information regarding the meeting and cause the identified proposals to be transmitted to the other party (e.g., the "recipient"). A GUI of the recipient's communication channel application may be controlled to display the one or more proposals provided by the proposer and to enable selection of a particular one of the one or more proposals. In response to receiving a selection of a particular one of the one or more proposals, an interface between the electronic calendar application and the communication channel application may be used to generate an electronic calendar entry that includes the selection of the particular one of the one or more proposals.Additionally, the calendar entry may include other parties in communication via the communication channel application, causing a calendar entry request (e.g., a meeting request) to be sent to the other parties. Because the other parties have already confirmed OK with the proposal (e.g., by proposing a proposal or by selecting from received proposals), the electronic calendar entry request may be automatically accepted without further input from the other parties via their electronic devices. For example, the interface may identify that an electronic calendar entry request has been received and provide a command that causes the electronic calendar application to generate an accepted calendar entry for the request.

[0007] Various refinements of the above-mentioned features may exist in relation to the various aspects of the present disclosure. Further features may also be incorporated in these various aspects as well. These refinements and additional features may exist individually or in any combination. For example, various features discussed below in relation to one or more of the illustrated embodiments may be incorporated alone or in any combination in any of the above-mentioned aspects of the present disclosure. The summary presented above is intended only to familiarize the reader with certain aspects and contexts of the embodiments of the present disclosure without limiting the claimed subject matter.

[0008] The various aspects of the disclosure can be better understood by reading the following Detailed Description and by reference to the following drawings, in which like numbers refer to like parts, and in which: [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a block diagram of an electronic device that provides automatic electronic calendar suggestions in accordance with one or more embodiments of the present application.

[0010] [Diagram 2]1 is a flowchart illustrating a process for triggering automatic electronic calendar suggestions in accordance with one or more embodiments of the present application.

[0011] [Diagram 3] 1 is a flowchart illustrating a process for implementing automatic electronic calendar suggestions in accordance with one or more embodiments of the present application.

[0012] [Figure 4] 1 is a flowchart illustrating a process for identifying missing information to be added to an electronic calendar proposal based on an identified context in accordance with one or more embodiments of the present application.

[0013] [Diagram 5] FIG. 1 is a schematic diagram of an electronic device using a text-based communication channel, in accordance with one or more embodiments of the present application, where the communication may trigger a processor for automatic generation of electronic calendar suggestions.

[0014] [Figure 6A] (collectively, FIGS. 6A-6D) are schematic diagrams of graphical user interface (GUI) transitions used to generate electronic calendar suggestions, in accordance with one or more embodiments of the present application. [Figure 6B] (collectively, FIGS. 6A-6D) are schematic diagrams of graphical user interface (GUI) transitions used to generate electronic calendar suggestions, in accordance with one or more embodiments of the present application. [Figure 6C] (collectively, FIGS. 6A-6D) are schematic diagrams of graphical user interface (GUI) transitions used to generate electronic calendar suggestions, in accordance with one or more embodiments of the present application. [Figure 6D] (collectively, FIGS. 6A-6D) are schematic diagrams of graphical user interface (GUI) transitions used to generate electronic calendar suggestions, in accordance with one or more embodiments of the present application.

[0015] [Figure 7]1 is a schematic diagram illustrating a GUI dialogue for sending an electronic calendar suggestion in accordance with one or more embodiments of the present application.

[0016] [Figure 8] FIG. 13 is a schematic diagram illustrating a GUI state after an electronic calendar suggestion has been sent, in accordance with one or more embodiments of the present application.

[0017] [Figure 9A] (collectively, FIGS. 9A-9C) are schematic diagrams illustrating GUI states in which an electronic calendar proposal is opened and multiple selectable options are selected, resulting in a confirmed electronic calendar entry, in accordance with one or more embodiments of the present application. [Figure 9B] (collectively, FIGS. 9A-9C) are schematic diagrams illustrating GUI states in which an electronic calendar proposal is opened and multiple selectable options are selected, resulting in a confirmed electronic calendar entry, in accordance with one or more embodiments of the present application.

[0018] [Figure 10] 1 is a schematic diagram illustrating a GUI interaction in which an indication of a confirmed electronic calendar entry is sent back to a proposed electronic device in accordance with one or more embodiments of the present application.

[0019] [Figure 11] FIG. 1 is a schematic diagram illustrating a GUI dialogue in which a display of a confirmed electronic calendar entry is opened in a proposed electronic device and a previously booked entry that is not associated with the confirmed electronic calendar entry is deleted, in accordance with one or more embodiments of the present application.

[0020] [Figure 12] 1 is a schematic diagram illustrating an electronic calendar of a proposed electronic device after receiving and / or opening an indication of a confirmed electronic calendar entry, in accordance with one or more embodiments of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] When introducing elements of various embodiments of the present disclosure, the articles "a," "an," and "the" are intended to mean that there are one or more elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements. In addition, it should be understood that references to "one embodiment" or "embodiments" of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features. Furthermore, particular features, structures, or characteristics may be combined as appropriate in one or more embodiments. Use of the terms "approximately," "close," "about," "close to," and / or "substantially" should be understood to mean near a target (e.g., a design, value, amount), including within any suitable or predictable tolerance of error (e.g., within 0.1% of a target, within 1% of a target, within 5% of a target, within 10% of a target, within 25% of a target, etc.). Moreover, it should be understood that any exact values, numbers, measurements, etc. provided herein are intended to include approximations (e.g., within appropriate or predictable tolerances of error) of the exact values, numbers, measurements, etc. Furthermore, the term "set" can include one or more. That is, while a set can include a single set of one member, a set can also include a set of multiple members.

[0022] The present disclosure is directed to facilitating efficient generation of electronic calendar entries by enabling electronic calendar entry suggestions via a communication channel application graphical user interface (GUI). In particular, in some embodiments, natural language processing (NLP) and / or other techniques may be used to analyze communications between parties via the communication channel application. Upon identifying an indication that the parties would like to meet, the GUI may be controlled to provide graphical suggestions for generating a meeting proposal. Upon receiving an indication to generate a meeting proposal, the GUI may be controlled to present parameter options for the meeting, such as location options and / or time options. A selection of parameters may be received via the GUI, and the selected parameters may be provided to the other party of the communication. The other party may select from the selected parameters, thereby confirming one or more particular parameters of the meeting. In response, an accepted electronic calendar entry using the confirmed one or more particular parameters may be generated for each of the parties of the communication.

[0023] FIG. 1 is a block diagram of an electronic device 100 according to an embodiment of the present disclosure. The electronic device 100 may include, among other things, one or more processors 102 (collectively referred to herein for convenience as a single processor, which may be implemented as any suitable form of processing circuitry), memory 104, non-volatile storage 106, display 108, input structures 112, input / output (I / O) interfaces 114, network interfaces 116, and power sources 118. The various functional blocks illustrated in FIG. 1 may include hardware elements (including circuits), software elements (including machine-executable instructions), or a combination of both hardware and software elements (which may be referred to as logic). The processor 102, memory 104, non-volatile storage 106, display 108, input structures 112, input / output (I / O) interfaces 114, network interfaces 116, and / or power sources 118 may each be communicatively coupled to one another, directly or indirectly (e.g., via another component, a communication bus, a network), to transmit and / or receive signals between one another. It should be noted that FIG. 1 is merely one example of a particular implementation and is intended to illustrate the types of components that may be present in electronic device 100.

[0024] By way of example, electronic device 100 may include any suitable computing device, including a desktop or notebook computer, a portable or handheld electronic device such as a wireless electronic device or a smartphone, a tablet, a wearable electronic device, and other similar devices. In additional or alternative embodiments, electronic device 100 may include an access point such as a base station, a router (e.g., a wireless router or a Wi-Fi router), a hub, a switch, and the like. It should be noted that processor 102 and other related items of FIG. 1 may be embodied in whole or in part as software, hardware, or both. Furthermore, processor 102 and other related items of FIG. 1 may be a single self-contained processing module, or may be incorporated in whole or in part within any of the other elements in electronic device 100. The processor 102 may be implemented as any combination of a general purpose microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a state machine, gate logic, discrete hardware components, a dedicated hardware finite state machine, or any other suitable entity capable of performing calculations or other manipulations of information. The processor 102 may include one or more application processors, one or more baseband processors, or both, and performs various functions described herein.

[0025] In the electronic device 100 of FIG. 1, the processor 102 is operatively coupled to the memory 104 and the non-volatile storage 106 to execute various algorithms. For example, the storage 106 may store a communication channel application 110A that includes one or more computer-readable instructions that cause the processor 102 to perform at least a portion of functions useful for facilitating communications between a user of the electronic device 100 and other users of other electronic devices. For example, the communication channel application 110 may include a text messaging application, such as a short messaging service (SMS) application and / or other text-based messaging application, a conferencing application, such as a video conferencing and / or audio conferencing application, a productivity software application that includes communication features, such as Keynote®, Freeform®, by Apple, Inc.®, and / or an online communication platform.

[0026] In some embodiments, the storage 106 may also store a natural language processing (NPL) engine 110B, which may include one or more computer-readable instructions that cause the processor 102 to perform natural language processing on communications facilitated by the communication channel application 110A. The NLP engine 110B may perform natural language processing on the communications of the communication channel application 110A to identify when the parties to the communications would like to meet. In some examples, as described in more detail below, upon identification of such a preference through the NLP engine 110B, an indication of the identified preference may be provided to an electronic calendar interface 110C that communicatively couples the communication channel application 110A and an electronic calendar application 110D, which may also be stored on the storage 106. While the illustrated embodiment shows the NLP engine 110B stored within the storage 106 local to the electronic device 100, in some embodiments the NLP engine 110B may be implemented remotely to the electronic device 100, for example, via data transmission of the communication data via the transceiver 120.

[0027] The electronic calendar interface 110C may include one or more computer-readable instructions that cause the processor 102 to facilitate at least a portion of the electronic calendar entry proposal and / or confirmation techniques described herein. For example, upon receiving an indication from the NLP engine 110B that a party has indicated a desire to meet, the electronic calendar interface 110C may, in some embodiments, cause a graphical user interface (GUI) of the communication channel application 110A to provide a graphical proposal to generate and send a meeting proposal to the other party of the communication. Upon receiving an instruction to generate a meeting proposal, the electronic calendar interface 110C may generate a meeting proposal parameter selection GUI within the communication channel application 110A to allow the user to select proposal parameters to be sent to the other party of the communication. For example, the electronic calendar interface 110C may access the electronic calendar application 110D to identify available meeting times that may be selected as proposal parameters. To do this, the electronic calendar interface may access the electronic calendar application 110D to retrieve the user's calendar events. As described in more detail below, the meeting proposal parameter selection GUI may include a graphical view of one or more electronic calendars maintained and / or accessible by electronic calendar application 110D, while providing affordances for selecting one or more proposed dates and / or times as time parameters for the meeting proposal. Additionally, electronic calendar interface 110C may access one or more context applications 110E, which may provide additional context regarding the communication and a subset of parameters most likely desired for the meeting proposal. For example, context application 110E may include an electronic maps application that may provide additional context around a preferred location for the meeting (e.g., as determined based on the locations of the communicating parties and / or words provided in the communication).In some embodiments, these context applications 110E may be used to form part of the meeting proposal parameter selection GUI.

[0028] Once the meeting proposal parameters are selected, the electronic calendar interface 110C of the proposing electronic device 100 (e.g., the “proposer”) may cause an indication of the meeting proposal to be transmitted (e.g., via the transceiver 120) to the other party of the communication. The receiving electronic device (e.g., the “receiver”) may include a corresponding interface that allows for the display of each of the proposed parameters and the selection of a subset of the proposed parameters. In some embodiments, the electronic calendar interface 110C may cause the proposer's electronic calendar to temporarily block / reserve each of the proposed times and / or locations until a confirmed selection of the subset of the proposed parameters is returned from the recipient's electronic device. To do this, the electronic calendar interface 110C may transmit one or more commands to generate an electronic calendar entry for each of the proposed parameters.

[0029] Upon receiving a selection of the subset of proposed parameters from the recipient's electronic device, electronic calendar interface 110C may cause the creation of a confirmed calendar entry in the proposer's electronic calendar that includes the selected subset of proposed parameters (e.g., time and / or location). Additionally, other previously blocked / reserved calendar entries may be deleted. To do this, electronic calendar interface 110C may send one or more commands to electronic calendar application 110D to delete previously requested calendar entries that included proposed parameters that were not in the selected subset of proposed parameters. In this manner, blocked / reserved calendar entries may be deleted except for one calendar entry that matches the selected subset of proposed parameters.

[0030] Such programs or instructions executed by the processor 102 may be stored in any suitable article of manufacture, including one or more tangible computer-readable media. The tangible computer-readable media may include the memory 104 and / or the non-volatile storage 106, individually or collectively, for storing instructions or routines. The memory 104 and the non-volatile storage 106 may include any suitable article of manufacture for storing data and executable instructions, such as random access memory, read-only memory, rewriteable flash memory, hard drives, and optical disks. Furthermore, programs (e.g., operating systems) encoded on such computer program products may also include instructions executable by the processor 102 to enable the electronic device 100 to provide various functions.

[0031] In particular embodiments, display 108 may facilitate a user viewing images generated on electronic device 100. In some embodiments, display 108 may include a touch screen, which may facilitate user interaction with a user interface of electronic device 100. It should further be appreciated that in some embodiments, display 108 may include one or more liquid crystal displays (LCDs), light-emitting diode (LED) displays, organic light-emitting diode (OLED) displays, active-matrix organic light-emitting diode (AMOLED) displays, or any combination of these and / or other display technologies.

[0032] The input structure 112 of the electronic device 100 may allow a user to interact with the electronic device 100 (e.g., increasing or decreasing a volume level by pressing a button). The I / O interface 114, as well as the network interface 116, may allow the electronic device 100 to interface with various other electronic devices. In some embodiments, the I / O interface 114 may include an I / O port for a wired connection for charging and / or content manipulation using a standard connector and protocol, such as a Lightning connector, universal serial bus (USB), or other similar connector and protocol. The network interface 116 may include an I / O port for a local area network (LAN) or wireless local area network (WLAN), such as a personal area network (PAN), e.g., an ultra-wideband (UWB) or Bluetooth® network, a network using one of the IEEE 802.11x family of protocols (e.g., WI-FI®), and / or a third-party network (FSU), e.g., a third-party network (FSU), ... 世代 (3G) cellular network, Universal Mobile Telecommunications System (UMTS), 4th 世代 (4G) cellular network, Long Term Evolution (LTE) cellular network, Long Term Evolution Licensed Assisted Access (LTE-LAA) cellular network, 5th 世代 (5G) cellular networks and / or New Radio (NR) cellular networks, satellite networks, 6th 世代The network interface 116 may include one or more interfaces for a wide area network (WAN), such as any standard associated with the Third Generation Partnership Project (3GPP), including non-terrestrial networks, including cellular networks, including 6G or greater than 6G. In particular, the network interface 116 may include one or more interfaces for using cellular communication standards, such as 5G specifications, including millimeter wave (mmWave) frequency ranges (e.g., 24.25-300 gigahertz (GHz)), which define and / or enable a frequency range used for wireless communication. The network interface 116 of the electronic device 100 may enable communication over such networks (e.g., 5G, Wi-Fi, LTE-LAA, etc.).

[0033] The network interface 116 may also include one or more interfaces for, for example, broadband fixed wireless access networks (e.g., WIMAX®), mobile broadband wireless networks (Mobile WIMAX®), asynchronous digital subscriber lines (ADSL, VDSL, etc.), digital video broadcasting terrestrial (DVB-T®) networks and their extensions DVB handheld (DVB-H®) networks, ultra-wideband (UWB) networks, alternating current (AC) power lines, etc.

[0034] As shown, the network interface 116 may include a transceiver 120. In some embodiments, all or a portion of the transceiver 120 may be located within the processor 102. The transceiver 120 may support the transmission and reception of various wireless signals via one or more antennas and may thus include a transmitter and a receiver. The power source 118 of the electronic device 100 may include any suitable power source, such as a rechargeable lithium polymer (Li-poly) battery and / or an alternating current (AC) power converter.

[0035] 2 is a flow chart illustrating a process 200 for triggering automatic electronic calendar suggestions in accordance with one or more embodiments of the present application. As described above, one or more messages are received via communication channel application 110A (block 202). For example, a text message may be received, a voice response may be received, etc.

[0036] Natural language processing (NLP) may be performed on the received messages (block 204). To do this, the messages may be sent to NLP engine 110B for analysis. In some embodiments, NLP for each message may be performed individually for the context of each message by submitting each message independently to NLP engine 110B. In other embodiments, NLP may be performed on clusters of messages for efficient processing. Clusters may be defined based on the number of messages in a series (e.g., batching a certain number of blocks of a series of messages at a time for analysis by NLP engine 110B), time blocks (e.g., submitting all messages received within a certain time block (e.g., 5 seconds)), time between blocks (e.g., submitting a cluster of messages where all messages occurred within a threshold amount of time between each other), etc.

[0037] A determination is made as to whether natural language processing of the message indicates that the parties of the communication wish to meet (decision block 206). If the message does not indicate a desire to meet, process 200 is repeated. However, if the message indicates a desire to meet, a determination is made as to whether the message includes parameters for the desired meeting (decision block 208). For example, the parameters may include at least a time to meet. In some embodiments, the parameters may include a location for the meeting.

[0038] If it is determined that the parameters are indicated in the message, a recommendation to create a calendar event may be presented via communication channel application 110A (block 210). For example, a selectable banner may be provided indicating that an electronic calendar entry may be created based on the specified satisfaction preference and the parameters identified from the communication message. Once the banner is selected, electronic calendar interface 110C may cause an electronic calendar entry to be created by providing a command to electronic calendar application 110D.

[0039] Returning to decision block 208, if it is determined that a parameter is missing, a graphical display may be provided indicating that an electronic calendar event suggestion may be generated (block 212). For example, a selectable banner may be provided within communication channel application 110A. Once the selectable banner is selected, a process may be initiated to generate an electronic calendar suggestion.

[0040] 3 is a flow chart illustrating a process 300 for generating automatic electronic calendar suggestions in accordance with one or more embodiments of the present application. The process 300 begins with receiving a request to generate electronic calendar event suggestions (block 302). As discussed above, the request may be received in response to selection of a selectable banner suggesting the generation of electronic calendar suggestions.

[0041] Process 300 attempts to gather previously proposed meeting parameter details by extracting meeting parameters previously discussed in communication messages between the communicating parties (block 304). For example, as described in the examples below, certain contextual clues and / or explicit meeting parameters such as day, date, location, type of meeting, etc. may be provided in the communication.

[0042] An electronic calendar suggestions graphical panel may be presented via a GUI of the communication channel application 110A (block 306). As described below, in some embodiments, the electronic calendar suggestions graphical panel may be pre-populated with at least a portion of the meeting parameters extracted from block 304. For example, the title of the meeting may be pre-populated with one or more words from the communication message.

[0043] One or more parameter selection panels may be provided in the GUI to allow the proposer to select one or more proposed parameters for the meeting (block 308). For example, the parameter selection panel may present a view of the proposer's electronic calendar with selectable time spots from which the proposed time parameters for the meeting may be selected for the proposal. The parameter selection panel may also provide a map with selectable locations from which locations may be selected for the proposal. As described in more detail with respect to FIG. 4, contextual information from the communication message may provide a level of information regarding the missing parameters, such as providing an indication that the meeting may take place in the "evening" without a specific time indication, and / or an indication that the location is a location that serves "drinks" without an indication of a specific location that serves drinks. As described in more detail below, the process of FIG. 4 provides context awareness that results in more applicable indications within the parameter selection panel.

[0044] Once a selection is made via the GUI, a selection from one or more parameter selection panels may be received (block 310), and a data message (e.g., an "electronic calendar suggestion") including the extracted meeting characteristics and the received selection may be generated for transmission to the recipient's electronic device (block 312). For example, a data object may be generated including the selected time, location, and / or other details of the meeting. A representation of the generated data object may be provided within the communication channel application 110A along with an affordance for transmitting the data object to the recipient electronic device(s).

[0045] As mentioned above, Figure 4 is a flow chart illustrating a process 400 for identifying missing information to be added to an electronic calendar proposal based on an identified context, in accordance with one or more embodiments of the present application. The contextual information from the communication message may provide some level of information regarding the missing parameters, such as providing an indication that the meeting may occur in the "evening" without a specific time indication and / or that the location is a location that serves "drinks" without an indication of a specific location that serves drinks. The process 400 of Figure 4 uses context awareness to generate a more applicable selection indication for selecting parameters of the proposal.

[0046] Process 400 begins with identifying and / or receiving an indication of a missing meeting parameter to be obtained (block 402). For example, in some embodiments, at least a time should be associated with the meeting. If a time is not provided in the communication message or multiple times are possible based on the communication message (e.g., if the time is described only as "evening time"), the parameter is identified as missing.

[0047] Context information associated with the missing meeting features is obtained (block 404). For example, an indication of a meeting in the "evening" provided in the communication message may provide context for the meeting time parameter. Additionally, an indication in the communication message that the parties are "going for drinks" may provide context for the meeting location parameter. Additionally, another context point for location may be the parties' current location and / or the parties' predicted location around the meeting time.

[0048] Process 400 includes determining whether the meeting time is missing from the context information (decision block 406). For example, as described herein, a communication message may indicate a day, and possibly context information indicating a time range. However, the communication may fail to indicate a specific time that would allow the communicating parties to understand when the meeting will occur. In such a case, the meeting time is identified as missing.

[0049] If a meeting time is missing, a time selection process 407 may be performed. The time selection process 407 may be performed to allow a user to select a time proposal for the meeting. In some embodiments, this may be facilitated by providing a default GUI view based on the identified time context of the meeting. Thus, the time selection process 407 may include identifying a likely time proposal range based on the context information (block 408). For example, a machine learning model may identify a likely time proposal range based on the communication message.

[0050] As used herein, machine learning may refer to algorithms and statistical models used by computer systems to perform specific tasks with or without explicit instructions. For example, a machine learning process may generate a mathematical model based on samples of clean data, known as "training data," to make predictions or decisions without being explicitly programmed to perform a specific task. Depending on the inferences to be made, different machine learning algorithms may be used to analyze the data.

[0051] In some embodiments, a supervised machine learning algorithm may be implemented using a mathematical model of a set of data samples, called "training data," that includes both inputs and desired outputs. Each data sample may include one or more inputs and one or more corresponding desired outputs, also known as supervisory signals. In the mathematical model, each data sample may be represented by an array or vector, sometimes called a feature vector, and the training data may be represented by a matrix. Through iterative optimization of an objective function, the supervised machine learning algorithm may learn a function (e.g., an optimal function) that can be used to predict an output associated with a new input. That is, the optimal function may enable the supervised machine learning algorithm to correctly predict the corresponding output for some inputs not presented in the training data. Such an algorithm that improves the accuracy of its outputs or predictions over time is said to have learned to perform a particular task.

[0052] Supervised learning algorithms can include classification and regression. Classification algorithms are used when the output is restricted to a limited set of values, while regression algorithms are used when the output can have any numerical value within a range. Similarity learning is an area of ​​supervised machine learning closely related to regression and classification, but the goal is to learn from examples using a similarity function that measures how similar or related two objects are.

[0053] Additionally and / or alternatively, in some embodiments, an unsupervised machine learning algorithm may be implemented (e.g., when a particular output type is not known). An unsupervised learning algorithm can take a set of data samples that include only inputs and find structure in the data samples, such as groupings or clusterings of the data samples. Thus, an unsupervised learning algorithm learns from unlabeled, unclassified, or uncategorized data samples. Instead of responding to feedback, an unsupervised learning algorithm identifies commonalities in the data and reacts (e.g., predicts an output) based on the presence or absence of such commonalities in each new piece of data.

[0054] Cluster analysis is the assignment of a set of observations to subsets (called clusters) such that observations within the same cluster are similar according to one or more pre-specified criteria, and observations drawn from different clusters are different. Different clustering techniques make different assumptions about the structure of the data, often defined by some similarity metric, e.g., interior compactness, or the same cluster similarity system or algorithm.

[0055] Once the potential proposed time ranges have been identified, a calendar time slot proposal selector may be provided (block 410). An example of such a time slot proposal selector is shown in FIG. 6C, which is described in more detail below. The time slot proposal selector allows a user to select one or more time slot proposals for a meeting between the communication participants. The selected time slots are received via a GUI (block 412).

[0056] Process 400 may also include determining whether a meeting location is missing (decision block 414). For example, if the communication message does not specify a particular location for the meeting, the location may be determined to be missing.

[0057] If a location is determined to be missing, a location selection process 415 may be implemented. Similar to the meeting time slot, contextual information regarding the meeting location may also be used to facilitate the selection of a proposed location. Thus, the location selection process 415 may, in some embodiments, include identifying potential location suggestions based on the identified contextual information about the location (block 416). For example, the communicator's location and / or the predicted location may be used to identify feasible and / or desirable locations for the meeting. Additionally, the meeting type (e.g., a "drinks" meeting) may indicate the type of location (e.g., a location that serves drinks) that is likely to be selected as a proposed location. Similar to the time slot suggestions, in some embodiments, potential location suggestions may be identified via machine learning.

[0058] A map selector may be provided via a GUI that presents potential location suggestions (block 418). Figure 6D provides an example of such a location selector, described in more detail below. The location selector includes affordances for selecting one or more location suggestions to incorporate into the meeting suggestion. The selected location suggestions may be received via the map selector (block 420).

[0059] Once the missing meeting features have been selected and received, a meeting proposal may be generated, block 422. As described herein, this may involve generating a meeting proposal object that includes the meeting features obtained via the communication message and / or the missing meeting features obtained via process 407, process 415, etc.

[0060] 5 is a schematic diagram 500 of electronic devices 502A and 502B using a text-based communication channel, according to one or more embodiments of the present application, where the communication can trigger a processor for automatic generation of electronic calendar suggestions. As shown, electronic device 502A initiates the communication by providing a message 504 to electronic device 502B. Message 504 is received and displayed by electronic device 502B. As described above with respect to FIG. 2, electronic device 502B can perform NLP on the message to determine whether the message indicates a meeting. Here, electronic device 502B determines that the message "Good morning" does not indicate a meeting.

[0061] A response message 506 is returned from electronic device 502B to electronic device 502A. Electronic device 502A can receive and display the response message 506. In the illustrated example, this message 506 includes a meeting indication (which may be determined, for example, by NLP performed by electronic device 502A upon receiving the message and / or by electronic device 502B). If electronic device 502B is an electronic device that performs NLP that identifies that message 506 indicates a meeting, additional data may be sent with message 506 to inform electronic device 502A of this determination and enable electronic device 502A to recognize the message as indicating a meeting.

[0062] At this point, in some embodiments, an electronic proposal to create a calendar entry and / or meeting proposal may be triggered for provision by electronic device 502A and / or 502B. However, in some embodiments, such as the illustrated embodiment, the electronic proposal may be triggered when a confirmation message 508 is generated and / or sent in response to the received message 506 indicating the meeting. For example, here, confirmation message 508 is generated and sent to electronic device 502B indicating an acknowledgment to the received message 506 proposing the meeting, and thus indicating that the user of electronic device 502A is interested in meeting with the user of electronic device 502B.

[0063] As mentioned above, the generation and / or receipt of the confirmation message 508 and / or the message indicating the meeting can trigger an electronic proposal to generate a calendar entry and / or a meeting proposal. As described above with respect to FIG. 2, the electronic proposal to generate a calendar entry can be triggered when a minimum amount of meeting information can be gathered from the communication messages. In some embodiments, the electronic proposal to create a meeting proposal can be triggered when at least a portion of the minimum amount of meeting information cannot be gathered from the communication messages. To identify the meeting information present in the communication messages, the electronic device 502A and / or 502B can identify a subset of the communication messages related to the meeting (e.g., by identifying a first message indicating the meeting and all other messages generated and / or sent after the first message but before presenting the electronic proposal). NLP or other machine learning techniques can be used on this subset of messages to identify the meeting information, which can be extracted to identify whether the minimum meeting information is present.

[0064] In the example provided in FIG. 5, a minimal amount of meeting information may include a time of the meeting and / or a location of the meeting. This information is not provided in messages 504, 506, and / or 508. Thus, a suggestion may be triggered to generate a meeting proposal. FIG. 6A is a schematic diagram of a graphical user interface (GUI) 600 that provides an electronic proposal 602 in response to messages 506 and / or 508 being generated, sent, and / or received. As shown, in some embodiments, the electronic proposal 602 may include an overlay presented over a portion of the GUI of the communication channel application 110A. The electronic proposal 602 may include at least a portion of the meeting information extracted from the communication message. For example, in the illustrated embodiment, the title 604 of the proposed meeting may include an indication of the type of event and the name of the proposer, which may be identified from the extracted meeting information of the communication message. Additionally, contextual information useful in determining the missing meeting information may also be extracted. At least a portion of this contextual information may be provided in the electronic proposal 602. For example, message 506 does not provide a time, but does provide a suggested date for the meeting (e.g., "next Friday"). Additionally, message 506 does not provide a location for the meeting, but does provide the context of the type of meeting (e.g., "drinks"). This information can be used to narrow the time and / or location suggestions. For example, the time may be narrowed to a time slot occurring "next Friday" and further narrowed to a time typically applicable to a particular meeting type. Thus, context indication 606 is provided within electronic suggestions 602.

[0065] As described in more detail below, additional inferences may also be identified that may further influence the default view of the meeting suggestions GUI. For example, "drinks" may refer to cocktails, which may be used to infer that the meeting will take place somewhere in the evening and / or at a bar or similar venue, as this is a typical time range and / or typical venue for a "drinks" event type. Inference instructions 608 (e.g., an inference of time of evening) may be provided in the electronic suggestions 602.

[0066] The electronic proposal 602 may also include a selectable affordance 610. In some embodiments, the selectable affordance may be the electronic proposal 602 itself, and a selection occurs when at least a portion of the electronic proposal 602 is selected. Selection of the selectable affordance 610 may trigger a retraction of the rendering of the electronic proposal 602 and / or the rendering of the meeting proposal generator GUI element 612, as shown in FIG. 6B. In the illustrated embodiment of FIG. 6B, the meeting proposal generator GUI element 612 includes a sliding GUI panel that provides a title 604 of the meeting proposal and a display 614 of missing meeting information (e.g., time and location in the illustrated embodiment) that may be shown via the meeting proposal generator GUI element 612. In some embodiments, individual selectable affordances 616 may be rendered, allowing a user to select specific missing meeting information to be set via the meeting proposal generator GUI element 612. In some embodiments, a sequential instruction process may be selected via a sequential instruction selection affordance 618. When selected, the step-by-step selection affordance 618 enables step-by-step instruction of each piece of missing meeting information via the meeting suggestion generator GUI element 612 .

[0067] 6C is a schematic diagram illustrating a time selection GUI 620 of the meeting suggestion generator GUI element 612 that facilitates providing suggested meeting time slots, according to one or more embodiments of the present application. The time selection GUI 620 can render a calendar view 622 of an electronic calendar of a local electronic device (e.g., electronic device 502A). The electronic calendar view 622 can display a date and / or time range based on context information provided in the communication message. For example, in FIG. 6C, the electronic calendar view 622 defaults to the 8th of "next Friday," as indicated by message 506, and further provides a default view of the "evening" time slot, as inferred from message 506. As can be appreciated, the default view can be changed by selecting a different date and / or time affordance in the electronic calendar view 622.

[0068] The electronic calendar view 622 can be populated with existing electronic calendar entries 624, which can be obtained from electronic calendar application 110D via interface 110C. The electronic calendar view 622 allows for quick selection of suggested timeslots 626 via interaction (e.g., touch, selection, etc.) within the electronic calendar view 622. As shown, multiple suggested timeslots may be selected, allowing the user to suggest multiple meeting time options. The start time, end time, duration, etc. may be adjusted by moving and / or adjusting the suggested timeslots 626. For example, an edge of one of the suggested timeslots 626 can be moved, thereby adjusting the time associated with that edge and the duration of the associated suggested timeslots 626. Once all of the suggested timeslots have been selected, a completion affordance 628 may be selected indicating that all of the suggested timeslots 626 are selected and ready for transmission to another electronic device (e.g., electronic device 502B).

[0069] FIG. 6D is a schematic diagram illustrating a location selection GUI 630 of the meeting suggestion generator GUI element 612 that facilitates providing suggested meeting locations, according to one or more embodiments of the present application. The location selection GUI 630 can render a map view 632 with possible meeting location suggestions. The map view 632 can display default location suggestion recommendations based on context information provided in the communication message. For example, in FIG. 6D, the map view 632 can default to a map with locations where the meeting attendees are likely to be during the evening hours, which is the time period inferred from the message 506. These locations can be displayed in the map view 632 (e.g., here at point 634) in some embodiments. In some embodiments, when the suggested timeslot 626 is selected, the time associated with the suggested timeslot 626 can be used as a context for the suggested locations. The suggested locations can be filtered based on the context and / or availability during the time period of the suggested timeslot 626. Thus, locations that are closed during these time periods can be filtered from the map view 632. The predicted location of the meeting attendees may be identified using contextual information, such as other meeting locations before or after the proposed time slot 626. In some embodiments, machine learning may be used to predict the location of the attendees (e.g., based on the location patterns of the attendees, etc.). As can be appreciated, the default view may be changed by adjusting the map view 632.

[0070] The map view 632 allows for quick selection of a suggested location 636 via interaction (e.g., touch, selection, etc.) in the map view 632 (e.g., at a location represented in the map view 632). As shown, multiple suggested locations 636 may be selected, allowing a user to suggest multiple meeting location options. Once all of the suggested locations 636 are selected, a completion affordance 638 may be selected indicating that all of the suggested time slots 626 are selected and ready for transmission to another electronic device (e.g., electronic device 502B). The keyword affordance 640 may provide an indication of the particular keyword or keywords queried to identify the suggested location 636. The keywords may be based on meeting information extracted from the communication message. If desired, the keywords may be modified via the keyword affordance 640 to adjust the suggested location 636. For example, if an attendee intended "drink" to mean coffee instead of a cocktail, the keyword "drink" may be replaced with "coffee" in the keyword affordance 640.

[0071] When the keyword affordance 640 is changed prior to selecting a suggested time slot via the time selection GUI 620, a context shift may occur based on the changed keyword, shifting the default view of the location selection GUI 630 and / or the electronic calendar view 622. For example, when "drinks" is changed to "coffee," this may indicate a possible adjustment from "evening" to "morning," which may cause the default view of the electronic calendar view 622 to adjust to a different time range and / or the default view of the location selection GUI 630 to adjust to a view that encompasses the predicted locations of attendees in the morning hours.

[0072] As discussed above with respect to FIG. 3, upon providing and / or receiving the missing meeting feature, a data message including the meeting feature may be generated. FIG. 7 is a schematic diagram illustrating communication application GUI states 700A and 700B of the proposed electronic device 502A and the receiving electronic device 502B, according to one or more embodiments of the present application. As shown, a data message icon 702 representing a generated data message (e.g., an object designed to be conveyed via a communication application) is rendered within a message input affordance 704 in which a message to be sent to a recipient (e.g., a user of the electronic device 502B) may be entered. To send the generated data message to the electronic device 502B, a send message affordance 706 may be actuated while the data message icon 702 is rendered within the message input affordance 704. Prior to sending the data object, the GUI state 700B may display a message generation awareness icon 708 indicating that a message is being generated for communication between the electronic devices 502A and 502B at the other electronic device (e.g., electronic device 502A). In some embodiments, the message generation awareness icon 708 may be displayed while the meeting proposal entry is being performed (e.g., while the meeting proposal generator GUI element 612 is displayed on the electronic device 502A, while a time and / or location proposal is being selected, etc.). In some embodiments, the message generation awareness icon 708 may be displayed from the time the data message icon 702 is rendered within the message entry affordance 704. The message generation awareness icon 708 may be displayed until the data message is sent (e.g., via actuation of the send message affordance 706) and / or until the data message is retracted (e.g., deleted and / or canceled from generation, such as by actuating the cancel affordance 710 and / or the cancel affordance of the meeting proposal generator GUI element 612).The message generation awareness icon 708 may cease to display when the configuration of the electronic device 502A selects to provide such awareness to other electronic devices.

[0073] 8 is a schematic diagram illustrating GUI states 800A and 800B of electronic devices 502A and 502B, respectively, after an electronic calendar suggestion has been sent from electronic device 502A to electronic device 502B, in accordance with one or more embodiments of the present application. In GUI state 800A of the suggesting electronic device 502A that sent the data message, a message indicator 802 (e.g., a history message cloud icon) is displayed indicating that a data message has been sent (e.g., by displaying a data message icon 702 within message indicator 802).

[0074] Electronic device 502B may receive a message 804 including a data message icon 702, which may be rendered in a GUI state 800B of electronic device 502B. If the configuration of electronic device 502B permits, a read receipt may be provided by electronic device 502B to electronic device 502A, resulting in an indication 806 that a user of electronic device 502B has received and viewed the data message provided in the message 804 received by electronic device 502B (e.g., by viewing the data message icon 702′).

[0075] The data message icon 702' may be a selectable icon that, when selected, causes the GUI of the electronic device 502B to display details of the meeting proposal provided by the electronic device 502A. FIG. 9A is a schematic diagram illustrating a GUI state 900A in which a proposal confirmation GUI element 902 is presented in response to selection of the data message icon 702'. Specifically, the proposal confirmation GUI element 902 may include a GUI component that allows the user of the electronic device 502B to select from proposal options (e.g., time and / or location) provided by the user of the electronic device 502A. In FIG. 9A, for example, an electronic calendar proposal confirmation panel 904 is rendered to display each of the proposed time slots 626 selected in FIG. 6C. The user of the electronic device 502B is permitted to select one of the proposed time slots 626, indicating the selection and / or confirmation of the particular one of the proposed time slots 626. A similar map panel may be provided via the suggestion confirmation GUI element 902 to allow a user of the electronic device 502B to select from the suggested locations 636 provided from the electronic device 502A of FIG. 6D.

[0076] 9B illustrates a subsequent GUI state 900B after selecting a proposal option via GUI state 900A. In GUI state 900B, a proposal confirmation GUI element 902 provides a summary view 906 of the meeting details to be confirmed by a user of electronic device 502B. For example, as shown, a title 604 may be provided and a location 908 and / or a selected time slot 910 (e.g., selected via proposal confirmation GUI element 902 in GUI state 900A) may be displayed within the summary view 906. In some embodiments, the summary view 906 may be rendered by sending the selected proposal option to electronic device 502A, resulting in a trigger that causes electronic device 502A to automatically (e.g., in the background, without a visual indicator and / or without requiring manual GUI interaction of the user of electronic device 502A) send a meeting invitation with the selected proposal option back to electronic device 502B, rendering the meeting request (e.g., summary view 906).

[0077] The summary view 906 may include meeting request response affordances, such as an acceptance affordance 912, a possibility / tentative affordance 914, and / or a rejection affordance 916, that enable a user of the electronic device 502B to indicate a response to the meeting request associated with the selected proposal via an interaction (e.g., interaction 918).

[0078] Once a response is selected, the response may be generated for sending to the electronic device 502A. FIG. 10 provides a schematic diagram illustrating GUI states 1000A and 1000B of electronic devices 502B and 502A, respectively, in which a meeting proposal response is generated for sending to the electronic device 502A. As shown, a data message icon 1002 representing a generated data message (e.g., an object designed to be communicated via a communication application) is rendered within a message input affordance 1004 in which a message to send to a recipient (e.g., a user of the electronic device 502A) may be entered. In this case, the data message is a data object that provides a meeting response instruction along with the selected meeting proposal. A send message affordance 1006 may be actuated while the data message icon 1002 is rendered within the message input affordance 1004 to send the generated data message to the electronic device 502A. Prior to sending the data object, GUI state 1000B may display a message generation awareness icon 1008 indicating that a message is being generated for communication between electronic devices 502B and 502A at the other electronic device (e.g., electronic device 502B). In some embodiments, message generation awareness icon 1008 may be displayed while a provided meeting proposal provided in a meeting proposal data message is selected (e.g., while a meeting proposal confirmation GUI element 612 is displayed on electronic device 502B, while a particular time and / or location proposal from a set of proposals is selected, etc.). In some embodiments, message generation awareness icon 1008 may be displayed from the time the data message icon 1002 is rendered within the message entry affordance 1004.The message generation awareness icon 1008 may be displayed until the data message is sent (e.g., via actuation of the send message affordance 1006) and / or until the data message is retracted (e.g., deleted from generation and / or canceled, such as by actuating the cancel affordance 1010 and / or the cancel affordance of the meeting suggestion generator GUI element 612). The message generation awareness icon 1008 can cease displaying when the configuration of the electronic device 502B selects to provide such awareness to other electronic devices.

[0079] 11 is a schematic diagram illustrating GUI states 1100A and 1100B of electronic devices 502B and 502A, respectively, after an electronic calendar meeting request response data message has been sent from electronic device 502B to electronic device 502A, in accordance with one or more embodiments of the present application. In GUI state 1100A of electronic device 502B, which sent the meeting request response data message, a message indicator 1102 (e.g., a history message cloud icon) is displayed indicating that a data message has been sent (e.g., by displaying data message icon 1002 within message indicator 1102).

[0080] Electronic device 502A may receive a message 1104 including a data message icon 1002', which may be rendered in GUI state 1100B of electronic device 502A. If the configuration of electronic device 502A permits, a read receipt may be provided by electronic device 502A to electronic device 502B, resulting in an indication 1106 that a user of electronic device 502A has received and viewed (e.g., by viewing data message icon 1102') the data message provided in message 1104 received by electronic device 502B.

[0081] The data message icon 1002' may be a selectable icon that, when selected, causes the GUI of the electronic device 502A to create an electronic calendar entry in the electronic calendar of the electronic device 502A with the selected meeting time, location, and other details. In an embodiment in which a response was selected based on an automatic meeting invitation generated at the electronic device 502A, the response may update an existing electronic calendar entry corresponding to the automatically generated meeting invitation with an updated response type selected via the electronic device 502B.

[0082] 12 is a schematic diagram illustrating an electronic calendar GUI 1200 of the proposed electronic device 502A after receiving and / or opening a response indication from the electronic device 502B, in accordance with one or more embodiments of the present application. As shown, the electronic calendar GUI 1200 includes an electronic calendar entry 1202 for the confirmed meeting (e.g., based on receiving an “accept” and / or “maybe” or “tentative” response indication from the electronic device 502B). Although not shown, the electronic device 502B may include a corresponding electronic calendar entry that may be generated upon providing an “accept” and / or “maybe” or “tentative” response indication via the affordances 912 and / or 914 of FIG. 9B.

[0083] It should be understood that the specific embodiments described above are provided by way of example, and that these embodiments may be capable of various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.

[0084] The techniques presented and claimed herein refer to and are applied to tangible objects and actual examples of a practical nature that demonstrably improve the art, and thus are not abstract, intangible, or purely theoretical. Moreover, to the extent any claim appended at the end of this specification includes one or more elements designated as "means for [performing] . . . a function" or "steps for [performing] . . . a function," it is intended that such elements be construed in accordance with 35 U.S.C. 112(f). However, for claims that include elements recited in other ways, it is intended that such elements not be construed under 35 U.S.C. 112(f).

[0085] It is understood that use of personally identifiable information should comply with privacy policies and practices generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. In particular, personally identifiable information data should be managed and handled in a manner that minimizes the risk of unintended or unauthorized access or use, and the nature of permitted uses should be clearly indicated to users.

Claims

1. When executed by one or more processors of one or more computers, the one or more computers are caused to: determining instructions for a meeting between a first user of the first electronic device and a second user of the second electronic device from one or more communication messages provided between a first electronic device and a second electronic device, the one or more communication messages being generated via a first communication application graphical user interface (GUI) of the first electronic device, a second communication application GUI of the second electronic device, or both; determining whether meeting parameters are missing from the one or more communication messages in response to determining the indication of the meeting from the one or more communication messages; in response to determining that the meeting parameters are missing from the one or more communication messages, causing, in the first communication application GUI, the second communication application GUI, or both, to render a recommendation for generating an electronic calendar proposal for the meeting; receiving a GUI input providing a response to the recommendation, the response to the recommendation indicating generating the electronic meeting proposal; A tangible, non-transitory computer-readable medium comprising computer-readable instructions that, in response to receiving the GUI input, cause a meeting proposal generator GUI element to be rendered in the first communication application GUI, the second communication application GUI, or both, the meeting proposal generator GUI element including an affordance for inputting the missing meeting parameters.

2. When executed by the one or more processors of the one or more computers, the one or more computers are receiving an indication of the missing meeting parameter via the affordance; 10. The tangible, non-transitory computer readable medium of claim 1 comprising computer readable instructions for generating a meeting suggestions data object that includes the missing meeting parameters.

3. When executed by the one or more processors of the one or more computers, the one or more computers are extracting one or more non-missing meeting parameters from the one or more communication messages; 3. The tangible, non-transitory computer readable medium of claim 2, comprising computer readable instructions for causing the one or more non-missing meeting parameters in the generated meeting proposal data object to be provided.

4. When executed by the one or more processors of the one or more computers, the one or more computers are 3. The tangible, non-transitory computer-readable medium of claim 2, comprising computer-readable instructions that cause a meeting suggestion data object icon representing the meeting suggestion data object to be rendered within a message input affordance configured to enable a user to input a communication message to be sent.

5. When executed by the one or more processors of the one or more computers, the one or more computers are receiving an instruction for interacting with the message sending affordance; 5. The tangible, non-transitory computer-readable medium of claim 4, comprising computer-readable instructions that, in response to receiving the instruction, cause the meeting proposal data object to be transmitted to the other of the first electronic device or the second electronic device.

6. The missing meeting parameters include a meeting time, and the computer-readable medium, when executed by the one or more processors of the one or more computers, causes the one or more computers to:

3. The tangible, non-transitory computer-readable medium of claim 2, comprising computer-readable instructions for generating within the meeting suggestion generator GUI element a calendar view, the calendar view including time slot suggestion affordances that enable selection of multiple time slots to suggest for the meeting.

7. When executed by the one or more processors of the one or more computers, the one or more computers are causing the local electronic calendar application to query for existing entries via a calendar interface communicatively coupling the local electronic calendar application and the meeting suggestion generator GUI element; The tangible, non-transitory computer readable medium of claim 6 comprising computer readable instructions that cause the existing entries to be rendered in the calendar view.

8. When executed by the one or more processors of the one or more computers, the one or more computers are identifying a range of times during which the meeting time is likely to occur based at least in part on the one or more communication messages; 7. The tangible, non-transitory computer readable medium of claim 6, comprising computer readable instructions that cause the calendar view to render a default view that includes a range of times during which the meeting times are likely to occur.

9. The missing meeting parameters include a meeting location, and the computer-readable medium, when executed by the one or more processors of the one or more computers, causes the one or more computers to:

3. The tangible, non-transitory computer-readable medium of claim 2, comprising computer-readable instructions for generating, within the meeting suggestion generator GUI element, a location view, the location view including location suggestion affordances that enable selection of one or more locations to suggest for the meeting.

10. When executed by the one or more processors of the one or more computers, the one or more computers are identifying a location range within which the meeting location is likely to occur based at least in part on the one or more communication messages; The tangible, non-transitory computer readable medium of claim 9 , comprising computer readable instructions that cause a default view to be rendered within the location view, the default view comprising the location range.

11. When executed by the one or more processors of the one or more computers, the one or more computers are Querying a location provider for keywords associated with the meeting type; receiving a list of locations associated with the keywords; 11. The tangible, non-transitory computer-readable medium of claim 10, comprising computer-readable instructions that cause display within the location view a selectable affordance for each of the locations that enables the location to be selected as satisfying a meeting location proposal.

12. When executed by the one or more processors of the one or more computers, the one or more computers are in response to determining that the meeting parameters are not missing from the one or more communication messages, rendering in the first communication application GUI, the second communication application GUI, or both, a recommendation for generating an electronic calendar entry for the meeting; receiving a second GUI input providing a response to the recommendation to create the electronic calendar entry for the meeting, the second GUI input indicating creating the electronic calendar entry; 2. The tangible, non-transitory computer-readable medium of claim 1, comprising computer-readable instructions that, in response to receiving the second GUI input, cause generating the electronic calendar entry in an electronic calendar application having meeting parameters extracted from the one or more communication messages.

13. 1. A computer-implemented method comprising: identifying, via a processor, an indication of a meeting between a first user of the first electronic device and a second user of the second electronic device based on one or more communication messages provided between a first electronic device and a second electronic device, the one or more communication messages being generated via a first communication application graphical user interface (GUI) of the first electronic device, a second communication application GUI of the second electronic device, or both; determining, via the processor, in response to identifying the indication of the meeting from the one or more communication messages, whether meeting parameters are missing from the one or more communication messages; in response to determining that the meeting parameters are missing from the one or more communication messages, rendering, via the processor, in the first communication application GUI, a recommendation for generating an electronic calendar proposal for the meeting; receiving, via the first communications application GUI, a GUI input providing a response to the recommendation, the response to the recommendation indicating generating the electronic meeting proposal; in response to receiving the GUI input, rendering, in the first communications application GUI, a meeting proposal generator GUI element, the meeting proposal generator GUI element including an affordance for inputting the missing meeting parameter; in response to determining that the meeting parameters are not missing from the one or more communication messages, rendering in the first communication application GUI a recommendation for creating an electronic calendar entry for the meeting; receiving a second GUI input providing a response to the recommendation to create the electronic calendar entry for the meeting, the second GUI input indicating creating the electronic calendar entry; and in response to receiving the second GUI input, generating the electronic calendar entry in an electronic calendar application having meeting parameters extracted from the one or more communication messages.

14. The meeting parameters are missing, receiving an indication of the missing meeting parameter via the affordance; and and generating a meeting suggestions data object including the missing meeting parameters.

15. extracting one or more non-missing meeting parameters from the one or more communication messages; providing the one or more non-missing meeting parameters in the generated meeting proposal data object; rendering a meeting suggestions data object icon representing the meeting suggestions data object within a message input affordance configured to allow a user to input a communication message to be sent; Receiving an indication of an interaction with the message sending affordance; in response to receiving the instruction, transmitting the meeting proposal data object to the second electronic device; 15. The computer implemented method of claim 14, comprising:

16. 11. A computer-implemented method, the missing meeting parameters including a meeting time, the computer-implemented method comprising: generating, within the meeting suggestion generator GUI element, a calendar view, the calendar view including a timeslot suggestion affordance that allows selection of multiple timeslots to suggest for the meeting; Querying a local electronic calendar application for existing entries via a calendar interface communicatively coupling said electronic calendar application and said meeting suggestion generator GUI element; and rendering the existing entries in the calendar view.

17. identifying a range of times during which the meeting time is likely to occur based at least in part on the one or more communication messages; rendering a default view in the calendar view that includes the time range in which the meeting time is likely to occur; 20. The computer implemented method of claim 16, comprising:

18. 11. A computer-implemented method, the missing meeting parameters including a meeting location, the computer-implemented method comprising: generating, within the meeting proposal generator GUI element, a location view, the location view including location proposal affordances that allow selection of one or more locations to propose for the meeting; Querying a location providing service for keywords associated with a meeting type; receiving a list of locations associated with the keywords; and displaying within the location view a selectable affordance for each of the locations to enable the location to be selected as satisfying a meeting location suggestion.

19. 1. A system comprising: Memory, one or more processors, the one or more processors Hosts communication applications, identifying within the communications application an indication of a meeting between a first user of the first electronic device and a second user of the second electronic device based on one or more communication messages provided between a first electronic device and a second electronic device, the one or more communication messages being generated via a first communications application graphical user interface (GUI) of the first electronic device, a second communications application GUI of the second electronic device, or both; determining whether meeting parameters are missing from the one or more communication messages in response to identifying the indication of the meeting from the one or more communication messages; in response to determining that the meeting parameters are missing from the one or more communication messages, rendering in the first communication application GUI a recommendation for generating an electronic calendar proposal for the meeting; receiving, via the first communications application GUI, a GUI input providing a response to the recommendation, the response to the recommendation indicating generating the electronic meeting proposal; in response to receiving the GUI input, rendering, in the first communications application GUI, a meeting proposal generator GUI element, the meeting proposal generator GUI element including an affordance for inputting the missing meeting parameter; in response to determining that the meeting parameters are not missing from the one or more communication messages, rendering in the first communication application GUI a recommendation for creating an electronic calendar entry for the meeting; receiving a second GUI input providing a response to the recommendation to create the electronic calendar entry for the meeting, the second GUI input indicating creating the electronic calendar entry; The system is configured to, in response to receiving the second GUI input, generate the electronic calendar entry in an electronic calendar application having meeting parameters extracted from the one or more communication messages.

20. the meeting parameters are missing, and the one or more processors: Extracting one or more non-missing meeting parameters from the one or more communication messages; receiving an indication of the missing meeting parameters via the affordance; generating a meeting proposal data object including the one or more non-missing meeting parameters and the missing meeting parameter; rendering a meeting suggestions data object icon representing the meeting suggestions data object within a message input affordance configured to allow a user to input a communication message to be sent; receiving an instruction to interact with the message sending affordance; 20. The system of claim 19, configured to transmit the meeting proposal data object to the second electronic device in response to receiving the instruction.

Citation Information

Patent Citations

  • Map retrieval device, map retrieval method, and map retrieval program

    JP2018045694A

  • Facility search system, facility search method, and facility search program

    JP2020126540A

  • Communication terminal, sharing system, event registration method and program

    JP2020187559A

  • Reception management system, reception management device, reception management method, reception management program

    JP2021193609A

  • Conference management system, conference management method, document preparation system, and document preparation method

    JP2023001849A